题面 既然我们只知道最后数量为$k$的蚂蚁会在特殊边上被吃掉,不妨逆着推回去,然后到达每个叶节点的时候就会有一个被吃掉的蚂蚁的区间,然后二分一下就好啦 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ,maxx=1e9; int ant[N],deg[N],leaf[N]; *N],goal[*N]; int n,g,k,t,root,t1,t2,n1,n2,cnt;…
题目链接 HOTELS 依次枚举每个点,以该点为中心扩展. 每次枚举的时候,从该点的儿子依次出发,搜完一个儿子所有的点之后进行答案统计. 这里用了一个小trick. #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for(int i(a); i <= (b); ++i) #define for_edge(i, x) for(int i = H[x]; i; i = X[i]) int n, x, y,…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3872 从食蚁兽所在的边向叶节点推,会得到一个渐渐放大的取值区间,在叶子节点上二分有几群蚂蚁符合条件即可: 注意中途判断,如果已经超过范围就返回或者处理一下,据说会爆 long long 之类的: 而且食蚁兽所在的边的两个端点的初始值不一定是 k 和 k+1 !也要看度数! 注意统计答案的 num 也是 long long . 代码如下: #include<iostream> #inclu…
我也不知道为啥我就想把POI的题全都放到一篇blog里写完. POI 2005 SAM-Toy Cars 贪心,每次选下次出现最晚的. POI 2006 KRA-The Disks 箱子位置单调,所以记录现在的箱子位置和前缀最小值,向上枚举就行. OKR-Periods of Words 戳这 POI 2007 OSI-Axes of Symmetry 戳这 MEG-Megalopolis 树剖 or dfs序上维护前缀和. POI 2010 GIL-Guilds 按照洛谷的题面,可以发现灰点就…