图论
文章平均质量分 79
蒟蒻111
这个作者很懒,什么都没留下…
展开
-
uestcoj 1312 Forming Lake
cdoj 1312原创 2017-03-12 17:10:21 · 495 阅读 · 2 评论 -
经典离线求lca[模板]
#include #include #include #include #include #include #include #define maxn 600000#define maxm 1200000#define maxq 600000using namespace std;inline void read(int &x) { char ch; bool原创 2017-08-02 23:01:45 · 276 阅读 · 0 评论 -
BZOJ 2206 缩圈+拓扑[tarjan模板]
时间:3000ms左右,尚未找到更优的解法或者较为强力的优化改进目标:1000ms左右#include #include #include #include #include #include #include #include #define maxn 3002#define maxm 8000020using namespace std;inline void r原创 2017-08-03 10:24:38 · 229 阅读 · 0 评论 -
2016-2017 ACM-ICPC, NEERC, Moscow Subregional Contest K. Knights of the Old Republic kruskal
原题链接:https://vjudge.net/problem/Gym-101137K大致题意:给出n个点,m条边的图,要占领点i至少需要聚集ai个士兵到点i,空降1个士兵到点i的代价是bi,在一个点上可以的空降的士兵数量没有上限,只要在一条边的两个节点上聚集ci个士兵就可以占领这条边,占领某一条边以后可以无代价经过这条边,且在占领边或点的过程中士兵不会有牺牲,士兵在占领一个点以后可以经由被占原创 2017-08-24 22:04:17 · 716 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 Islands
题目大意:给出n个节点,m条有向边的图,问最少加入多少条有向边,使得每个点可以沿着有向边到其他任意一个点。首先用tarjan缩圈是肯定的。缩完圈以后,假设只有一个连通块了,那么只要把出度为0的点和入度为0的点都删去,就可以满足题意。然而,新加入一条边最多只能删去一个出度为0的点和一个出度为0的点,如果每次新加入的边都是链接一个出度为0的点,一个入度为0的点就是最优策略。如果不只一个连通块,原创 2017-09-09 18:19:23 · 253 阅读 · 0 评论 -
Codeforcces 891C Envy kruskal
原题链接:http://codeforces.com/problemset/problem/891/C题目大意:给出n个点,m条边的图,(0题解:把所有边按照边权从小到大排序后,假设每次询问的边集大小都是1,那么只要知道比这条边权值小的所有边构成的边集里,由kruskal选出的边集是否会和这条边形成环。如果不会形成环,那么就是说如果选这条边而后产生的最小生成树不会比原来的最优解更差,那么如原创 2017-11-20 20:03:00 · 527 阅读 · 0 评论 -
Codeforces 416E DP
原题链接:http://codeforces.com/problemset/problem/416/E大致题意:给出N(1如果尝试直接用递推的方法来解决这题会使得去重非常麻烦。于是尝试进行模型的转换,虽然直接统计答案可能会有重复的,但是如果先,求cnt[ x ][ T ]=以点x为起点且可能在x到T的最短路径上的边的数量,然后枚举每个点x看是否在S到T的最短路径上,如果在,就把cnt[ x原创 2017-11-23 11:47:11 · 291 阅读 · 0 评论