摘要:
很难的一道题 首先第一问,如果没有高度相同的,因为只有比他高的会产生影响,所以降序排序,然后从大往小往里插入,那么可插入的位置的个数就是min(i,key),然后我们考虑有重复的,若不考虑之前已经插入过的相同高度的,方案数仍然是min(i,key),那么现在矛盾的就是,新插入的关键字和之前的关键字的 阅读全文
摘要:
了了已久的心结 f[i][j]表示到第i为,长度为j的后缀与不吉利数字的前缀相同,其实这个和一些期望概率的DP类似,利用a数组记录当前j在加上不同的数字之后,可以分别转移至那些状态,用KMP处理一下,然后矩阵快速幂就行了 Code 1 #include <cmath> 2 #include <cst 阅读全文
摘要:
向量是可以被基地唯一分解的,然后就和昨天的T3一样了 在计算x_的时候居然没注意最大可以变成500000,然后最开始设的最大值是100000,然后就一直wa Code 1 #include <cmath> 2 #include <cstdio> 3 #include <cstdlib> 4 #inc 阅读全文
摘要:
树DP+组合数 网上题解很多,这里就放个有注释的代码 CODE 1 #include <cmath> 2 #include <cstdio> 3 #include <cstring> 4 #include <cstdlib> 5 #include <iostream> 6 #include <alg 阅读全文
摘要:
很难理解的一个DP 首先先说明两个状态数组,f[i][j]表示当前序列的长度为i,最后一位是第j小,且第i位为山谷的方案数,同理g[i][j]表示f[i][j]表示当前序列的长度为i,最后一位是第j小,且第i位为山峰的方案数; 那么f就是能从g转移过来, 那么f[i][j]就等于g[i-1][k] 阅读全文