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 阅读(145) 评论(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) 编辑

导航