
HDU
Chester_King
虽千万人,吾往矣。
展开
-
【HDU】1512 Monkey King 左偏树
题目传送门题目大意:每次取出两个大根堆的对顶,将这两个节点的键值减半,维护堆的性质,然后将这两个大根堆合并起来,输出堆顶的键值。很明显,这题的大部分时间都用来合并两个大根堆了,所以我们不能用普通的二叉堆,因为普通的二叉堆合并的时间复杂度是O(n)的。考虑到合并的时间复杂度应该降低,我们就想到了左偏树(当然,斜堆、二项堆、斐波那契堆也是可以的),合并操作的时间复杂度是O(logn)的。原创 2017-05-04 19:20:18 · 343 阅读 · 0 评论 -
【HDU】2196 Computer 树形dp
题目传送门博主暴走中……神他妈的HDU,不能用fread读入的!!!我因为这个错WA了10+发……这题的题意就是求每一个节点在树上和它距离最大的点的距离。其实这题的思路还是挺清晰的,我们可以对于一棵有根树的一个非根非叶子节点进行讨论。这个节点的最大距离有两种情况,一种是从以该节点为根的子树的最大距离扩展过来,另一种就是从父亲节点扩展过来。引用一下另一位大佬的图片(看2号节点):原创 2017-06-15 20:22:05 · 227 阅读 · 0 评论 -
【HDU】3586 Information Disturbing 二分+树形dp
题目传送门我又一次感受到了初始化的重要性:我又错在了初始化上了……(多组数据死全家!!!)这题的思想还是挺好的,二分答案加上树形dp,分开来看都挺简单的,但合起来就需要一点脑洞了。我们可以二分一个答案出来,作为题目要求的最大边权值,然后用树形dp来判断这个答案是否成立。综上,这题就被完美的解决啦。附上AC代码:#include #include #include #d原创 2017-06-30 14:11:29 · 319 阅读 · 0 评论 -
图论基础整理
写在最前面:这是一篇很水很水的水博客,如果不无聊的同学就不要点进来了哈。我只是想记录一下今天复习的基础。1.POJ1125、POJ3615这两题都是非常水的floyd。前一题是求图上一节点,使得它到所有点的最大距离最小。显然只要floyd求所有点之间的最短路,然后枚举所有节点作为答案是否成立即可。后一题是更水的多源最短路,初学floyd的同学都能轻松水过。2.HDU2544原创 2017-07-24 15:36:54 · 648 阅读 · 3 评论 -
【HDU】 1269 迷宫城堡 强连通分量
今天,突发奇想,对于强连通分量产生了浓厚的兴趣,于是就想学一学。当然,对于一个初学的蒟蒻来说,Tarjan算法是比较简单易懂的,我选的题目也是比较sh。(因为我打的就是Tarjan)在Tarjan算法里,最难懂的就是一个节点所在子树的最早搜索次序了,这些我都会详细讲解。搜索次序还是比较好懂的,如果会搜索的同学应该都懂什么是搜索次序吧。现在我们假设我们已经搜到节点x,当前搜索树的大小原创 2017-04-05 20:51:31 · 613 阅读 · 0 评论 -
【HDU】3487 Play with Chain Splay
题目传送门这题和“文艺平衡树”那题其实是差不多的,就是在那题的基础上加上了一个区间转移罢了。(姑且把那个“CUT”操作叫成区间转移吧)这题的区间转移和上一题的区间翻转有点类似,依然是把l-1转到根,把r+1转到根的右儿子,取当前根的右儿子的左子树。然后我们可以把给出的c旋转到根,把c+1旋转到根的右儿子,显然现在根的右儿子的左子树为空,我们直接把上面取下来的那个子树放在那个空位置上就行原创 2017-09-25 21:35:07 · 343 阅读 · 0 评论 -
【HDU】4507 吉哥系列故事——恨7不成妻 数位DP
题目传送门挺有意思的一道数位DP题。(本来想用普通的数位DP方法水过,然后就被数据艹了)这题的解题思路是数位DP,但是需要进行一些加工。定义f[i][j][k]表示当前已经(从高到低)处理了i位,数位和%7为j,数字%7为k的状态。状态中记三个值,一个是以当前的数为前缀的合法数字个数c,一个是所有合法数字的数位和sum,一个是所有合法数字的平方和sqr。考虑状态转移,设答案为a原创 2017-10-08 21:19:22 · 398 阅读 · 0 评论 -
【HDU】4787 GRE Words Revenge 二进制分组+AC自动机
题目传送门orz Manchery多次询问可以按时间分治,但可惜这题强制在线。因而引入了二进制分组,就是把当前字符串的数量二进制拆分。比如说当前有10个字符串,就把这10个字符串分成一组8个和一组2个。这样每个字符串最多被重构AC自动机log2n\log_2n,一种优美的暴力二进制分组适用于那些不支持修改的数据结构,AC自动机算一例,凸包也是。附上AC代码:#i原创 2018-01-15 21:08:09 · 462 阅读 · 0 评论