摘要:
很容易想到暴力的转移:f[i][j]表示较长串的前i个字母,最后和不吉利数字相同的已经有j个。价格数组g[j][k]表示第j个不吉利前缀转移到不吉利前缀k的方案数。然后kmp一下就能求得g数组。看到n是1e9,矩阵快速幂优化即可。 cpp include include include using 阅读全文
摘要:
状压DP。 设计状态f[i]表示奶牛的状态为i时,所有奶牛的可用耐力最小值,随便转移一下就行了。(翻译的大兄弟,没有翻译不可行的情况,wa了一次。。。) cpp include include include using namespace std; const int N=25; long lon 阅读全文
摘要:
可持久化并查集的好题啊。。。(flag:补克鲁斯卡尔重构树。。。) 先dijkstra求一下1号点到每个点的距离,再用可持久化并查集维护一下联通性与联通块内哪个点离1号点最近。upper_bound一下,再查询,时间复杂度可行。 cpp include include include include 阅读全文