03 2021 档案
摘要:KMP算法的应用,第一遍做想的有点复杂,想开一个hash数组维护,实践时候才发现兜兜转转一圈徒增代码复杂度,最后时空复杂度也上来了。好的算法一个很重要的特性就是可编写性。 #include <iostream> #include <algorithm> #include <queue> #inclu
阅读全文
摘要:关于read函数使用有一些不太能理解的问题出现,在我读完之后选择以一个字符一个字符输出(上限利用read返回值)这种方式得出的结果是和输入一致的,但是直接Printf,可以发现我的字符数组不知道被谁动了,而且恰好是最后一句的重复,倘若结尾多加一个换行符还会有奇怪现象出现。 回到这道题本身,就是简单的
阅读全文
摘要:杭电上关于manacher一道应用,做完POJ的,顺手过了这道题 #include <iostream> #include <algorithm> #include <queue> #include <string> #include <vector> #include <stack> #inclu
阅读全文
摘要:字符串中关于回文串处理,非常经典的Manacher算法 关键思想在于,我们使用中心扩展的时候,这种回文的轴对称其实已经为我们提供了一些关于当前正在讨论的对称轴的信息。当前我们正在讨论的对称轴如果恰好位于我们保存的一个全局回文串中,我们可以利用镜像对称(当前对称轴关于全局回文串中心的对称点)帮助我们获
阅读全文
摘要:也许是不甘心深藏的梦想,也许是痛恨自己的懦弱。 不管怎么样,接下来请笃定认真走下去吧 本题利用暴力也是可以做的,不过是在练习KMP的思路,所以,还是利用了KMP进行优化。 中间出过一个很久的bug,原来是初始化没有做好,还是编程习惯的问题吧。 #include <iostream> #include
阅读全文
摘要:KMP中的next起到了至关重要的作用,在本题中,就是对于KMP这一核心构件的理解 说穿了,KMP中next数组一个很巧妙的地方在于不要在同一个地方跌倒两次 但是对于这道题,如果直接使用next是不符合提议的,单纯使用next会导致我们丢失一部分解(测试样例里面的aaaaa就是个好例子),因此,对于
阅读全文
摘要:这是CDQ大佬在叙述她的插头DP方法时候引用到的例题,运用非常巧妙的对于原图的简单重构,将问题等价转化为简单回路问题。 对于简单回路问题,CDQ大佬在她的论文中详细叙述了如何将问题状态转化为一个括号匹配的问题,思想非常每秒 另外,过程DEBUG时间有点长其实对于刷题找手感来说是不好的,主要是kuan
阅读全文
摘要:第一次了解插头DP,后来一点点索引到了CDQ大佬那篇08年度集训队论文,只是看了一点点开头,思路确实很精妙,orz。然而开始还并没领会,参考了部分别的犇的代码,才有了整体框架思路,关于进制和哈希方法的套路才得以窥知一二。 进位制采用$2^n$进制,即使冗余,但这从计算机角度思考才是最优的. 这篇题解
阅读全文
摘要:此题更合适的解法应该使用左偏树,或者很神奇的DP加脑洞,不过在理解DP脑洞时候发现了更惊艳的做法思路见C题 留个坑,之后补左偏树做法吧 #include <iostream> #include <algorithm> #include <queue> #include <string> #inclu
阅读全文
摘要:叙述比较xiong残的一道题.... 需要注意一点,劳模奶牛歇够可以无缝衔接工作(对应判断条件是等号的意思)...因此不幸贡献了一发WA #include <iostream> #include <algorithm> #include <string> #include <vector> #inc
阅读全文
摘要:水题,思路很简单,不过这里有一个另一思路,也蛮有启发性的(关于状态定义) #include <iostream> #include <algorithm> #include <string> #include <vector> #include <cstdio> #include <cstring>
阅读全文
摘要:同入学当时一块交流的朋友都已经发了CVPR,我却还在这里摸鱼焦虑,振作起来振作起来 水题,每次就两种选择,这样就基本上帮我们定义了状态和状态转移方程 #include <iostream> #include <algorithm> #include <string> #include <vector
阅读全文

浙公网安备 33010602011771号