随笔分类 - 动态规划—背包
摘要:是个神仙dp…… 参考:https://www.luogu.org/blog/xzz 233/solution p5289 设f[i][j][k]是前i个有限制的城市,所有学校中选蓝色阵营有j人,有限制的学校中鸭派系有k人的方案数;g[i][j]是前i个没有限制的城市,蓝色阵营有j人的方案数;h[i
阅读全文
摘要:驸马不必巧言讲
现有凭据在公堂
阅读全文
摘要:bzoj上是一个森林啊……? dp还是太弱了 设f[i][j][k]为到点i,合成j个i并且花费k金币能获得的最大力量值,a[i]为数量上限,b[i]为价格,p[i]为装备力量值 其实这个状态设计出来就好做了,树上背包随便转移一下就行了 因为是森林,所以最后统计答案的时候也要再做一遍背包 cpp i
阅读全文
摘要:参考:http://hzwer.com/3099.html 神题神题 其实只要知道思路就有点都不难…… 先对每一行dp,设g[i][j]为这行前i个格子粉刷了k次最大粉刷正确数,随便n^3一下就行 设f[i][j]为前i行刷了k次的最大正确数,这个用g更新即可,像背包一样 cpp include i
阅读全文
摘要:居然要用高精度! 懒得operator了,转移是裸的完全背包 cpp include include using namespace std; int n,k,f[1005][45]; int read() { int r=0,f=1; char p=getchar(); while(p '9'||
阅读全文
摘要:参考:https://blog.csdn.net/mars_ch/article/details/53011234 我背包真是好不熟练啊…… 第一天买了第三天卖相当于第一天买了第二天卖第二天再买第三天再卖。所以问题转化成完全背包,每天转移即可 cpp include include include
阅读全文
摘要:是时候复习一波背包了 完全背包裸题 cpp include include using namespace std; int m,n,a[30]; long long f[10005]; int main() { scanf("%d%d",&m,&n); for(int i=1;i
阅读全文
摘要:好像是完全背包吧分不清了…… 好像是把数组二维压一维的时候,01背包倒序,完全背包正序 cpp include include using namespace std; const int N=105,H=55005; int n,h,p[N],c[N],f[H]; int main() { sca
阅读全文
摘要:裸的01背包
阅读全文
摘要:在洛谷上被卡常了一个点! 就是裸的01背包咯 ~~为啥我在刷水题啊~~
阅读全文

浙公网安备 33010602011771号