上一页 1 ··· 84 85 86 87 88 89 90 91 92 ··· 109 下一页

2019年2月1日

cf1106E 线性dp+multiset

摘要: 之前看错题目了,以为父亲的选择时按最大收益来的。结果并不是 /*注意题目中说只要某个时间父亲可以取得红包,他就取硬币数最多同时耗时最小的那个就是不管后续如何,不一定满足最大收益 dp[i][j]表示时间i被干扰j次所得的最小收益dp[i][j]=dp[a+1][j]+b; <a,b>是时间i可取的价 阅读全文

posted @ 2019-02-01 14:16 zsben 阅读(629) 评论(0) 推荐(0) 编辑

2019年1月31日

poj3107树的重心

摘要: /*树的重心求法:两次dfs,第一次dfs处理出每个结点的size,以此求每个结点大儿子的size,第二次dfs将每个结点大儿子的size和余下结点数进行比较,所有结点里两个值之间差值最小的那个点就是重心*/#include #include #include #include #include using namespace std; #define maxn 50005 struct Edg... 阅读全文

posted @ 2019-01-31 20:13 zsben 阅读(128) 评论(0) 推荐(0) 编辑

cf862d 交互式二分

摘要: /* 二分搜索出一个01段或10即可 先用n个0确定1的个数num 然后测试区间[l,mid]是否全是0或全是1 如果是,则l=mid,否则r=mid,直到l+1==r 然后再测试l是1还是r是1 如何判定[l,mid]是否全是0或1,将这一段变成1进行询问,如果结果=num+len或者结果=num-len,那么就是全0|1 */ #include using namespace std;... 阅读全文

posted @ 2019-01-31 18:26 zsben 阅读(187) 评论(0) 推荐(0) 编辑

bzoj4821-线段树区间lazy_tag下放的优先级和区间覆盖

摘要: 见博客https://www.cnblogs.com/zwfymqz/p/8588693.html 题解链接https://blog.csdn.net/ripped/article/details/70543595 本题lazy标记设为[change,add]当一个区间向下传递lazy标记时,由于c 阅读全文

posted @ 2019-01-31 14:28 zsben 阅读(144) 评论(0) 推荐(0) 编辑

hdu3586 树形dp+二分答案

摘要: /* dp[i]表示孤立i结点的费用,二分功率上限w,即dp[i]在选择时不可以选择功率大于w的边 */ #include using namespace std; #define maxn 1050 struct Edge{int to,nxt,w;}edge[maxnx)tmp=1100000; if(v==pre)continue; if(flag[v]=... 阅读全文

posted @ 2019-01-31 11:44 zsben 阅读(117) 评论(0) 推荐(0) 编辑

2019年1月30日

hdu4276 依赖背包

摘要: 网上题解都是用spfa求1-n路径的,但其实dfs一次就可以了。。 阅读全文

posted @ 2019-01-30 23:21 zsben 阅读(126) 评论(0) 推荐(0) 编辑

poj1155 依赖背包

摘要: /* 依赖背包 dp[i][j]表示i结点为根的树选择j个用户时的最大剩余费用 即背包容量是j,价值是最大费用 */ #include #include #include using namespace std; #define maxn 3050 struct Edge{int to,nxt,w;}edge[maxn=0;j--) for(int t=0;t>n>>m... 阅读全文

posted @ 2019-01-30 12:17 zsben 阅读(208) 评论(0) 推荐(0) 编辑

cf219d 基础换根法

摘要: /*树形dp换根法*/ #include using namespace std; #define maxn 200005 struct Edge{int to,nxt,flag;}edge[maxn>n; for(int i=1;i>s>>t; addedge(s,t,1); addedge(t,s,0); } root=1; d... 阅读全文

posted @ 2019-01-30 10:23 zsben 阅读(246) 评论(0) 推荐(0) 编辑

2019年1月29日

poj3162 树形dp|树的直径 + 双单调队列|线段树,好题啊

摘要: 题解链接:https://blog.csdn.net/shiqi_614/article/details/8105149 用树形dp是超时的,, 阅读全文

posted @ 2019-01-29 22:51 zsben 阅读(149) 评论(0) 推荐(0) 编辑

hdu2196 树形dp经典|树的直径

摘要: /* 两种做法 1.求出树直径v1,v2,那么有一个性质:任取一点u,树上到u距离最远的点必定是v1或v2 那么可以一次dfs求树v1 第二次求dis1[],求出所有点到v1的距离,同时求出v2 第三次求出dis2[],求出所有点到v2的距离 2.树形dp,dp[u][0|1]表示结点u向下的最大距离和向上的最大距离 dp[u][0]可以直接由子树求出 d... 阅读全文

posted @ 2019-01-29 14:31 zsben 阅读(122) 评论(0) 推荐(0) 编辑

上一页 1 ··· 84 85 86 87 88 89 90 91 92 ··· 109 下一页

导航