摘要: 题意:一棵树,从根过来一支攻击流,你可以在任意节点建防御点(有多重配置),防御点可以削减攻击强度,到叶节点的总削减值就算叶节点的防御强度你的目标是让所有叶节点中防御强度最低的点,防御值最高设dp[i][j... 阅读全文
posted @ 2017-04-24 23:16 Drenight 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 省赛快到了,打算练熟一下树形DP。。看的学长介绍的论文上的题(好难啊orz整理了很久的思路,结合别人的博客才有一点看见答案的感觉以点1为根第一遍DFS,记录每个点其儿子到它的距离最大值和次大值,并且记录来... 阅读全文
posted @ 2017-04-23 00:55 Drenight 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 数列中节点出现次数=节点度数-1 阅读全文
posted @ 2017-04-22 21:44 Drenight 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 对一个10000000长度的区域用线段去覆盖,问你最后能看到几条线段分类在线段树,也是线段树被卡的第一题,等学会了线段树做法在更吧,在poj上看到有人提到漂浮法,试了一发,感觉好神奇,贴代码:#inclu... 阅读全文
posted @ 2017-03-14 20:48 Drenight 阅读(135) 评论(0) 推荐(0) 编辑
摘要: C题思路:生成树上的dfs,完全没见过,留作复习代码:#include#include#include#include#include#include#include#define maxn 210000... 阅读全文
posted @ 2017-03-06 20:30 Drenight 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 用2进制的01表示不放还是放第i行只和i-1行有关枚举i-1行的每个状态,推出由此状态能达到的i行状态如果i-1行的出发状态某处未放,必然要在i行放一个竖的方块,所以我对上一行状态按位取反之后的状态就是放... 阅读全文
posted @ 2017-02-17 21:08 Drenight 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 题意:n张票,m个点,p条路(双向),a起点,b终点X1~Xn:票的权值,耗时=路长/票权求从a到b的最短时间思路:状态压缩dp,dp[s][i]:s为编码后的含票状态,目前在i点,数组t[]存储票的权转... 阅读全文
posted @ 2017-02-16 01:25 Drenight 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题意:n个元素的数组,求分成m个不相交段的方法,使这m段之和最大,输出最大和思路:dp,状态dp[i][j]表示前j个物品分成i段的最大和, 状态转移方程:dp[i][j]=max(dp[i][j-... 阅读全文
posted @ 2017-02-15 17:27 Drenight 阅读(120) 评论(0) 推荐(0) 编辑
摘要: sort(xs.begin(),sx.end());xs.erase(unique(xs.begin(),xs.end()),xs.end()); //unique将同样的元素排至vector末位,返回首... 阅读全文
posted @ 2017-02-02 17:00 Drenight 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 模板级次短路问题与最短路的区别在于,优先队列保存的对象不同,队列中同时储存了1:到某个点u的最短路+u到v的边2:到某个点u的次短路+u到v的边用这两种情况刷新最短路和次短路,所以temp=x.d+edg... 阅读全文
posted @ 2017-01-23 22:53 Drenight 阅读(105) 评论(0) 推荐(0) 编辑