题目大意 给你一个字符串,求它的一个子串使得这个子串即使前缀又是后缀又出现在不是前缀且不是后缀的地方 分析 扩展kmp就是定义z[i]表示i~n的子串与整个串的最长公共前缀的长度是z[i] 所以这个题就是找到一个位置使得z[i]=n-i+1 这样保证了是前缀和后缀 然后再判断之前是否有一个z[j]= ...
分类:
其他好文 时间:
2019-09-01 11:04:06
阅读次数:
94
给定长度的sliding window, 求出数字流在这个window区间的平均值: 解法:前缀和数组: index : 1 2 3 4 d : 1 10 3 5 sum: 1 11 14 19 sum[i] = d[1] + d[2] + ... + d[i] d[x] + d[x+1] + .. ...
分类:
编程语言 时间:
2019-08-31 19:34:41
阅读次数:
78
在一颗有边权的树上有m条路径,清零一条边的边权使得m条路径的最大值最小。 输出这个最大值 显然 要遍历这m条路的最长路(如果最长路有多条随意遍历一条即可) 因为树上距离不修改 那么用前缀和维护树上路径长度可以少一个log 然后遍历最长路的每一条边 ans=min(ans,max(最长路的长度-这条路 ...
分类:
其他好文 时间:
2019-08-30 15:54:50
阅读次数:
75
真实实力了。 最高水平了。 这次考试发挥的还是挺正常的吧,该拿到的分都拿到了,不该拿到的分也拿到了5分。 两次考试,一个出题人,总分310。 还是有点少啊,拿省一有挺大困难的。 T1除了打表就不会了,没想出来正解。 T2就会写一个前缀和暴力。 T3想了一个半小时啥都没想出来。 概率期望这块还是不行, ...
分类:
其他好文 时间:
2019-08-29 14:09:41
阅读次数:
84
小编日更到此就结束了,马上就要开学了,这是小编所有的日更内容,特地汇总一下: 常用技巧: 【算法?日更?第二十一期】数据结构:差分与前缀和 【算法?日更?第二十三期】数据结构:two-pointer(尺取法)&莫队 【算法?日更?第三十八期】迭代器是什么? 【算法?日更?第五十四期】知识扫盲:什么是 ...
分类:
编程语言 时间:
2019-08-29 09:36:17
阅读次数:
165
题意 1到n个自然数中选k个自然数要求两两不相邻,问有多少种方法,模m eg(1 3 5 ) 又是一道打表规律题,正常解法dp可以通过前缀和优化到O(N K)。另外我们可以重新定义F[I,J]表示从1到I中选择J个不连续数的方案数。通过考虑I选还是不选来进行状态转移。 1.如果不选I:则方案数为F[ ...
分类:
其他好文 时间:
2019-08-27 10:52:59
阅读次数:
95
树状数组 1 单点修改,区间查询 这个没啥好讲的,修改加查询即可,查询时利用前缀和相减即可。 代码 cpp include using namespace std; const int maxn=1000010; int n,q,u,v,k,a[maxn]; long long c[maxn]; i ...
分类:
编程语言 时间:
2019-08-27 00:27:01
阅读次数:
76
一道水题,由于x坐标递增y坐标也递增于是前缀和统计即可,用树状数组实现。 cpp include using namespace std; const int maxn=15010; const int maxx=32010; inline long long read(){ long long x ...
分类:
其他好文 时间:
2019-08-26 23:03:17
阅读次数:
94
"Circular Coloring" 将n个0,m个1进行圆周排列,定义一个排列的权值为圆上所有相邻且相同的数字组成一段的段长的乘积,询问断环成链所有方案的权值之和,$n,m\leq 5000$。 解 因为问题与区间划分有关,直接计数不好做,对序列上考虑,不妨设$f[i][j]$为前i个元素(相同 ...
分类:
其他好文 时间:
2019-08-25 20:03:00
阅读次数:
54