摘要: n<=100个点的根为1的二叉树,树边上有苹果,求保留Q<=n条边的最多苹果数。 树形DP,f[i][j]--节点i为根的子树保留j条边最优方案,f[i][0]=0,f[i][j]=max(f[lc[i]][k-1]+f[rc[i]][j-k-1]+v[lc[i]]+v[rc[i]]),这是左右都选 阅读全文
posted @ 2017-08-13 21:00 Blue233333 阅读(226) 评论(0) 推荐(0) 编辑
摘要: n个村庄m条带权路,权值为花费,村庄可以造东西卖东西,造完东西可以换地方卖,给出每个村庄造东西花费a和最多个数b、卖东西价值c和最多个数d,求最大收益。 裸的费用流。然而还WA了一发。很好。 建源向每个村庄连边(b,a),(b,a)表示容量b费用a,每个村庄向汇点连边(d,-c),村庄间有路就互相连 阅读全文
posted @ 2017-08-13 19:55 Blue233333 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 给出n<=100000个已覆盖的区间[Li,Ri],Li,Ri<=1e9,求再覆盖m<=1e9个点如何使最长覆盖区间最大。 感谢KPM大爷的题解!! 首先把重复区间处理掉,剩下若干个不重区间。这采用类似于差分的“事件法”,左边+1,右边-1,>0的部分即是区间。 接下来,“求满足某个条件的最长区间” 阅读全文
posted @ 2017-08-13 19:42 Blue233333 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 给n<=100000个点的树,每个点有一个01串,长度m<=200,串的可以随时01取反,串的每一位对应权Vi,从根节点到某个节点经过决定哪些串取反后取得的最大价值为某个点的权值,求:在这棵树上乱走,不能走权相同的相邻两点,每个长度D的简单路径的方案数。 题目很奇怪。结论很不显然。TJM和HR大佬很 阅读全文
posted @ 2017-08-13 10:35 Blue233333 阅读(123) 评论(0) 推荐(0) 编辑
摘要: n<=100000条相等/不等关系描述<=100000个数,把这些数据分割成若干段使得每一段描述都出现冲突且冲突只出现在最后一行。 相等关系具有传递性,并查集维护;不等关系根据相等关系进行合并,采用平衡树的启发式合并。 每次遇到相等关系x,y,先找到x,y对应并查集的根p,q,判是否p在q的不等关系 阅读全文
posted @ 2017-08-13 06:44 Blue233333 阅读(330) 评论(0) 推荐(0) 编辑