2015年1月26日

摘要: 题意:有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作 每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件 谁没有石子可移时输掉游戏。问先手是否必胜。这个题是一个阶梯博弈的问题。一开始没有接触过,各种度娘然后搞懂了,赶快记下来。何为阶梯博弈?简单... 阅读全文
posted @ 2015-01-26 22:43 MMMoonLighttt 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 按照教练的要求来写一写历年HNOI的题目...挑几道好写的来做题意我就不说了。一开始就被BZOJ上的Tag剧透了个爽,直接省掉70%的思考过程... 很容易可以得出的O(n)递推式 :f[n] = f[n-1] * 10len(n)+ n然后我们考虑如何用矩阵乘法来简化这个式子。因为len(n... 阅读全文
posted @ 2015-01-26 21:06 MMMoonLighttt 阅读(181) 评论(0) 推荐(0) 编辑

2015年1月24日

摘要: 刷了很久计算几何,好歹算是有些收获,总结一下吧。计算几何不同与解析几何,这里大部分使用的是向量和点,而不是解析式。 直线/射线:一个点+一个方向向量。 线段:两个端点。 多边形:按逆时针排序的点集。 圆:圆心+半径。 点积:两个向量的数量积。 叉积:两个向量组成的四边形的有向面积。基础部... 阅读全文
posted @ 2015-01-24 11:13 MMMoonLighttt 阅读(502) 评论(0) 推荐(1) 编辑
摘要: 依旧是数据结构...之前玩的不够爽,本来想去写一发维修数列,后面想了想还是算了... Splay还是比较好玩的,这道题要用到的是Splay的启发式合并... 具体说来,用并查集维护连通性,然后每次合并两块Splay的时候将小的那棵Splay一个个拆下来插入到大的那一棵上。 理论上每个点只会有一... 阅读全文
posted @ 2015-01-24 10:22 MMMoonLighttt 阅读(166) 评论(0) 推荐(0) 编辑

2015年1月13日

摘要: 最近几天写SAM写的烦了...就去找神犇要了一个数据结构题来写。好吧,虽然看起来不是很难,思维难度中等,但是代码复杂度还是有点高的,写了半个下午+晚上一点。总的来说算法有三个:Splay维护hash值(用于字符串比较),二分LCP长度。不会字符串hash和Splay的请先去点前置技能~将整个字符串看... 阅读全文
posted @ 2015-01-13 15:44 MMMoonLighttt 阅读(145) 评论(1) 推荐(0) 编辑

2015年1月11日

摘要: 题意: 一个长度不超过250000的字符串,求出它长度为i的子串最多出现了多少次。 后缀自动机练习题...虽说是用Cube评测的不过时限仍然鬼畜。考虑SAM的性质: 一个串的SAM肯定可以接受这个串的所有子串。SAM上的每一个点代表了一个子串。 主链:SAM上最长的那条链,也就是说从根走... 阅读全文
posted @ 2015-01-11 15:27 MMMoonLighttt 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 题意: 给出最多10个长度不超过100000的字符串,求他们的LCS的长度。时限是鬼畜的0.25s 。后缀自动机练习...虽然有人这么说但我并不觉得hash能过。本题可以说是【论SAM中按step排序更新pre的重要性】: 总的来说做法和1811-LCS有点类似,不同的是因为有多个字符串,因此每... 阅读全文
posted @ 2015-01-11 15:05 MMMoonLighttt 阅读(226) 评论(0) 推荐(1) 编辑

2015年1月9日

摘要: 题意 给你两个字符串,求他们的LCS的长度 N 2 #include 3 #include 4 #include 5 #define maxn 255000*2 6 using namespace std; 7 8 struct node { int s[26],pre; } Suf[m... 阅读全文
posted @ 2015-01-09 21:31 MMMoonLighttt 阅读(571) 评论(1) 推荐(0) 编辑

导航