摘要:
题目 对序列a 进行操作 对两个相等的相邻元素 ,合并为a[x]+1 问最后剩余序列的最小长度 区间dp,f[i][j]表示某区间的合成值,g[i][j]表示某区间最终的序列长度 那么直接开始区间dp的套路,考虑[i,j]分割为 [i,k],[k+1,j] 不合并时 应该取g[i][j]=min(g 阅读全文
摘要:
题目 整数n拆分为若干数字(a,b或c)的和,求序列最大长度 如 5=2+1+1 完全背包,但要求体积刚好用完 f[i][j] 表示最大个数 改下dp边界,f[0]=0,else f[i]= -inf #include <iostream> #include <cstring> using name 阅读全文
摘要:
题目 max{p·ai + q·aj + r·ak } 从n个元素里挑出3个求值,且每个元素可以选多次,简单的无穷背包 注意有负数 #include <iostream> #include <cstring> using namespace std; const int N=1e5+3; #defi 阅读全文