12 2020 档案
摘要:字符串 KMP const int N=1000005; char s[N], t[N]; int len_s, len_t, nxt[N]; void GetNext(char *s) { for (int i=2, k=0; i<=len_s; i++) { while (k && s[i]!=
阅读全文
摘要:对于一维的情况,只需要预处理每个位置需要多少步走出去即可。 走出去,要么不超过n步,要么超过n步。 不超过n,可以哈希,记录往左往右走x步的最小操作次数。 超过n,先让他不超过n,再用 之前的方法做即可。 对于二维,任意两个搭配,如果第一位步数是4,那么需要4步走出去,下一维(其他维)必须超过4步,
阅读全文
摘要:n+1个柱子,前n个柱子m个球,最后一个空,n中颜色的球各m个,如何移动让颜色i回到柱子i? 要求:每根柱子不能超过m个球。 借助一根空柱子,我们可以将任何一个球移到任何一个位置。 如移到柱子1位置i,那么先把该球移到某根柱子顶端,再把柱子1上面的m-i+1个球搬走,就可以一过去了。 这样步数多,所
阅读全文