===== 吴湛宇 ===== ===专题=== 模拟退火算法\\ ===比赛=== [https://atcoder.jp/contests/abc174 ]\\ ===本周推荐题目=== 有n个点,每一个点有一种颜色,有q个询问,问一个区间中有多少种不同的颜色\\ 解法:将n询问按r排序,同时用一个last数组在线记录每种颜色最后一次出现的位置\\ 询问的结果为1-r中不同的颜色数减去当前最后一次出现在l之前的颜色数\\ 用一个树状数组维护这个last就可以了(然而我愚蠢的用了一个treap)\\ ===== 陶虹宇 ===== ===专题=== 无\\ ===比赛=== [https://atcoder.jp/contests/abc174 ]\\ ===本周推荐题目=== 无\\ ===== 吕双羽 ===== ===专题=== 无\\ ===比赛=== [https://codeforces.com/contest/1399]\\ ===本周推荐题目=== 题意:可付出一定代价(1或2)将树上的一条边长度减半,求最小的代价使所有叶子节点到根的距离小于S 题解:对于简单版本(每条边的代价均为1),可以统计每一条边减半后的贡献,然后放入优先队列维护,每次选贡献最大,即可。\\ 然后对于复杂版本,与简单版类似,使用同样的贪心分别记录成本为1和2的边移动多少次后最小距离和,然后枚举成本为1的边移动了多少次即可