随笔分类 - 树形DP
摘要:/* codevs 1163 访问艺术馆 红果果的树形dp*/ #include #include #include #define maxn 210 using namespace std; int n,m,lc[maxn],rc[maxn],g[maxn][2],T,v[maxn],f[maxn][maxn*6],x,y; struct node{ int v,t,pre; }e[m...
阅读全文
摘要:/*codevs 1378 选课 背包搞*/ #include<iostream> #include<cstdio> #include<cstring> #define maxn 310 using namespace std; int n,m,f[maxn][maxn],son[maxn][max
阅读全文
摘要:/* 想了半天没想出状态 自己还是太弱了 QAQ 题目问的是最多供给多少户 一般想法是把这个值定义为状态量 没想出来QAQ....看了看题解的状态 很机智.... f[i][j]表示i的子树 选了j个叶子的最大收益 这样 不亏本就是收益>=0 转移的话 先搜一下这个子树有几个叶子 然后枚举儿子 枚举当前儿子分几个叶子 这里的枚举顺序有套路 从大到小枚举i分几个 从小到大枚举j分几个 这样可...
阅读全文
摘要:/* 状态定义的没错 就是考试的时候傻啦吧唧的转移左右孩子 其实之转移父亲就简单多了 不用考虑那么多 还有就是偷懒没有把谁有没有找过这个信息转过去 而是搞了个全局变量…wa到挺 再就是特盘的时候还有终止条件写的不好 写的时间也很长 ….. */ #include #include #include #define maxn 510 #define inf 0x3f3f3f3f using nam...
阅读全文
摘要:#include #include #include #define maxn 2010 using namespace std; int n,m,v[maxn],sum[maxn],son[maxn][maxn],s[maxn][3],f[maxn][maxn]; bool falg[maxn]; int Dfs(int k,int p) { if(k==0&&p!=m||p==0)r...
阅读全文
摘要:/* WTF 写了好久了 开始的时候题目读错了 建图建错了 搜索写的也不好 感觉会T 总之 第一次写的很low 贴一下吧 */ #include #include #include #define N 40 #define M 40 using namespace std; int n,g[N*N][N*N],a[5][M*M]; int num[5],ans,maxx,f[N*N]...
阅读全文
摘要:#include #include #include using namespace std; int n,m,son[310][2],f[310][310],v[310],ans,falg; int init() { int x=0;char s;s=getchar(); while(s'9')s=getchar(); while(s>='0'&&sf[p][x])f[...
阅读全文
摘要:/* 树形DP 根节点一定有人 然后 剩下的人没到每个孩子去 因为孩子数可能很多 不好枚举 所以转二叉树 分两部分 O(sum)就可以了 当然 转二叉树候必须顾及原来树的一些性质 如不能只选左孩子 转化好了之后就是DP了 写的记忆化 递归每个节点 枚举分给左右孩子的人数 */ #include #include #include #define maxn 1010 using namesp...
阅读全文
摘要:/* 双向DP 两条路 f[i][j] 表示第一条路末位置为i 第二条路末位置为j 的最优解 转移:对于下一个点 k=max(i,j)+1 可以更新 路1的末位置 也可以更新路2的末位置 f[i][k]=min(f[i][k],f[i][j]+dis[j][k])路2 f[k][j]=min(f[k][j],f[i][j]+dis[i][k])路1 最后 点n 可能属于路1 也可能属于路2...
阅读全文
摘要:/* 树形DP 而然我并不知道树在哪(....) f[x][0]表示x节点不参加舞会 以x为根的子树的最优解 f[x][1]表示x节点参加舞会 以x为根的子树的最优解 方程为:(so为x的儿子 so要枚举一下) f[x][0]+=max(f[so][0],f[so][1]); f[x][1]+=f[so][0]; 初始化 f[i][1]= 输入的happy值 最后比较 max(f[i][0]...
阅读全文

浙公网安备 33010602011771号