摘要:
阅读全文
摘要:
1 #include 2 #include 3 #include 4 #include 5 6 char str[100001]; 7 ///注意在ans+=f[g]*f[g];中,ans是long long,所以运算的两个数至少有一个数是long long,所以f数组选择的类型是长整形 8 long long f[100001]; 9 10 int main() ... 阅读全文
摘要:
阅读全文
摘要:
阅读全文
摘要:
最小表示法证明 设字符串为a[1],a[2],……,a[n]。该字符串形成环,即a[n]的后继为a[1],两者连接起来。 设置两个指针i,j,一开始i=1,j=2, 1.比较以i,j为始的字符串,字符串长度k从1到n递增,两个字符串不再相等或长度为n之后结束比较。 2.当字符串长度k为n时,结束比较 阅读全文
摘要:
hdu3374 Solution: 最小表示法+KMP 设一个字符串S的最小循环节是T。(如S=“abababab”,则T=“ab”) 在最小循环节T中,只有1个最小字符串和最大字符串。则最小字符串的个数和最大字符串的个数相等,为|S|/|T|。 证明: 假设不成立,即在最小循环节T(T[0],T[ 阅读全文
摘要:
1 #include 2 #include 3 typedef long long ll; 4 5 int main() 6 { 7 ll x=1e17; 8 ll y=1e18; 9 ll a,b; 10 scanf("%lld",&a); 11 //long long 范围 <大约为9.2*10^18 (2^63) 12 ... 阅读全文
摘要:
1.并查集求最小生成树 Code: 2.点有权值,spfa 3. 地图bfs U10278 Cx的金字塔 _ 落谷1126机器人搬重物 解题报告 I.哪个是行,哪个是列,行列从哪边开始 II.一次操作 1.前移1,2,3!步 2.转90度 III.边界范围 1~n-1 1~m-1 IV.起始点不可用 阅读全文
摘要:
I.求逆元欧几里得方法 II.模拟细心+耐心 *本人感悟:自己的错误在于:对于这道模拟题没有耐心静下来一字一字看题,一行一行调错,一步一步调试,我要引以为戒。 III.dpf[i][j][k]=max(f[i-1][j][k],min(f[i-1][t][k-1])+value[i][k])t=0, 阅读全文
摘要:
/**题目:删去一个点,然后求出需要增加最小代价的边集合生成连通图思路:prim+最小堆1.之前图中未破坏的边必用,从而把两两之间可互达的点集合 合并成一个点2.求出不同点集合的最短距离,用prim+最小堆求出最小生成树 kruskal1.之前图中未破坏的边必用,全部加到图中2.途中被破坏的边按照边 阅读全文