摘要: 题目大意 题解 裸题 建SAM,在SAM上面数位dp维护位置和当前长度即可 注意要先枚举新加的数,然后统一跳fail直到可以往下接,否则时间不能保证 时间复杂度O(10*nd^2) code #include <bits/stdc++.h> #define fo(a,b,c) for (a=b; a 阅读全文
posted @ 2020-09-12 21:42 gmh77 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 题目大意 题解 从各种意义上来说都很离谱的题 看到k<=1e3,一眼k^2logn,结果是(n+m)k,1.5s两亿 并且还是上升子序列,所以用nlogn的方法在不确定时维护指针扫一遍转移即可 转移的时候记下来上一个非-1的位置,最后贪心填 关于如果是单调不减的思考(口胡): 在维护的时候维护填入的 阅读全文
posted @ 2020-09-12 20:17 gmh77 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目描述 有n堆石子,第i堆有xi个。 Alice和Bob轮流取石子(先后手未定),Alice每次从一堆中取走a个,Bob每次从一堆中取走b个,无法操作者输。 不难发现只会有四种情况:Alice必胜;Bob必胜;先手必胜;后手必胜。 你需要选定若干堆石子(共有2^n种方案),Alice和Bob只能在 阅读全文
posted @ 2020-09-12 15:11 gmh77 阅读(354) 评论(0) 推荐(0) 编辑