背包
largecub233
这个作者很懒,什么都没留下…
展开
-
树形背包模版-洛谷P1273 有线电视网
https://www.luogu.org/problem/show?pid=1273 其实就是一个背包嘛,每个终端都是一个物品,体积全是1; 网上的题解很多,我copy一段 http://blog.csdn.net/qwsin/article/details/50954669 dp[i][j]表示i节点在其后代中选了j个的最大收入 dp[i][j]=max(dp[i][j],dp[i]原创 2017-02-19 18:17:25 · 521 阅读 · 0 评论 -
树形dp-洛谷 P2014 选课
https://www.luogu.org/problem/show?pid=2014 我一开始想不出来,看了题解后却发现是最基本的模型 唉~ 这里因为是森林所以我们简单的把森林合并到一个节点0; f[i][j]表示再i点的子孙里取j个的解; 当然不包括i;#include<iostream>#include<cstdio>#include<cstring>#include<algo原创 2017-02-19 20:54:40 · 541 阅读 · 0 评论 -
树形dp-P1270 “访问”美术馆P3360 偷天换日
https://www.luogu.org/problem/show?pid=1270 这题好像就是来考建图吧 比如样例嘛,把他搞成这样子 *2是因为要走过去再再走回来 5就是一幅画; 然后直接dp就好啦; 建议先做p1273#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#inclu原创 2017-02-20 11:28:16 · 468 阅读 · 0 评论 -
hash——vijos1426 兴奋剂检查
https://vijos.org/p/1426 这个就是一个背包; 但是如果开5维背包的话; 呵呵呵呵呵呵; 那我们就直接把5维hush成一维; 怎么搞?int hush(int a,int b,int c,int d,int e){ return e+(v[5]+1)*(d+(v[4]+1)*(c+(v[3]+1)*(b+(v[2]+1)*a))); return a+原创 2017-05-25 15:50:40 · 321 阅读 · 0 评论 -
树上背包——洛谷P1272 重建道路
https://www.luogu.org/problem/show?pid=1272 我靠,就是一个裸的树上背包; 结果没记起来,看题解也看不懂; 然后看到一篇博文写到了多叉转二叉; 就一下子都记起来了; f[i][j]表示在i点保留j个节点的最小割数;#include<bits/stdc++.h>#define Ll long longusing namespace std;co原创 2017-06-05 09:36:36 · 584 阅读 · 0 评论 -
洛谷 P2851 [USACO06DEC]最少的硬币The Fewest Coins
https://daniu.luogu.org/problem/show?pid=2851 一看就是多重背包+完全背包 完全背包我们n*m求就可以了 但是多重背包的时间复杂度是n*m*10000 这他妈爆炸了; 所以我们要对多重背包进行优化; 于是我们大力二进制优化 就是比如7个物品就变成 1 2 4 7个物品,他们组合可以形成7以内的所有物品,那就可以过了; 以前的我就是年轻,一遇原创 2017-10-25 21:15:13 · 464 阅读 · 0 评论