【总结】一些简单dp题的口胡题解
程序员文章站
2022-03-14 16:03:39
...
bzoj2118 墨墨的等式
模意义下最短路
CF618F. Double Knapsack
分别表示的前缀和,设。
对于每个,必然能找到一个,使得,设为。
由于,,取值有个,个数有个,根据抽屉原理必然有一段相同的。
HDU2191 单调队列优化多重背包:
for(i=1;i<=n;i++){
scanf("%d%d%d",&w,&v,&s);
if(s>m/w)s=m/w;
for(d=0;d<w;d++){
he=ta=1;
for(j=0;j<=(m-d)/w;j++){
int tmp=f[j*w+d]-v*j;
while(he<ta&&q[ta-1]<=tmp)--ta;
q[ta]=tmp,num[ta++]=j;
while(he<ta&&j-num[he]>s)++he;
f[j*w+d]=max(f[j*w+d],q[he]+v*j);
}
}
}
广工oj1231 | 51nod 1821 tmk买礼物
将按升序排序,假设前个数可以凑出中所有数,则必须满足(否则无法凑出),且此时可以凑出中所有数。
bzoj 1419: Red is good
倒着表示还剩下张红牌,张黑牌时最优策略下平均能得到的钱数:。
bzoj 3566: [SHOI2014]概率充电器
正难则反,考虑容斥:设表示点不通电的概率,答案即为
设表示点直接充电的概率,表示点和父亲结点联通的概率。
首先考虑自己不通电加上所有不同点的概率:
再考虑的父亲对的贡献,除去后通电的概率,则需要再乘上。
两遍即可。
bzoj 2510: 弱题
循环矩阵快速幂
矩阵乘法(循环矩阵乘循环矩阵还是循环矩阵)
下一篇: Excel2007基础教程:删除行和列
推荐阅读