摘要: 二分图的最大匹配。课程和时间可以看做二分图。#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 阅读(166) 评论(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 阅读(174) 评论(0) 推荐(0)
摘要: 脑洞题。开个数组记录一下每个点的左边部分的和右边部分的和。只要知道第一个点和最后一个点的情况,其余的点的情况可以再o(n)的效率下推导出来。#include#include#include#includeusing namespace std;const int maxn=10000;long lo... 阅读全文
posted @ 2015-08-01 15:30 Fighting_Heart 阅读(231) 评论(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 阅读(207) 评论(0) 推荐(0)
摘要: 二分图的最大匹配地鼠内部和地鼠洞内部都是没有边相连的,那么就可以看成一个二分图。地鼠如果可以跑到那个地鼠洞,就连一条边,然后跑二分图的最大匹配,最后地鼠的数量减去最大匹配数就是答案。#include#include#include#includeusing namespace std;const i... 阅读全文
posted @ 2015-08-01 11:54 Fighting_Heart 阅读(189) 评论(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 阅读(154) 评论(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 阅读(149) 评论(0) 推荐(0)