2019年10月5日

暴力字符串hash——cf1200E

摘要: #include using namespace std; #define ll long long #define N 1000005 #define mod 1000000007 #define P 131 char s[N],buf[N]; int n,lens; ll has[N],p[N],has1[N]; int main(){ p[0]=1; for(int ... 阅读全文

posted @ 2019-10-05 22:15 zsben 阅读(220) 评论(0) 推荐(0) 编辑

单调栈+线段树——cf1220F

摘要: 首先考虑初始排列,pi会让周围所有比其大的元素深度+1,所以要求每个点的深度,只要其被覆盖了几次即可 这个覆盖可以通过处理每个元素的左右边界(单调栈O(n))+线段树区间更新(Ologn(n))来做 然后是将排列最左边一个元素移到最右边: 在左边删元素pi,只会让pi右边所有比其大的元素深度-1, 阅读全文

posted @ 2019-10-05 20:03 zsben 阅读(277) 评论(0) 推荐(0) 编辑

拆边+BFS队列骚操作——cf1209F

摘要: 这个拆边+队列操作实在是太秒了 队列头结点存的是一个存点集的vector,1到这个点集经过的路径权值是一样的,所以向下一层拓展时,先依次走一遍每个点的0边,再走1边。。。以此类推,能保证最后走出来的路径是最优的 阅读全文

posted @ 2019-10-05 01:35 zsben 阅读(220) 评论(0) 推荐(0) 编辑

预处理+状态压缩+剪枝——codefoece 1209E

摘要: 那一步剪枝实在是没想到 阅读全文

posted @ 2019-10-05 00:27 zsben 阅读(184) 评论(0) 推荐(0) 编辑

导航