Icefox的博客

生活不止眼前的苟且,还有诗和远方。

6.24NOI 模拟赛

A.小w、小j和小z 我可能是个傻子,两个人i,j相撞的要求就是 si<sj,ti>tj或者si>sj,ti<tjsi<sj,ti>tj或者si&...

2018-06-24 23:03:03

阅读数:32

评论数:0

bzoj4455 [Zjoi2016]小星星(容斥原理+状压枚举+树形dp)

首先我们有一个树形状压dp的想法,f[x][i][S]表示x节点,匹配原图的i节点,子树匹配了原图S状态的点的方案数,这样可以保证一一对应,不重不漏,可惜复杂度高达O(n33n)O(n33n)O(n^33^n),无法承受。 我们考虑容斥,用树上n个点匹配原图n个点的所有方案-匹配原图n-1个点的...

2018-06-20 10:03:38

阅读数:31

评论数:0

bzoj4712 洪水(树形动态dp,树链剖分+线段树二分/链分治)

首先考虑不带修改的话,f[x]表示切断x与子树内的叶子的最小花费,有 f[x]=min(v[x],s[x]),s[x]=∑y∈son[x]f[y]f[x]=min(v[x],s[x]),s[x]=∑y∈son[x]f[y]f[x]=min(v[x],s[x]),s[x]=\sum\limits_...

2018-06-17 22:57:46

阅读数:41

评论数:0

bzoj1864 [Zjoi2006]三色二叉树(树形dp)

dp[x][0/1]表示x绿/不绿 子树内的绿点个数最多/少。 分别转移一下即可。 #include <bits/stdc++.h> using namespace std; #define ll long long #define inf 0x3f...

2018-06-17 11:10:25

阅读数:38

评论数:0

bzoj2164 采矿(树形背包dp+线段树优化+链剖)

首先我们如果能预处理出dp[x][j]表示x子树内分配j个人最大获益,然后每次询问O(m)的循环一下,还需要知道在链上某一个点分配m-j个人的最大获益,我们发现这个东西可以放在线段树上树剖来维护。但是有修改的话我们预处理的那个dp数组就gg了,怎么办呢qaq 我们发现其实这个dp数组也可以直接在线...

2018-06-15 10:45:20

阅读数:28

评论数:0

bzoj4557 [JLoi2016]侦察守卫(树形dp)

这个树形dp没想出来…好菜orz 首先考虑如果覆盖了一个点x,那么对于他的一个儿子y来说,它的子树内的前D-1层可以不用覆盖了,只需覆盖剩余点即可。 因此我们考虑设计状态f[x][j],表示x子树外面的点已经帮着覆盖了前j层,覆盖子树内剩余必须点的最小花费。(x为第一层) 转移也很明显:f[...

2018-06-13 21:09:06

阅读数:42

评论数:0

bzoj4871 [Shoi2017]摧毁“树状图”(树形dp)

求用两条边不相交路径最多可以把一棵树分成几个连通块。 细节繁多的树形dp囧 orz ltx 这个人有图呢!portal 大概就是讨论一下不同的链形态怎么转移qaq #include <bits/stdc++.h> using namespace ...

2018-06-12 23:48:37

阅读数:36

评论数:0

bzoj4033 [HAOI2015]树上染色(树形dp)

这题确实有些意思。 考虑f[i][j]表示i子树内选了j个黑点的…什么呢? 这个状态好像不太好设计,因为只管子树内的话子树外的就没机会考虑进答案了qaq 我们考虑一条边w对答案的贡献,一定是w* (左边的白点* 右边的白点+左边的黑点 * 右边的黑点),因此我们可以设计状态为 f[i][j]...

2018-06-11 20:53:22

阅读数:99

评论数:0

bzoj4753 [Jsoi2016]最佳团体(分数规划+树形背包)

分数规划,二分答案,变成树上依赖背包。 复杂度O(nklog1e9)O(nklog1e9)O(nklog1e9) #include <bits/stdc++.h> using namespace std; #define ll long long #...

2018-06-11 19:57:41

阅读数:120

评论数:0

bzoj5314 [Jsoi2018]潜入行动(树形背包)

dp[x][k][0/1][0/1]表示x子树内放置了恰好k个,x放没放,x有没有被监视到的方案数。 看上去O(nk2)O(nk2)O(nk^2),但是用sz精细实现的话应该是O(nk)O(nk)O(nk)的。 具体转移见代码。还是挺简单的qaq #include &...

2018-06-11 17:09:35

阅读数:84

评论数:0

bzoj5290 [Hnoi2018]道路(树形dp)

妈妈终于有我会做的题了x f[x][i][j]表示x节点上面有i条公路未修,j条铁路未修的最小花费。 叶子节点直接算贡献,其他节点无非两种决策,修公路/铁路,相应的儿子状态的和取最小即可。 i+j<=40. 直接开空间开不下可以压一下。 复杂度O(n202)O(n2...

2018-06-10 23:28:25

阅读数:56

评论数:0

bzoj5287 [Hnoi2018]毒瘤(树形dp+枚举+虚树)

求一张连通无向图的独立集个数。特点是边数-点数<=11. 首先如何求一棵树的独立集个数呢?我们可以树形dp: f[x][0/1]表示x子树内不选/选根x的独立集个数。我们有转移: f[x][0]=∏(f[y][0]+f[y][1])f[x][0]=∏(f[y][0]+f...

2018-06-07 20:56:09

阅读数:62

评论数:0

loj2587「APIO2018」铁人两项(圆方树+树形dp)

我们考虑暴力枚举起点和终点a,c,那么合法的b的就是a到c的所有简单路径的并。 我们搞出圆方树,圆点点权为-1,方点点权为点双大小,那么要求的就是树上圆点a到c的路径和。 所以答案就是圆方树上所有圆点两两之间的路径和。 考虑树形dp解决这个问题。 计算每一个点在多少条路径上即可。 复杂度...

2018-06-01 08:02:40

阅读数:165

评论数:0

bzoj2466 [中山市选2009]树(树形dp)

第一眼Gauss解异或方程组+爆搜自由元。 在网上发现了另一种很优秀的O(n)O(n)O(n)树形dp orz gxz CQzhangyu f–嗯x,g–不嗯x 1–开着 0–关着 如果嗯x,要求儿子y一定要是0 如果不摁x,要求儿子y一定要是1 再枚举儿子摁没摁来转移即可。 #...

2018-05-26 18:58:42

阅读数:36

评论数:0

hdu5909 Tree Cutting(树形dp+fwt)

首先关于fwt:许久的坑,终于填上了。 讲得很好:portal fwt就是求Ck=∑i?j=kAi∗BjCk=∑i?j=kAi∗BjC_k=\sum\limits_{i?j=k}A_i*B_j,其中?为二元位运算符,^,|,&等等。 我们要构造出一种变换形式,类似ff...

2018-05-25 13:08:40

阅读数:45

评论数:0

bzoj5333/loj2566 [Sdoi2018]荣誉称号(树形dp)

如果把⌊i2⌋⌊i2⌋\lfloor \frac{i}{2}\rfloor看做i的父亲,那么这显然是一棵完全二叉树。 题目就是要求每个点i往上跳k条边,这k+1个点的权值和%m==0. 不难看出,权值只在%m意义下讨论即可,而且如果确定了前k+1层的点,剩下的点的权值是唯一的。 因此我...

2018-05-24 22:10:07

阅读数:38

评论数:0

loj2478/bzoj5252「九省联考 2018」林克卡特树(树形dp+wqs二分)

首先我们考虑k<=100的60分做法。 原题等价于求恰好K+1条点不相交的路径和最大。 我们可以直接树形dp,dp[x][j][0/1/2]表示x子树内选了j条路径,du[x]=0/1/2的最大值。复杂度O(nk)O(nk)O(nk) 我们考虑怎么优化这个dp。...

2018-05-14 22:37:11

阅读数:50

评论数:0

loj2473/bzoj5250「九省联考 2018」秘密袭击(树形背包dp)

求树上所有连通块的权值第K大的和。 正解大概fft的本质吧qaq不会qaq 还好暴力可过。 我们考虑枚举每一个点,计算它对答案的贡献,即以这个点为第K大的连通块个数。为了避免重复,相等的我们也要钦定大小关系。 我们把所有点按点权从大到小排序,以这个点为根,之前的点标1,其余点标0.我们就是...

2018-05-11 20:31:07

阅读数:55

评论数:0

bzoj3611 [Heoi2014]大工程(虚树+lca+树形dp)

关键还是在于K个点两两之间的lca最多只有k-1个。 因此我们可以建出虚树,然后一遍dp求出所有答案。 复杂度O(K)O(K)

2018-04-25 22:10:35

阅读数:32

评论数:0

bzoj3572 [Hnoi2014]世界树(虚树+树形dp+倍增+二分)

首先我们还是针对每一次询问建出虚树。在虚树上搞事情,这样复杂度就只与关键点个数有关了。我们考虑一棵虚树怎么统计答案。我们首先两遍dfs求出虚树上每个点最近的关键点,记作bel。 然后考虑虚树上的每一条边x->y.首先倍增的求出x在原树上的儿子(即x->y路径上的第一个点z)。那么原树...

2018-04-25 20:51:00

阅读数:51

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭