摘要: 题意 给两个编辑序列,描述删除一个位置上的字符,在某个位置之前插入一个字符,问这两个编辑序列是否对于任意足够长的文本都等价 做法 转化成另一种描述方式,即原串某位置上的字符被删除了,以及在编辑后的串中某位置上的字符是插入的,然后比较这种描述是否相同即可。 阅读全文
posted @ 2017-11-20 16:39 ichneumon 阅读(281) 评论(0) 推荐(0) 编辑
摘要: We normally have to reset flip-flops, thus every time the clock makes the transition from 0 to 1 (posedge), we check if reset is asserted (synchronous 阅读全文
posted @ 2017-11-20 09:23 ichneumon 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 平衡树板子题,虽然似乎有着高妙的树状数组搞法,但本着用用pb_ds这种bug库的存在,就没管了orz 阅读全文
posted @ 2017-11-07 20:08 ichneumon 阅读(302) 评论(0) 推荐(0) 编辑
摘要: i被消除,当且仅当剩下的数的数目刚好为i,那么模型可以转化为对于i,从第i个位置往前放数,表示cast a spell of i时能把这一块都消去,对于没有数的空白显然需要补上才能愉快地继续消,显然需要修改的次数就是空白的数量。 有修改操作也同样可以维护。 阅读全文
posted @ 2017-10-12 07:38 ichneumon 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 抄lrj的板子抄错了gg,然后还要顺时针输出,没了 计算几何板子++ 圆的切线 阅读全文
posted @ 2017-10-09 09:59 ichneumon 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 数据结构homework出这种题简直丧心病狂好吧。。 注意题意没说请的下落其实就是消去一行的上面所有点高度统一减小1,于是会有悬空的情况出现——怕是假的俄罗斯方块= = 做法就是每列维护一个链表,里面的节点表示一个方块,同一行的方块同时连向一个表示行高的头节点。 插入一个新方块就在每个链表的尾部操作 阅读全文
posted @ 2017-09-30 17:58 ichneumon 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 题意 给出两个数A和B,要求在其中填入N个数字,使得相邻两个数字之差的绝对值在C到D之间 做法 即要构造N个绝对值在CD之间的数其和为B-A,考虑有m个大于0,N-m个小于0,在这样的情况下的和的范围是$[Cm-(N-m)d, Dm-(N-m)C]$,枚举m依次check即可 阅读全文
posted @ 2017-09-23 09:29 ichneumon 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题意 给出两棵树,要求给两棵树上相同编号的点赋值,使得每个点的子树权值和的绝对值为1 做法 如果某个编号代表的点在一棵树中的儿子数为奇数而在另一棵树中的儿子数为偶数,那么无论这个位置填什么都不可能,否则可以构造只填0,1,-1的方案。具体做法是,分别考虑两棵树,如果一个点的儿子数为奇数,那么这个点填 阅读全文
posted @ 2017-09-23 08:32 ichneumon 阅读(472) 评论(0) 推荐(1) 编辑
摘要: 题意 给出平面上三块不相交的从左上到右下排列的三块区域,求分别从这三个区域中挑一个点构成的路径方案数的和 做法 首先考虑转化求路径的方案数的式子。发现对于从原点出发,到$(x,y)$内所有点的所有可能路径数就是${x+1+y+1\choose x+1}$,于是可以枚举中间那个区域选哪个点,然后通过那 阅读全文
posted @ 2017-09-08 13:36 ichneumon 阅读(568) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个n个点的带边权的树,再给出一个n个点的完全图,其中每两个点之间的距离为这两个点在树上的距离,求最大的哈密顿图。 做法 直接考虑在树上的游历,如果存在一条边把树分成大小相同的两半,然后在两半中的点中交替走,这样子显然是最优的,因为每条边都会达到可能的最多的访问次数;否则必然存在一个点(重 阅读全文
posted @ 2017-09-07 22:40 ichneumon 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 题意 给定长l的环上的n个人,每个人有给不相同的速度和位置,相遇时编号大的存活,问最后留存一个人时的时间 做法 直接用堆来模拟即可 阅读全文
posted @ 2017-08-20 15:44 ichneumon 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求$$f_i=(i-1)!\sum_{j=0}^{i-1}(i-j)^2{f_j\over j!}$$ 简要题解 为求$f_i$我们需要知道$f_0,\cdots,f_{i-1}$,考虑cdq分治,把卷积拆开成关于已知的$f_i$和还没计算出来的部分,发现已知部分还是卷积形式,求出来累加上 阅读全文
posted @ 2017-07-14 12:10 ichneumon 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求第x个Decibinary Number,顺序为先按其十进制的值升序再按字面值升序。 简要题解 dp,设$f[i][j]$表示值为i,长度为j时的DN数目,然后就显然了。 注意dp第二维大小的设置,有10000...00这种DN存在,故而第二维大小应该是$\log_2(\sum_{i=0 阅读全文
posted @ 2017-07-12 14:36 ichneumon 阅读(377) 评论(0) 推荐(0) 编辑
摘要: cdq分治+树状数组 很久没写cdq分治了,大概有两年了? 求答案最小字典序有个小trick,倒着求一个f[i]表示以i开始最长的序列长度,最后输出的时候从前往后扫f,第一个等于答案且满足前面已经选定的点带来的限制的点就可以添加到答案序列里来。 cdq分治求解中先处理后半部分,再计算后半部分的贡献, 阅读全文
posted @ 2017-07-02 14:54 ichneumon 阅读(209) 评论(0) 推荐(0) 编辑
摘要: $O(n^2)$建Voronoi图,求对偶图后BFS即可 用Canvas写了个可视化 想写增量算法和Fortune算法,可是我好菜啊orz point的cmp写错了,调试了很久,要一直记得精度啊,用sgn函数,否则不满足偏序 半平面交抄板子都能抄错orz 此外写代码最好一气呵成,别磨叽,这东西我写了 阅读全文
posted @ 2017-06-30 23:35 ichneumon 阅读(336) 评论(0) 推荐(0) 编辑