这个题看起来好神的感觉.实际上也好神... 我们可以考虑设 $f_u$ 表示以 $u$ 为根的子树中最多能删多少个点, 再设 $g_u$ 表示以 $u$ 为根的子树中删了 $f_u$ 个点之后,$u$ 的 $son(i) + c_i$ 的最小值. 然后就可以树形 Dp 啦. 转移的话,考虑 $u$ 的孙子及更后辈,有: $$f_u += \sum_{v\in \{son_u\}}f_v$$ 然后考虑可以 $u$ 的哪些儿子. 首先删掉一个点 $x$ 的话,会对 $fa_x$ 的载重产生 $g_x…
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4027 [题目大意] 樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接, 我们可以把它看成一个有根树结构,其中0号节点是根节点. 这个树的每个节点上都会有一些樱花,其中第i个节点有c_i朵樱花. 樱花树的每一个节点都有最大的载重m,对于每一个节点i, 它的儿子节点的个数和i节点上樱花个数之和不能超过m,即son(i)+c_i<=m, 其中son(i)表示i的…
题目直接摆在这里! 1051: [HAOI2006]受欢迎的牛 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4438  Solved: 2353[Submit][Status][Discuss] Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎.你的任务是求出有多少头 牛被所有的牛…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4032 序列自动机其实就是每个位置记录一下某字母后面第一个出现位置,为了子序列能尽量长. 对字符串B建一个后缀自动机,一个序列自动机,然后让A在上面找即可: 1.枚举A每个位置开始的子串,在SAM上走,失配就找到了: 2.枚举A子串,用B的序列自动机找失配处: 3.设 f[i][j] 表示A串前 i 个字符形成的子序列对应SAM上节点 j 时的最短子序列长度,可以转移: 4.f[i][j]…
[Feyat cup 1.5]Str DescriptionArcueid,白姬,真祖的公主.在和推倒贵看电影时突然对一个问题产生了兴趣:我们都知道真祖和死徒是有类似的地方.那么从现代科学的角度如何解释呢?自然就得研究遗传密码了.Arcueid得知了两者的DNA片段,想寻求一个DNA片段,使得其在两者的DNA中都出现过.我们知道公主的脑袋有点不太灵活,如果两个DNA片段只有一个位置不同,她也会将其认为是相同的.所以请您找出这样的最长的DNA片段吧.Input两行,每行一个字符串.Output一个…
--BZOJ http://www.lydsy.com/JudgeOnline/problem.php?id=3809 考虑对l,r跑莫队,对一组维护美丽度出现次数的桶修改, 然后把桶序列用分块维护查询 然后是吐槽: 内存28M,哦,这个题居然卡内存..... 卡内存!!! 然后我就为本校的权限号贡献了三次MLE...... 代码: #include<cstdio> #include<cmath> #include<algorithm> using std::sort;…
这个题感觉比较简单,但却比较容易想残.. 我不会用树状数组求这个原排列,于是我只好用线段树...毕竟 Gromah 果弱马. 我们可以直接依次求出原排列的元素,每次找到最小并且最靠右的那个元素,假设这是第 $i$ 次找的,那么这就是原排列的第 $i$ 项,然后我们就把这个元素删去(变成很大的数),再把这个数以左的数都加 1,进行下一轮. 然后就是裸的最长上升子序列啦~~~ 时间复杂度 $O(n\log n)$,空间复杂度 $O(n)$. #include <cstdio> #include &…
4864: [BeiJing 2017 Wc]神秘物质 Description 21ZZ 年,冬. 小诚退休以后, 不知为何重新燃起了对物理学的兴趣. 他从研究所借了些实验仪器,整天研究各种微观粒子.这 一天, 小诚刚从研究所得到了一块奇异的陨石样本, 便迫不及待地开始观测. 在精密仪器的视野下,构成陨石 的每个原子都无比清晰. 小诚发现, 这些原子排成若干列, 每一列的结构具有高度相似性.于是,他决定对单 独一列原子进行测量和测试.被选中的这列共有 N 个顺序排列的原子. 最初, 第 i 个原…
贪心 树上贪心问题……跟APIO2015练习赛的C很像啊…… 我的思路是:从叶子向上考虑,令a[x]表示x这个节点上樱花数量与儿子个数的和(即对于任意的x,都有$a[x]\leq m$)每次从儿子的a值中贪心地选最小的加到当前节点中(当然还要-1),然后就不用管了……因为如果某个儿子不能删去,将后代并入父亲,那么之后也不可能在将父亲删去后,再将这个儿子删去,因为越向上樱花累积的越多,而且这样删过以后儿子也是会加上去的……呃总之就是有这么个性质吧...描述的不是很清楚请见谅. 所以就可以贪心了………
4027: [HEOI2015]兔子与樱花 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它看成一个有根树结构,其中0号节点是根节点.这个树的每个节点上都会有一些樱花,其中第i个节点有c_i朵樱花.樱花树的每一个节点都有最大的载重m,对于每一个节点i,它的儿子节点的个数和i节点上樱花个数之和不能超过m,即son(i) + c_i <…