随笔分类 -  树-树分治

【2019ICPC西安邀请赛】J.And And And(点分治,贡献)
摘要:题意:给定一棵n个点带边权的树,定义每条路径的值为路径上边权的异或和 如果一条路径的值为0,其对答案的贡献为所有包含这条路径的路径条数 求答案膜1e9+7 n<=1e5,0<=边权<=1e18 思路: 做法一:点分治 参考https://dudulu.net/blog/?p=1654 考场上还剩2小 阅读全文

posted @ 2019-10-15 16:00 myx12345 阅读(200) 评论(0) 推荐(0)

【HDOJ5977】Garden of Eden(点分治)
摘要:题意:给定一棵n个点的树,每个节点上有一种颜色a[i],一共有k种颜色,问包含所有颜色的路径条数 n<=5e4,k<=10 思路:点分治求方案数 集合并卷积的时候暴力枚举状态即可O(n^logn*2^k) 75e的复杂度 只跑了1.7s 我也是醉了 阅读全文

posted @ 2018-11-19 16:30 myx12345 阅读(156) 评论(0) 推荐(0)

【SPOJ1825】Free tour II (点分治,启发式)
摘要:题意: 边权可能为负 思路: 感觉我自己写的还是太过僵硬了,可以灵活一点,比如可以多写几个不同的dfs求出不同的信息,而不是压到同一个dfs里 阅读全文

posted @ 2018-09-28 00:42 myx12345 阅读(240) 评论(0) 推荐(0)

【BZOJ2599】Race(点分治)
摘要:题意:给一棵树,每条边有权.求一条简单路径,权值和等于K,且边的数量最小. N <= 200000, K <= 1000000 思路:跟着高中学长李日天(迪克李)的课件复习一下树分治 https://wenku.baidu.com/view/ae220cc0ed630b1c58eeb5b3.html 阅读全文

posted @ 2018-09-26 23:24 myx12345 阅读(231) 评论(0) 推荐(0)

【BZOJ1758】重建计划(点分治,长链剖分,线段树)
摘要:题意: 给定一棵n个点的树,每条边有权值。求一条链,这条链包含的边数在L和U之间,且平均边权最大。N﹤=100000 思路: 做法一:RYZ作业 二分答案再点分治,寻找是否有大于0且边数在L和U之间的链 f[i]为当前子树深度为i的链最大总和,g[i]为前几个深度为i的链最大总和 维护一个下标递增, 阅读全文

posted @ 2017-03-13 15:38 myx12345 阅读(213) 评论(0) 推荐(0)

【ZJOI2017 Round1练习】D8T1 mushroom(点分治)
摘要:题意: 思路: num[a[u]]表示存在a[u]这个颜色且终点在u子树中的链长总和 ans[i]表示以当前的u为根,前面的子树对i的贡献之和 阅读全文

posted @ 2017-03-11 12:22 myx12345 阅读(168) 评论(0) 推荐(0)

【BZOJ3697】采药人的路径(点分治)
摘要:题意:采药人的药田是一个树状结构,每条路径上都种植着同种药材。采药人以自己对药材独到的见解,对每种药材进行了分类。大致分为两类,一种是阴性的,一种是阳性的。采药人每天都要进行采药活动。他选择的路径是很有讲究的,他认为阴阳平衡是很重要的,所以他走的一定是两种药材数目相等的路径。采药工作是很辛苦的,所以 阅读全文

posted @ 2017-03-09 16:16 myx12345 阅读(256) 评论(0) 推荐(0)

【HDOJ4812】D Tree(点分治)
摘要:题意: 给定一棵 n 个点的树,每个点有权值 Vi 问是否存在一条路径使得路径上所有点的权值乘积 mod(10^6 + 3) 为 K 输出路径的首尾标号,若有多解,输出字典序最小的解 对于100%的数据,有1≤n≤10^5,0≤K≤10^6+2,1≤vi ≤10^6+2 思路:RYZ作业 预处理逆元 阅读全文

posted @ 2017-03-08 15:37 myx12345 阅读(137) 评论(0) 推荐(0)

【POJ1741】Tree(点分治)
摘要:题意: 思路:点分治论文题 我们知道一条路径要么过根结点,要么在一棵子树中,这启发了我们可以使用分治算法。 记 Depth(i)表示点i 到根结点的路径长度, Belong(i) = X ( X 为根结点的某个儿子,且结点i 在以 X 为根的子树内)。 那么我们要统计的就是: 满足 Depth (i 阅读全文

posted @ 2017-03-08 10:30 myx12345 阅读(111) 评论(0) 推荐(0)

点分治模板
摘要:1 #include 2 #include 3 #include 4 #include 5 #define inf 0x7fffffff 6 using namespace std; 7 int read() 8 { 9 int x=0,f=1;char ch=getchar(); 10 while(ch'9'){if(ch=='-')f=-1;ch=getch... 阅读全文

posted @ 2017-03-08 09:09 myx12345 阅读(111) 评论(0) 推荐(0)

导航