10 2020 档案
摘要:[LuoGu]P2112 鸿雁传书 (看到标题的你在想什么?) 这道题讲了小明给小红写情书的故事. 题意简化: 给你$n$个字符串,以及$k$,要求把字符串分为$k$行,使得每一行的字母方差最小(不能改变每个字符串的相对位置) 思路 这个字符串屁用没得。我们只需要知道字符串的长度就行了,然后这个就变
阅读全文
摘要:关于后缀排序这玩意应该都知道了......... 看这篇博客你可能需要一点前置知识.......建议先自行了解SA的一些定义. 梳理一下$height$数组的性质、求法以及$LCP(i,j)$的求法 约定几个前置定义: \(Suffix(i)\) :表示后缀$i$ \(SA[i]\) : 表示排名第
阅读全文
摘要:(之前那个格式太丑,重新发一个) 已知:现在有两个正整数$a , b$,同时它们都不是彼此的倍数,而且$a>b$ 求证: $a和b$的最大公因数等于$b$和 \(a\) \(mod\) $b$的最大公因数. 证明: 假设$a与b的最大公因数为d$ 设 \(a = n * d\) , \(b = m
阅读全文
摘要:这道题,人人都说是AC自动机上dp的套路板子,但是他们给的分析蒟蒻死活也听不明白(可能是初学的缘故.......) 好久终于搞懂了,写了这篇题解想造福跟我一样的同胞(应该只有我一个人这么菜......) 题意简化 : 给你$n$个模式串,你需要生成一个长度为$m$的字符串使得至少一个模式串可以匹配成
阅读全文
摘要:没办法,学了又忘了,暑假上课没听懂的锅现在要补...... AC自动机的思想: Trie树 + KMP,但是有人称它为"树上KMP",我觉得也蛮形象的。 确实也是这样子的,AC自动机主要就是运用了KMP类似的思想以及操作:"失配指针"(字符串匹配都是运用已知信息来减少无效匹配次数......) 同时
阅读全文
摘要:吐槽 暑假上的字符串课没听懂几个字,所以现在像在学新算法一样 好像就是在学新算法,不管了 其实讲真的字符串的算法都比较巧妙啊!KMP,AC自动机,Manacher,SAM,这些算法都是思想非常巧妙的,而且代码比较短!所以 很难,学不会 要好好理解 这是本蒟蒻字符串专题学习的第一个算法,为什么不是KM
阅读全文
摘要:官方题解对于思路的讲述已经非常的清晰了. 分享一个个人心得: 线段树对于左右区间的运用 线段树主要就是妙在它的合并区间功能以及对于一个整块进行分治的思想.你会发现,每次线段树的更新基本上都是基于左右儿子这两个左右区间的.对于可以区间维护的信息(基本上也就是可以分裂成子问题的问题),我们总是每次更新后
阅读全文
摘要:这道题我爱了! 思路 看到这题目我直接想到了三值偏序,然后我就开始了不归之路 1.把操作按时间排序,就能离线操作了 2.首先读入的时候各个操作已经默认是按时间排序的了,所以不用考虑时间这一维 接着,操作分两种: (1).添加住户(相当于是把这个点的权值加上一个a) (2).查询住户(查询的这个范围是
阅读全文
摘要:题解:Tarjan + 拓扑排序 + 建图小技巧 观察题目性质,大概就是要Tarjan缩点后通过拓扑排序求出一个一条最长路径(经过的点最多) 难度就在建图这里. 我着重分享一个我的建图技巧: 首先将给出的门按横坐标排序,先处理横门。 如果当前有一个横门,那么我们将它与同一横行的所有边连边,记录下这个
阅读全文
摘要:这一道题目的考点为二分答案 + 模拟 二分答案我换成了是倍增,因为蒟蒻我怕二分答案写错(害怕二分写错的同学可以跟我一起写倍增啊)。 模拟的时候有一个技巧,就是每次记录一下当前所有物品中第一个没有被搬完的坐标点。 然后大力模拟。 这道题一定要开longlong,写倍增的时初始答案一定要足够大(最好开满
阅读全文
摘要:这道题目小心细节啊!! 写在前面的话: 我提交了大概16次才A掉这个题,前12次是因为没有特判循环节长度为0(相信有不少人RE是因为这个原因),也就是没有找到循环节,然后我用k去除以循环节的长度,就疯狂RE. 后面几次是因为不小心写挂了一个地方,导致死循环了。 这道题的解题思路: 观察到给出的两个矩
阅读全文
摘要:题外话: 这道题目的翻译有点小问题,翻译没有说要开文件,但是题目是要求开文件的!我因为这个错了一次,看到错误信息才会看题目发现要开文件: freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); 这是应该开的文件 解题思路:
阅读全文
摘要:这个题目有好多人倍增求LCA会被卡成80分(包括第一次提交的我,然后,我在万神的教导下,使用了优化版的倍增,直接水过去了.....跑得还挺快,最大点700ms(没有优化前1500ms),好吧其实还是卡过去的,用了快读快写,不过这里优化的倍增求LCA还是值得拿起小本子记录一下的哈哈) Code: #i
阅读全文
摘要:好题! 讲真的这道题比较有代表性,比较套路?(bushi考试的时候没写出来(tcl ),菜是原罪 题意: 给你一个序列,序列上每一个元素都属于一种种类,并且每一种元素有其对应的价值,你可以任意取一段区间,计算这段区间中没有重复出现的元素种类的价值之和.你需要最大化这个价值之和. 思路: 这道题看上去
阅读全文
摘要:这道题给我的 启示是一个规律: 树上有两条路径,两条路径的端点分别为(a,b)以及(c,d) 这两条路径相交,则LCA(a,b) 的祖先必然是LCA(c,d)或者是LCA(c,d)的祖先是LCA(a,b), int LA,LB; LA = LCA(a,b); LB = LCA(c,d); if(LC
阅读全文
摘要:水博客! 数列分块入门2: https://loj.ac/problem/6278 给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值x 的元素个数。 题外话: 这玩意坑了我一个上午,woc我看了看题目是求小于,我一直求的是小于等于x的元素个数 思路: 首先分析一下题
阅读全文
摘要:前言(feihua): 这个题目折磨了我大概两个小时,我是在图论的题单里面看到这道题目的。一开始看着,感觉有点像数据结构,但是既然是放在图论里面,怎么可能是单纯的数据结构题!(啪啪打脸,还真的可以纯数据结构) 想出来了一个合理的图论掺杂数据结构的算法,但是我太菜了,找ZCW神仙问了3次才最终写出代码
阅读全文

浙公网安备 33010602011771号