图论
文章平均质量分 76
「已注销」
混子一个
展开
-
wust 1599弗洛伊德
简单总结。。比赛一塌糊涂。。策略失误太严重。。要好好补补题。。这题看上去就是构造弗洛伊德,然后枚举间接点。。两个坑导致当时做不出来。。1.memset 0x3f3f3f3f还是有毒啊。。。蒟蒻还是好好循环初始化吧。。2.多写了一个ans[26][26],how[26][26]导致迷之问题。。很简单的问题为什么一定要搞得那么复杂呢。。太脑残3.题意没注意忘记wi可以等于0原创 2016-04-25 21:44:03 · 220 阅读 · 0 评论 -
hdu 6214 割边最少的最小割
题意:求割边最少的最小割思路:流量*mod + 1,最小割等于 maxflow/mod 割边数量等于maxflow%modps.注意mod要取的足够大代码:#includeusing namespace std;int n,m;const int maxn=1e5+10;const int maxm=1e5+10;const long long inf = 1e18;原创 2017-09-19 18:10:51 · 412 阅读 · 0 评论 -
2017沈阳网络赛G XOR 分块(分类讨论sqrt)
题意:一棵树,点权,Q次询问,A---B路径上每K个点的异或和链接:点击打开链接思路:分类讨论,k小于200,类似dp的预处理,在求lca的过程中可以求出来,k大于200,直接暴力跳,最多跳sqrtn步,其中还带个log的倍增。1200ms AC。。PS :场上手残。。。代码:#includeusing namespace std;const int MAXN = 100原创 2017-09-16 20:11:04 · 248 阅读 · 0 评论 -
HDU 6166 二进制分组
题意 :有向图,点集内的任意两点最短路径的最短值思路 :很有意思的题目,直接两两枚举肯定不可以,这里考虑二进制分组,这样只需要分18次就能使得一次分组时最优解在两个不同的集合里面。接下来就是分组后缩点一下跑他20次最短路。。很有意思!!PS vector被卡了常数。。。代码:#includeusing namespace std;#define X first#defin原创 2017-09-14 20:30:37 · 279 阅读 · 0 评论 -
hdu 6118 最小费用可行流(注意与最大流的区别)
题意:思路:。。。。注意是可行流,在找增广路的时候条件要进行修改。。。。修改的地方看代码注释代码:#includeusing namespace std;#define MEM(a,b) memset(a,b,sizeof(a))#define bug puts("bug");#define PB push_back#define MP make_pair#原创 2017-08-15 21:06:40 · 1207 阅读 · 0 评论 -
hdu 5045 费用流
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5045题意:n个选手 m个题目。。每次必须所有人都做了题目才能再做题目,举个栗子,不能一个人一直做。。必须均摊开来做。。给你每个人过mi个题目的概率,问你最大ac题目的期望是多少。思路:其实n等于10,dp就可以了,每轮次dp出来全部人安排好了的最佳情况。。转移方程也很简单,枚举原创 2016-12-06 15:29:04 · 234 阅读 · 0 评论 -
hdu 5988 费用流(浮点数)
题意:n个点有人有面包,有一些边,除了第一个走这个边的人其他人都有pi的概率破坏网络,让你安排吃放方案,使得每个人吃上饭,并且破坏网络的概率最小。思路:破坏网络概率最小就是不破坏网络概率最大,那么就是一个乘积最大的表达式,加一个log就变成了加法,典型的费用流问题。建边也很简单,源点连向人多余的,吃的多余的点连向汇点,中间建边记得拆边,因为第一个人不要费用。。剩下的就是愉快的费用流一下原创 2016-11-21 16:35:19 · 2101 阅读 · 2 评论 -
hdu 5943 素数分布+二分图匹配
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943题意:两个区间,一个1-n 一个 s+1----s+n 问 s重新排列放在第一个里面,使得所有 si%(kth)==0。。。叙述不清楚大家可以看原题思路:一眼看去不可做。。大概猜一猜如果范围小就是一个二分图匹配嘛。。。又因为素数分布确实是很近的(具体有各种各种猜想。)。。所原创 2016-10-29 18:47:59 · 667 阅读 · 0 评论 -
hdu 3605网络流+状态压缩
链接: http://acm.hdu.edu.cn/showproblem.php?pid=3605题意: 有n个人(1e5),m个星球(思路:网络流典型模型,判断满流就是了,但是注意明显按人直接建边是不可能的,所以要对人进行分类,按照他们的意愿状况,显然意愿状况一样的人建边状况是一样的,所以添加边就可以了源点-》人的种类(某种人的个数)-》可以去的星球(无限)-》原创 2016-10-27 17:08:13 · 284 阅读 · 0 评论 -
hdu 2883 网络流+离散化
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2883题意: 有一个烤肉店,有n个客人,每个客人点ni个ti时间花费的烤肉,每分钟最多烤M个。客人有到和离开的时间限制,问是否可以满足所有客人的需求。(和 hdu3572很像,但是有两点不同。1.3572中每个物品只能有一个机器做,所以网络中物品到单位时间的容量是1.但是这个题不一样,只要能原创 2016-10-27 16:17:22 · 303 阅读 · 0 评论 -
HDU 5889 最短路加网络流
http://acm.hdu.edu.cn/showproblem.php?pid=5889题意: 一个无向图,每条边距离为1,从N走到1,的最短路。。然后每个路有个价值,求一下最小割思路:裸题。。手残BFS总是写错,后来换成SPFA枚举一下就好了。。注意!!!新图建单向边来跑最短路。代码:#include #include #include #inc原创 2016-09-21 14:49:56 · 286 阅读 · 0 评论 -
POJ 3107树的重心
链接:http://poj.org/problem?id=3107题意:找树的重心。。定义就是以重心为根的所有子树里面最大的最小。。。做法:瞎dfs一下就行了。。记录一下子树。。重点:!!!!这个题vector暴力存边并不行。。。。水了这么多水题第一次被卡了。该来的总还是会来。。所以用链式向前星来模拟邻接表。。比vector速度快的很多,也不难写。。。原创 2016-09-07 18:31:32 · 266 阅读 · 0 评论 -
HDU 5727 枚举环排列+二分图匹配/状压
http://acm.hdu.edu.cn/showproblem.php?pid=5727题意:有N个白宝石,N个黑宝石,交错摆放形成环。有一些编号的黑白挨在一起总分会-1。。问题就是最多能有多少价值(起始价值n)思路:关键点(环形排序起始就是n-1的全排列)(标程的启发式搜索并不会。。)法1:二分图最大匹配。。首先枚举一下环排列。。然后我们发现把空和白宝石分原创 2016-07-24 18:49:50 · 379 阅读 · 0 评论 -
HDU 5692 区间最大值+DFS序
http://acm.hdu.edu.cn/showproblem.php?pid=5692题意,一颗树,从0出发,必须经过某个节点,一个节点只能经过一次,总价值最大获得多少?思路,基础的DFS序+线段树瞎搞一下子。每个节点处理一下总价值就可以了。那么就是一个裸的区间最大值了。愉快的水一下。代码:#include #include #include #原创 2016-07-22 19:29:09 · 240 阅读 · 0 评论 -
hdu 1827强连通分量
原题链接题意是有一堆人,和若干关系(单向),你假如选择了一个人,那么其他可以传递的都不需要花费就可以得到。。问最小花费和最少选择人数。。是一个求强连通的题目,因为如果我们把强连通分量缩点了以后,那么其实就是要把入度为0的都选了就可以,注意如果入度为0的是一个缩点就再枚举找一下里面最小的。。接下来就是很显然了,这里套用kuangbin的模板。。第一次做强连通,没有想到缩点原创 2016-06-08 19:52:19 · 324 阅读 · 0 评论 -
Educational Codeforces Round 55 G 最小割
题意,一个图,选一个子图,使得 v[i] 边权,a[i]点权思路:最小割经典模型,我们把边和源相连流量v[i],点和汇向连流量a[i],中间的依赖用inf相连,那么这样的图最小割的含义就是“不选的边和选了的点的和”,那么这个值最小答案自然最大, 就是答案了代码:#include<bits/stdc++.h>#define PB push_back#define ...原创 2018-12-01 14:07:51 · 152 阅读 · 0 评论