上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 69 下一页
摘要: 最小费用最大流,因为要控制字典序,网络流控制不好了...一直WA,所以用了费用流,时间早的费用大,时间晚的费用少。构图:建立一个超级源点和超级汇点。超级源点连向1操作,容量为K,费用为COST,然后COST-1,因为下一次遇到1操作,费用为减少1,即COST-1;每个1操作连向当前能建造的城市,容量... 阅读全文
posted @ 2015-08-05 07:51 Fighting_Heart 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 历时好几天,终于完工了!支持无向图四种功能:1.割点的求解2.割边的求解3.点双连通分量的求解4.边双连通分量的求解全部支持重边!!!!全部支持重边!!!!全部支持重边!!!!测试数据:10 111 53 54 52 42 34 66 86 77 88 108 9/*By:ZUFE_ZZT该模板经过... 阅读全文
posted @ 2015-08-03 16:42 Fighting_Heart 阅读(1696) 评论(0) 推荐(0) 编辑
摘要: Tarjan算法求解割点#include#include#include#include#includeusing namespace std;const int maxn=1111;//有多少个结点vectorG[maxn];int visited[maxn];//标记该节点有没有访问过int n... 阅读全文
posted @ 2015-08-03 16:36 Fighting_Heart 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 可以转化成最小割的求解,题目其实就是要求把点分成两个集合,增加一个超级汇点,一部分的点在根节点所在集合内,一部分节点在超级汇点所在的集合内,这两就分开了,又要求费用最小,那么就是最小割。#include#include#include#include#include#include#includeu... 阅读全文
posted @ 2015-08-03 11:49 Fighting_Heart 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 树形DP#include#include#include#include#includeusing namespace std;const int maxn=6666;int Ch[maxn];int dp[maxn][2];int n,u,v,node,tot;vector G[maxn];voi... 阅读全文
posted @ 2015-08-03 10:12 Fighting_Heart 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 二分图的最大匹配。课程和时间可以看做二分图。#include#include#include#includeusing namespace std;const int MAXN=505;int nx,ny;int g[MAXN][MAXN];int cx[MAXN],cy[MAXN];int mk[... 阅读全文
posted @ 2015-08-01 18:43 Fighting_Heart 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 求有几个割点。数据比较水,用了朴素方法。。。30ms。。。#include#include#include#include#includeusing namespace std;char s[1000000];int n,u,v,tot,len,sum;const int INF=0x7FFFFFF... 阅读全文
posted @ 2015-08-01 17:58 Fighting_Heart 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 脑洞题。开个数组记录一下每个点的左边部分的和右边部分的和。只要知道第一个点和最后一个点的情况,其余的点的情况可以再o(n)的效率下推导出来。#include#include#include#includeusing namespace std;const int maxn=10000;long lo... 阅读全文
posted @ 2015-08-01 15:30 Fighting_Heart 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 树状数组+离线操作#include#include#include#includeusing namespace std;int N,M;int SUM1,SUM2,SUM3,SUM4;int C[500000+20];struct Point{ int x,y,PD,ans,id,BiX,B... 阅读全文
posted @ 2015-08-01 15:27 Fighting_Heart 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 二分图的最大匹配地鼠内部和地鼠洞内部都是没有边相连的,那么就可以看成一个二分图。地鼠如果可以跑到那个地鼠洞,就连一条边,然后跑二分图的最大匹配,最后地鼠的数量减去最大匹配数就是答案。#include#include#include#includeusing namespace std;const i... 阅读全文
posted @ 2015-08-01 11:54 Fighting_Heart 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 判断最小生成树是否唯一:先求一遍MST,每次删去MST的一条边,求MST,如果发现有一次求出来的权值之和和一开始的一样,那么就不唯一了。#include#include#include#includeusing namespace std;const int maxn=111;int n,m;str... 阅读全文
posted @ 2015-08-01 10:51 Fighting_Heart 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 答案就是最小生成树中权值最大的边#include#include#include#includeusing namespace std;const int maxn=505;struct Edge{ int from,to,w;} edge[250000+10];int n,ans;int G... 阅读全文
posted @ 2015-08-01 10:14 Fighting_Heart 阅读(141) 评论(0) 推荐(0) 编辑
摘要: SPFA水题。记录一下到这个结点的最大承载能力。因为一个小错误而WA了一晚上,悲催,T_T......#include#include#include#include#include#includeusing namespace std;const int maxn=1000+10;struct E... 阅读全文
posted @ 2015-07-31 22:23 Fighting_Heart 阅读(137) 评论(0) 推荐(0) 编辑
摘要: /*http://acm.hust.edu.cn/vjudge/contest/view.action?cid=71805#problem/C*/性质:【1】二分图最大点独立数=顶点数-二分图的最大匹配【2】二分图最小点覆盖数=二分图的最大匹配这个题目就是求最大点独立集,根据性质【1】可以求解。对于... 阅读全文
posted @ 2015-07-31 15:12 Fighting_Heart 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 区间DP#include#include#include#includeusing namespace std;char s[1000];int dp[105][105];int main(){ int i,j,k; while(~scanf(" %s",s)) { ... 阅读全文
posted @ 2015-07-30 10:24 Fighting_Heart 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 大致思路就是运用SPFA,不断地求解最小费用的一条从原点到汇点的路径,然后增广一次;直到不能增广了,那么就得到了答案。#include#include#include#include#include#includeusing namespace std;//设置节点数量const int maxn=... 阅读全文
posted @ 2015-07-29 11:02 Fighting_Heart 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 没有源点和汇点、流量有上下界的网络可行流问题。今天看了一下午的有上下界的网络可行流问题,在似懂非懂、非常朦胧的状态下过了这个题...激动了半天。求解的方法:http://www.cnblogs.com/zufezzt/p/4681035.htmlAC代码:#include#include#inclu... 阅读全文
posted @ 2015-07-27 19:41 Fighting_Heart 阅读(554) 评论(3) 推荐(0) 编辑
摘要: 之前涉及到的网络流问题,每条弧的容量下限都是0,上限都是C。而在流量有上下界的网络流问题中,每条弧有一个流量下界low,还有一个上界up。对于这样的问题,一般都三类:1.没有源点和汇点的有上下界的可行流问题2.有源点和汇点的有上下界的网络最大流问题3.有源点和汇点的有上下界的网络最小流问题第一类问题... 阅读全文
posted @ 2015-07-27 19:37 Fighting_Heart 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 由网络最大流最小割定理可以很容易的知道,最小割在数值上是等于最大流的。【1】如果题目要求的是最小割的数值,那么只要跑一遍网络最大流即可得出答案。【2】如果要求的是S集合和T集合,那么先跑一遍网络最大流,然后在跑完网络最大流的残留网络中,从源点Vs开始进行DFS,能遍历到的节点都属于S集合,最终,剩下... 阅读全文
posted @ 2015-07-27 09:49 Fighting_Heart 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 我的方法是将题目中给的那个串(anniversary)拆分成三段。枚举所有情况,也就100多种的样子。每一种情况去判断在输入的串中能不能找到这三个串,并且不相交。o(︶︿︶)o 唉,思路很快就有了,代码写得丑,找错找了半天,最终在场外Submit的1A了。写题时候脑瘫,还搞了个KMP上去。。。其实长... 阅读全文
posted @ 2015-07-26 09:06 Fighting_Heart 阅读(183) 评论(0) 推荐(0) 编辑
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 69 下一页