树上操作
mengwuyaaa
这个作者很懒,什么都没留下…
展开
-
CF 735E
题目:一棵树上有黑白两种颜色,一次染色能对相同颜色的区域取反,求几次染色可使得整棵树为同一种颜色。PS: 还是刷不动F,心累。题解:缩点后求树的直径/2 。不严谨证明:把一棵树立起来,不断地对树根染色,这样就会发现只需要考虑最长的树链。同理,如果对树链上某一点着色,一定次数的操作后会等价于对树根染色,贪心地选取,这个点应该是最长树链的中点。#include<iostream> #inc...原创 2018-04-16 23:37:39 · 2936 阅读 · 0 评论 -
CF 743D
题目:给出一棵树,求大两棵子树权重和。题解:我今天心情本来是烦躁的,想刷两题水题解闷……结果卡题了!!!我现在的心情是暴躁的!!我们扯一会儿题解。首先dfs一遍把每个点的权重算出来肯定能想到。然后开始考虑如何维护“两个”子树的最大值。后来发现自己傻逼了只需要维护一个子树的最大值就行了。dp[i]表示i号节点的最大子树权重和。j表示i的孩子。dp[i]=max(所有dp[j],dp[i])然后WA了...原创 2018-04-26 17:31:43 · 213 阅读 · 0 评论