摘要:1、写了模板类,模板函数的定义需要写在.h文件中。 2、一个bool类型是1字节,然后都是用指针来声明数组大小,所以memset(exit, false, (sizeof exit)),错误,因为sizeof指针得到的是4,不是数组的大小,然后我memset(exit, false, (sizeof
阅读全文
摘要:http://www.lydsy.com/JudgeOnline/problem.php?id=3732 首先想到,要使得最长边最短,应该尽量走最短的边,在MST上。 然后像LCA那样倍增娶个最大值 #include <bits/stdc++.h> #define IOS ios::sync_wit
阅读全文
摘要:http://codeforces.com/gym/100269/attachments 首先建图,然后图中每条边的权值是会变化的,是由dis[x] + dis[y] > dis[make],然后就相当于新增加一个原点0,求0到1的最短距离 如果用了2更新4失败,但是2本来不是最优的,就是可以用7和
阅读全文
摘要:http://codeforces.com/contest/160/problem/D base on 克鲁斯卡尔, 首先每次都是对权值相同的边进行统一处理,假如加入了当前这条边出现了回路,那就能确定这条边是none的。 否则,让它加入进图,(先不合并),然后找到这个图的桥,那些就是any的,其他都
阅读全文
摘要:https://scut.online/p/112 题面好像看不了吧, 思路是把相邻的点都建立一条边,然后跑最小费用最大流。把点hash成两部分,然后需要建立双向边,这样以后匹配数 / 2就是原图的最大匹配。 最小费用最大流感觉就是,用spfa代替了原来的bfs增广路,spfa的同时保证了cost最
阅读全文
摘要:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 很久以前做的一题,当时队友用最大流做,现在我也是 这个转化为二分图多重匹配,就是一样的意思了。 设出一个原点S,两个人1,和2,S-->1的流量是n表明只能流出n个字母,s-->2的流量是
阅读全文
摘要:http://hihocoder.com/problemset/problem/1369?sid=1108721 别人都说先学网络流再学二分图,但是我先学了二分图的,感觉网络流好高端啊。 首先对于原图,e[u][v],找到一条路径从be --> en后,要更新残余网络。 什么意思,其他东西自己百度。
阅读全文
摘要:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1552 把那n个数写两次,分成相同的两堆,判断相加是质数的,连一条边,然后找最大匹配,ans = 最大匹配 / 2 做的时候一直超时,原来是Miller_Rabin的quick_pow那里需要qu
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3686 我要把这题记录下来。 一直wa。 自己生成数据都是AC的。现在还是wa。留坑。 我感觉我现在倒下去床上就能睡着了。 不知道是我的LCA错了,还是tarjan #include <cstdio> #inclu
阅读全文
摘要:http://hihocoder.com/problemset/problem/1190?sid=1051696 先抄袭一下 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho从约翰家回到学校时,网络所的老师又找到了小Hi和小Ho。 老师告诉小Hi和小Ho:
阅读全文
摘要:http://codeforces.com/gym/100712/attachments 题意是给定一个无向图,要求添加一条边,使得最后剩下的桥的数量最小。 注意到在环中加边是无意义的。 那么先把环都缩成一个点,然后重新建立一颗树,找出树的直径就好。 #include <cstdio> #inclu
阅读全文
摘要:http://poj.org/problem?id=3020 首先注意到,答案的最大值是'*'的个数,也就是相当于我每用一次那个技能,我只套一个'*',是等价的。 所以,每结合一对**,则可以减少一次使用,所以就是找**的最大匹配数目。 对于每一个*,和它的上下左右连接一条边(如果是*才连) 那么,
阅读全文
摘要:http://poj.org/problem?id=2186 首先求出所有的强连通分量,分好块。然后对于每一个强连通分量,都标记下他们的出度。那么只有出度是0 的块才有可能是答案,为什么呢?因为既然你有了出度,那么就是指向了另外一个块,那么你就不能指望那个块也指向你了,因为这样会形成环,所以肯定有一
阅读全文
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 一开始想的时候,看到要使得最大值最小,那这样肯定是二分这个最大值了,然后每一次都跑一次kruskal 这样的复杂度是O(E * 64),然后被卡TLE了 然后观察到k
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2828 给定n个灯,m个开关,使得每栈灯亮,前提是控制这栈灯的开关的状态是其中一个。(题目应该都看得懂) 其实我想了挺久的,比赛的时候还想不出。但是直觉就告诉我是二分图匹配,虽然网上说什么精确覆盖。 不懂。 我的做
阅读全文
摘要:http://poj.org/problem?id=1511 求解从1去其他顶点的最短距离之和。 加上其他顶点到1的最短距离之和。 边是单向的。 第一种很容易,直接一个最短路, 然后第二个,需要把边反向建一次,跑一个最短路就好。 ★、cin cout 超时 #include <cstdio> #in
阅读全文
摘要:http://poj.org/problem?id=3522 一开始做这个题的时候,以为复杂度最多是O(m)左右,然后一直不会。最后居然用了一个近似O(m^2)的62ms过了。 一开始想到排序,然后扫一个长度n - 1区间,要快速判定这个区间能否构成MST,一直都想不到优秀的算法,然后干脆暴力了。
阅读全文
摘要:http://codeforces.com/contest/761/problem/C 对于每一个字符串,可以预处理出其到达数字,字母,和特殊符号所需的最小步数。 然后就是在n个东西中,选出数字、字母和特殊符号,至少一个,所需的最少步数。 因为第一个选了数字的话,它就不能选字母的了,然后比赛的时候发
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5036 题意就是给定一副有向图,现在需要走遍这n个顶点,一开始出发的顶点是这n个之中的随便一个。 如果走了1,那么1能联通的顶点就可以直接走过去,其他不和1连通的,就需要炸坏。问需要炸弹的期望。 比如一副图是1--
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1285 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #include
阅读全文