图论
ndsffx501ccy
这个作者很懒,什么都没留下…
展开
-
1821: [JSOI2010]Group 部落划分 Group (并查集)
#include#include#include#includeusing namespace std;inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-')f = -1; ch = getchar();原创 2014-07-10 09:20:00 · 357 阅读 · 0 评论 -
3732: Network (树上倍增)
#include #include #include #define inf 1000000000using namespace std;inline int r(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9')原创 2014-10-19 19:06:12 · 172 阅读 · 0 评论 -
1641: [Usaco2007 Nov]Cow Hurdles 奶牛跨栏 (Floyd)
#include#include#define inf 100000000using namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch原创 2014-10-18 19:04:37 · 276 阅读 · 0 评论 -
3402: [Usaco2009 Open]Hide and Seek 捉迷藏 (dijkstra+heap)
#include#include#include#includeusing namespace std;int read() { int x=0,f=1; char ch=getchar(); while(ch'9') { if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&原创 2014-11-02 10:45:43 · 301 阅读 · 0 评论 -
1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会 (强联通分量)
#include#includeusing namespace std;const int N=10001;struct edge{ int to,next;}e[50001];int n,m,cnt,tot,top,ans,ind,head[N],dfn[N],low[N],size[N],q[N];bool inq[N];inline void ins(int u,int v原创 2014-10-18 18:54:51 · 257 阅读 · 0 评论 -
1124: [POI2008]枪战Maf (DFS)
#include#includeusing namespace std;const int maxn=1000001;int n,sum,ans1,ans2,to[maxn],d[maxn];bool vis[maxn];void dfs(int x){ vis[x]=1;sum++; if(!vis[to[x]])dfs(to[x]);}void dfs2(int x,boo原创 2014-10-18 18:50:55 · 310 阅读 · 0 评论 -
【noip模拟赛】时间与空间之旅
#include #include #include #include #define inf 1000000000using namespace std;int T,n,m,cnt,ans,mid,head[105],d[105],q[105];bool mark[105],con[105];struct edge { int to,next,v;} e[200005]原创 2014-10-28 16:59:48 · 250 阅读 · 0 评论 -
[NOIP模拟赛]滑板鞋 (倍增)
读入long long时要把快速读入的返回类型改为long long。#include#includeusing namespace std;inline long long read(){ long long x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch原创 2014-10-18 14:34:51 · 360 阅读 · 0 评论 -
1827: [Usaco2010 Mar]gather 奶牛大集会 (树形DP)
#include#includeusing namespace std;const int N=100001;struct edge{ int to,next,v;}e[N<<1];int n,cnt,s[N],head[N];long long dis[N],size[N],ans,tot;void ins(int u,int v,int w){ e[++cnt]=(edge原创 2014-10-02 12:18:13 · 335 阅读 · 0 评论 -
1098: [POI2007]办公楼biu (bfs+链表)
#include#include#include#include#include#include#includeusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<=原创 2014-11-11 15:00:44 · 476 阅读 · 0 评论 -
2768: [JLOI2010]冠军调查 (最大流)
#include#include#include#define inf 0x7fffffffusing namespace std;struct data{ int to,next,v;}e[100001];int n,m,ans,cnt=1,head[305],h[305],q[305];void insert(int u,int v,int w){ e[++cn原创 2014-11-11 15:37:08 · 815 阅读 · 0 评论 -
1116: [POI2008]CLO (并查集)
#include#include#include#includeusing namespace std;inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-')f = -1; ch = getchar();原创 2014-07-10 09:57:08 · 426 阅读 · 0 评论 -
1196: [HNOI2006]公路修建问题
#include#includeusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}原创 2014-06-19 18:22:05 · 619 阅读 · 0 评论 -
1752: [Usaco2005 qua]Til the Cows Come Home (SPFA)
#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9')原创 2014-07-12 22:48:06 · 401 阅读 · 0 评论 -
3060: [Poi2012]Tour de Byteotia (并查集)
#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+c原创 2014-07-15 21:17:52 · 429 阅读 · 0 评论 -
3436: 小K的农场 (差分约束)
#include#include#includeusing namespace std;int read() { int x=0,f=1; char ch=getchar(); while(ch'9') { if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&&ch<='9')原创 2014-11-02 12:10:42 · 275 阅读 · 0 评论 -
3714: [PA2014]Kuglarz (生成树)
#include#include#includeusing namespace std;struct edge{ int u,v,w;}e[4000001];bool operator<(edge a,edge b){ return a.w<b.w;}int n,cnt,fa[2001];long long ans;int find(int x){ return fa[x原创 2014-09-29 20:25:13 · 313 阅读 · 0 评论 -
2599: [IOI2011]Race (点分治)
#include#include#define inf 1000000000using namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+c原创 2014-11-14 20:37:00 · 688 阅读 · 0 评论 -
1556: 墓地秘密 (最短路+状压dp)
#include#include#include#define p(x,y) (x-1)*4+y+1using namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*原创 2014-11-15 14:48:22 · 938 阅读 · 0 评论 -
2763: [JLOI2011]飞行路线 (分层图最短路+SLF优化)
SLF优化+分层图。SLF优化:ru原创 2014-11-02 09:32:10 · 225 阅读 · 0 评论 -
3389: [Usaco2004 Dec]Cleaning Shifts安排值班 (最短路)
#include#include#include#define pa pair#define inf 1000000000using namespace std;struct edge{ int to,next,v;}e[2000005];int n,T,cnt,dis[1000005],head[1000005];bool vis[1000005];void insert(原创 2014-10-04 21:00:54 · 278 阅读 · 0 评论 -
3251: 树上三角形
#include#include#include#define ll long longusing namespace std;int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+c原创 2014-10-31 20:55:27 · 245 阅读 · 0 评论 -
1059: [ZJOI2007]矩阵游戏 (二分图匹配)
#include#include#includeusing namespace std;bool mp[201][201], y[201];int lk[201];int n;bool find(int x) { for (int i = 1; i <= n; i++) if (!y[i] && mp[x][i]) { y[i] =原创 2014-07-30 23:06:48 · 527 阅读 · 0 评论 -
2330: [SCOI2011]糖果 (差分约束系统)
#include#include#include#include#include#includeusing namespace std;#define inf 0x7fffffffinline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (原创 2014-07-30 23:03:25 · 735 阅读 · 0 评论 -
1295: [SCOI2009]最长距离 (SPFA)
#include#include#include#include#include#includeusing namespace std;#define inf 0x7fffffffinline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (原创 2014-07-30 15:52:10 · 371 阅读 · 0 评论 -
2325: [ZJOI2011]道馆之战 (树链剖分+线段树)
#include#include#include#include#includeusing namespace std;#define inf 1000000000inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while原创 2014-07-27 21:12:52 · 689 阅读 · 0 评论 -
2879: [Noi2012]美食节 (最小费用最大流+动态加边)
#include#include#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while原创 2014-07-23 19:14:07 · 378 阅读 · 0 评论 -
1070: [SCOI2007]修车 (最小费用最大流)
#include#include#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while原创 2014-07-23 17:36:27 · 401 阅读 · 0 评论 -
3171: [Tjoi2013]循环格 (最小费用最大流)
#include#include#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while原创 2014-07-23 17:24:32 · 347 阅读 · 0 评论 -
2424: [HAOI2010]订货 (最小费用最大流)
#include#include#include#include#include#define inf 0x7fffffffusing namespace std;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;ch=getchar();} while原创 2014-07-23 17:16:29 · 742 阅读 · 0 评论 -
2049: [Sdoi2008]Cave 洞穴勘测 (动态树)
#include#include#define inf 1000000000using namespace std;inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-')f = -1; ch = getch原创 2014-07-31 17:21:12 · 442 阅读 · 0 评论 -
2588: Spoj 10628. Count on a tree (可持久化线段树)
#include#include#include#include#includeusing namespace std;#define inf 0x7fffffff#define rd(x) x=read()#define clr(a,b) memset(a,b,sizeof(a)); #define rep(i,n) for(int i=1;i<=int(n);++i)#de原创 2014-07-26 21:53:01 · 343 阅读 · 0 评论 -
1715: [Usaco2006 Dec]Wormholes 虫洞 (SPFA判负环)
#include#include#include#includeusing namespace std;int read() { int x=0,f=1; char ch=getchar(); while(ch'9') { if(ch=='-')f=-1; ch=getchar(); } while(ch>='0'&原创 2014-11-02 09:48:11 · 244 阅读 · 0 评论 -
NOI2014 魔法森林 (动态树)
1.并查集的fa和动态书的fa混用2.原创 2014-09-21 21:57:54 · 326 阅读 · 0 评论 -
1782: [Usaco2010 Feb]slowdown 慢慢游 (DFS序+树状数组)
#includestruct edge{ int to,next;}e[200001];int n,cnt,head[100001],id[100001],ans[100001],v[100001];void ins(int u,int v){ e[++cnt]=(edge){v,head[u]};head[u]=cnt; e[++cnt]=(edge){u,head[v]};hea原创 2014-09-30 21:38:22 · 382 阅读 · 0 评论 -
爱在心中 (强联通分量)
#include #include using namespace std;struct edge { int to, next;} e[50001], d[50001];int n, m, ind, top, cnt, scc, dfn[10001], low[10001], head[10001], h[10001], belong[10001], q[10001],原创 2014-09-22 13:57:22 · 753 阅读 · 0 评论 -
3036: 绿豆蛙的归宿 (Dfs+期望)
#includeusing namespace std;struct edge{ int to,next,v;}e[500001];int n,m,cnt,d[100001],head[100001];double f[100001];bool vis[100001];void ins(int u,int v,int w){ e[++cnt]=(edge){v,head[u],w原创 2014-09-11 20:17:35 · 522 阅读 · 0 评论 -
2152: 聪聪可可 (点分治)
#includeusing namespace std;struct edge{ int to,next,v;}e[40001];int n,cnt,ans,root,sum,head[20001],son[20001],f[20001],d[20001],t[3]; bool vis[20001];inline int gcd(int a,int b){ return b==0?原创 2014-09-07 22:40:45 · 493 阅读 · 0 评论 -
1324: Exca王者之剑 (最大流)
没加当前弧优化 56ms#include#define inf 1000000000using namespace std;const int xx[4]={-1,1,0,0},yy[4]={0,0,-1,1};inline int read(){ int x=0,f=1;char ch=getchar(); while(ch'9'){if(ch=='-')f=-1;c原创 2014-08-26 22:15:22 · 467 阅读 · 0 评论 -
2733: [HNOI2012]永无乡 (线段树+并查集)
#include#include#define inf 1000000000using namespace std;inline int read() { int x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-')f = -1; ch = getch原创 2014-07-31 20:00:20 · 1141 阅读 · 0 评论