![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
C202044zxy
这个作者很懒,什么都没留下…
展开
-
[SDOI2016] 游戏
一、题目点此看题二、解法原创 2020-11-29 16:44:32 · 199 阅读 · 0 评论 -
[nowcoder 2020] 牛半仙的妹子Tree
一、题目点此看题二、解法这题是个套路题,两种方法都是套路(我都见过但是不会应用,该反思!)0x01 树链剖分原创 2020-10-23 21:09:26 · 215 阅读 · 0 评论 -
[unknown OJ] 爬树
一、题目点此看题二、解法考试时候太native\tt nativenative了,以为这是一道简单的数据结构题,然后我无脑刚,结果是我写+++调搞了666个小时才搞出来,呃呃呃。首先我们来看如果计数,要考虑下面这种最简单的情况(暂时先不考虑空位能填值域限制):蓝色的表示空位,由于每个颜色不降,填的时候可以看成相对于上一个增加的量,那么总增加量是b−ab-ab−a,一共的未知数是n+1n+1n+1个(空位数量为nnn,因为到最后一个空位可能还没有填满,还要一个未知数来增加到bbb),这样的方案数是原创 2020-09-23 15:20:52 · 191 阅读 · 0 评论 -
[HNOI2015]开店
一、题目点此看题原创 2020-09-11 09:07:31 · 134 阅读 · 0 评论 -
CF1111E Tree
一、题目点此看题二、解法这道题不要被题目特点限制思路了,不一定是虚树的题目。有一个简单的dpdpdp,设dp[i][j]dp[i][j]dp[i][j]为前iii个数划分成jjj组的方案数,转移考虑第iii个数怎么划分,他不能和他的祖先划分到一起,设他的祖先个数为fff,那么他可以划分到的组别有max(0,j−f)max(0,j-f)max(0,j−f)组(因为一个点的祖先和祖先也存在冲突,所以祖先和祖先一定在不同组别),还可以独自划分一组:dp[i][j]=dp[i−1][j]×max(0,j原创 2020-08-19 22:05:53 · 252 阅读 · 1 评论 -
[GXOI/GZOI2019]旧词
一、题目点此看题原创 2020-04-18 11:43:19 · 178 阅读 · 0 评论 -
[BZOJ 3252]攻略
一、题目题目描述给定一个有点权的有根树,每次选择一个叶子节点,把它到根的路径全部算贡献,同一个点不重复贡献,问kkk此选择之后的最大贡献是多少,根节点为111数据范围n≤200000,1≤value≤231−1n\leq200000,1\leq value\le2^{31}-1n≤200000,1≤value≤231−1二、解法对原树树链剖分,只不过我们是把一个点到子树内叶子的最大权值...原创 2020-04-02 22:03:21 · 204 阅读 · 0 评论 -
CF980E The Number Games
一、题目点此看题二、解法最重要的条件就是:第i个省出来的代表有2^i名粉丝,我们不能贪心删最小的叶子,而应该贪心倾尽全力保留编号最大的点。我们要维护一个联通块,nnn点肯定在其中,那我们可以nnn为根建这棵树,考虑从大到小加入点,一个点被加入联通块就需要它到根的路径都被加入联通块,我们查询它到根路径上未被加入的点数,看都加入会不会爆kkk的限制。别看数据1e61e61e6,树链剖分猛如虎...原创 2020-02-09 11:04:59 · 161 阅读 · 0 评论 -
BZOJ 2164 采矿
一、题目点此看题题目描述浩浩荡荡的cg大军发现了一座矿产资源极其丰富的城市,他们打算在这座城市实施新的采矿战略。这个城市可以看成一棵有n个节点的有根树,我们把每个节点用1到n的整数编号。为了方便起见,对于任何一个非根节点v,它任何一个祖先的编号都严格小于v。树上的每个节点表示一个矿点,每条边表示一条街道。作为cg大军的一个小队长,你拥有m个部下。你有一张二维的动态信息表,用Ti,j表示第i行...原创 2020-01-07 20:40:20 · 275 阅读 · 0 评论 -
遥远的国度
一、题目点此看题二、解法这道题换根操作很有意思,容易发现换根对修改是没有影响的,考虑根对询问uuu的影响:uuu就是rtrtrt,直接输出整棵树的最小值rtrtrt在uuu的子树内,考虑找出uuu在rtrtrt方向上的第一个儿子vvv,答案就是全集-v子树,由于vvv子树的连续的一段,我们可以把询问拆成两段,分别是[1,numv−1],[numv+sizv,n][1,num_v-1],...原创 2020-01-07 10:22:49 · 142 阅读 · 0 评论 -
[SDOI2011]染色
一、题目点此看题二、解法这道题卡了一会,看过网上的题解,都没懂,讲一下我自己yyyyyy的一种解法。首先维护每个点的最左颜色lclclc,最右颜色rcrcrc,总颜色段数,和颜色覆盖标记,合并A,BA,BA,B时就判断A.rc=B.lcA.rc=B.lcA.rc=B.lc是否成立,成立就把总颜色段数减一。这个合并可以重载加法,懒标记的处理也不难,线段树基本操作就可以维护剖分树链。最有意思...原创 2020-01-06 20:38:13 · 118 阅读 · 0 评论 -
[LNOI2014]LCA
一、题目点此看题二、解法考虑对于dep[lca(u,v)]dep[lca(u,v)]dep[lca(u,v)]的另类求法,我们先把(1,u)(1,u)(1,u)的树上路径权值加111,然后对(1,v)(1,v)(1,v)的点权求和。这样做有什么好处呢?既然是求和,可以把一大堆东西一起算。我们考虑把一个询问拆成两个,就变了前缀和的询问,我们逐个加入(1,i)(1,i)(1,i),每一次就顺便...原创 2019-11-22 19:11:10 · 139 阅读 · 0 评论 -
[SDOI2014]旅行
一、题目及数据范围点此看题二、解法这题一看就是树链剖分(可是菜鸡作者不会)。点此自学树链剖分现在好了,默认大家都会树链剖分。我们对于每一种宗教,维护一个线段树,存tottottot和maxmaxmax。但是这题有1e51e51e5,这样开不是开玩笑?所以我们要动态开点。由于我们要维护的是每一条树链的信息,再经过合并输出答案,所以我们不需要去处理树链中没有出现过的宗教,且对于每一宗...原创 2019-08-04 22:06:58 · 155 阅读 · 0 评论 -
[AHOI2005]航线规划
一、题目点此看题题意:略说明/提示:我们保证无论航线如何被破坏,任意时刻任意两个星球都能够相互到达。在整个数据中,任意两个星球之间最多只可能存在一条直接的航线。数据范围1≤N≤30000,1≤M≤100000,1≤Q≤400001\leq N\leq 30000,1\leq M\leq 100000,1\leq Q\leq 400001≤N≤30000,1≤M≤100000,1≤Q≤4...原创 2019-08-14 12:55:10 · 279 阅读 · 0 评论 -
树链剖分换根
一、题目电磁看题二、解法这道题总体很板,不过换根的操作很清奇,我们来详细讨论一下。可以发现换根对路径查询&修改没有影响。我们考虑不改变树的形状,分类讨论换根对子树查询&修改的影响:1、如果u=rootu=rootu=root,则直接操作整棵树。2、如果lca(u,root)̸=ulca(u,root)\not=ulca(u,root)̸=u,即根不在uuu的子树内,...原创 2019-09-15 23:14:47 · 1041 阅读 · 2 评论