![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
启发式算法
_ 泛白
QQ1204731545
展开
-
Codeforces 1253F - Cheap Robot(最短路+并查集/Kruskal树)
题目大意n点m边无向图,k个关键点,q个询问(a,b)。问从a到b需要的最小容量c是多少。保证a,b是关键点。你能量池最多有c能量,每次走边消耗边权那么多的能量。在关键点会补满能量。每次询问需要的最少能量。k,n≤1e5,q,m≤3e5k,n\le1e5,q,m\le 3e5k,n≤1e5,q,m≤3e5解题思路以所有关键点为源求一遍多源最短路,然后对于一个点uuu,如果当前能量x<...原创 2020-02-11 20:28:38 · 331 阅读 · 0 评论 -
2019 CCPC-Final G.Game on the Tree(长链剖分+DP)
题目大意两个人在一个以1为根的树上玩游戏,一开始硬币在1。然后每一轮,如果当前硬币在u,当前的人可以选择一个v把硬币移动到v,条件是移动的距离要大于上一轮的人移动的距离。第一个人可以随便移动。问给出的树有多少个以1为根的子图可以让后手必胜。n≤2e5n\le2e5n≤2e5解题思路这题很容易推出来当1是树直径的中点的时候后手必胜。然后想要得到1是树直径中点的方案数,可以先得到1的每个儿...原创 2020-02-05 22:29:56 · 956 阅读 · 0 评论 -
2019 ICPC 南昌 Regional K. Tree(树上启发式合并 + 动态开点线段树)
题意求以111为根的nnn个点的有根树上,满足下面条件的有序点对(x,y)(x,y)(x,y)数目(点iii的权值为viv_ivi):一个点不为另一个点的祖先vx+vy=vlca(x,y)v_x+v_y=v_{lca(x,y)}vx+vy=vlca(x,y)xxx到yyy的路径长度小于等于给定的值 kkkn,k≤1e5,0≤vi≤nn,k\le 1e5, 0\le v_i\l...原创 2020-01-29 17:25:53 · 851 阅读 · 2 评论 -
长链剖分学习笔记
什么是长链剖分?长链剖分是把树按深度剖分成链,然后每次O(1)直接继承重儿子的信息,再暴力合并轻儿子的信息。这种信息一般只与深度有关。因为每条链只会在链头被暴力合并一次,所以总的复杂度为O(n)O(n)O(n)O(1)继承重儿子信息一般利用指针实现。因为信息只与深度有关,假设父亲u深度为i的信息存储在f[u][i],要被继承的儿子v的深度为i的信息存储在f[v][i],那么他们的关系应该是...原创 2019-11-07 23:33:10 · 172 阅读 · 0 评论