
图论
南宫嘉俊
学生
展开
-
ZOJ 2412 Farm Irrigation(DFS)
就是用DFS找个数#include#include#includeusing namespace std;const int maxm=55;char map[maxm][maxm];int DIR[22][2] = {{0,1},{1,0},{0,-1},{-1,0}};int dir[22][4] = {{0,0,1,1}, {1,0,0,1}, {0,1,1,0}, {1,1,原创 2015-10-12 18:28:57 · 383 阅读 · 0 评论 -
HDU 1546 Idiomatic Phrases Game(最短路径)DIJ算法
Idiomatic Phrases GameTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3144 Accepted Submission(s): 1019Problem DescriptionTom原创 2016-05-04 22:56:31 · 499 阅读 · 0 评论 -
线段树区间修改
#1078 : 线段树的区间修改时间限制:10000ms单点时限:1000ms内存限制:256MB描述对于小Ho表现出的对线段树的理解,小Hi表示挺满意的,但是满意就够了么?于是小Hi将问题改了改,又出给了小Ho:假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品的价格为Pi。小Hi的每次操作分为两种可能,第一原创 2016-04-27 16:53:26 · 518 阅读 · 0 评论 -
coderforce Codeforces Round #333 (Div. 1) A. The Two Routes
题意:给你一个完全图,里面的边不是火车道就是汽车道,然后任意时刻,火车和汽车都不能相遇在除了1,n的其他点每条边的边权值都是1,然后问你最小时间使得两种车都能到达n点解:两个Floyd算法搞定。题目中要求两个相遇的最小,则输出的应该判断二者可不可以到达,若可以到,则输出两个时间的最大,不可以就输出-1.#include#include#includeusing namespace原创 2015-11-27 10:39:50 · 374 阅读 · 0 评论 -
HDU 5323 Solve this interesting problem(DFS)
题意:求最小的线段树的右端点(根节点表示区间[0,n]),使得给定的区间[L,R]是线段树的某个节点。#include#include#includeusing namespace std;#define LL long longconst LL inf=0x3f3f3f3f3f3f3f3f;LL ans;void dfs(LL l,LL r){ if(l==0)原创 2015-10-15 22:23:35 · 374 阅读 · 0 评论 -
HDU 1285 确定比赛名次(拓扑排序)
#include#include#includeusing namespace std;const int maxm=1e3+10;int edge[maxm][maxm];int d[maxm];void topsort(int m){ int k=0; for(int i=1;i<=m;i++) { for(int j=1;j<=m;j+原创 2015-10-15 09:46:32 · 272 阅读 · 0 评论 -
POJ 1861 Network(KUS算法)
简单的最短路,不过,这题的OUTPUT是错的,要注意。#include#include#includeusing namespace std;const int maxm=1e5;int p[maxm];int X[maxm],Y[maxm];int m,n;int MIN;int num;struct node{ int u,v,w;}t[maxm];int c原创 2015-10-14 21:06:23 · 320 阅读 · 0 评论 -
ZOJ 1649 Rescue(BFS)
基础BFS#include#include#include#include#includeusing namespace std;const int maxm=205;const int inf=1<<29;int m,n;int x1,y1,x2,y2;char map[maxm][maxm];int vis[maxm][maxm];int w[maxm][maxm];原创 2015-10-13 16:52:50 · 393 阅读 · 0 评论 -
POJ 1465 Multiple(BFS+同于定理+打印路径)
BFS+同于定理。(看了解题报告才会的),这题实在太巧妙#include#include#includeusing namespace std;const int maxm=1e4+10;int vis[maxm];int d[maxm];int m,n;int ok;struct node{ int pre; int yu; int dig;}que原创 2015-10-13 22:06:01 · 482 阅读 · 0 评论 -
HDU 2454 Degree Sequence of Graph G(Havel-Hakimi定理,图论基础)
题意:判断是否可以构成图,简单的Havel-Hakimi定理的运用)#include#include#includeusing namespace std;const int maxm=1005;struct node{ int degree; int index;}v[maxm];int cmp(node p,node q){ return p.degr原创 2015-10-12 11:32:46 · 523 阅读 · 0 评论 -
ZOJ 2165 Red and Black(DFS,水题)
#include#include#includeusing namespace std;const int maxm=50;char map[maxm][maxm];int vis[maxm][maxm];int m,n;int cnt;int dir[4][2]= {{1,0},{-1,0},{0,1},{0,-1}};void dfs(int x,int y){原创 2015-10-13 08:35:39 · 395 阅读 · 0 评论 -
HDU 1010 Tempter of the Bone(DFS)
题意:判断,能否从S到D,恰好在T时间到。#include#include#includeusing namespace std;const int maxm=10;int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};char map[maxm][maxm];int vis[maxm][maxm];int x1,y1;int m,n,T;in原创 2015-10-12 16:27:43 · 282 阅读 · 0 评论 -
POJ 1659 Frogs' Neighborhood(Havel_Hakimi定理,图论基础)
Havel定理描述给定一个非负整数序列{d1,d2,...dn},若存在一个无向图使得图中各点的度与此序列一一对应,则称此序列可图化。进一步,若图为简单图,则称此序列可简单图化。可图化的判定比较简单:d1+d2+...dn=0(mod2)。关于具体图的构造,我们可以简单地把奇数度的点配对,剩下的全部搞成自环。可简单图化的判定,有一个Havel定理,是说: 我们把序列排成不增序,即d1>原创 2015-10-12 11:16:11 · 389 阅读 · 0 评论 -
ZOJ 2027 Travelling Fee(最短路)
Travelling FeeTime Limit: 2 Seconds Memory Limit: 65536 KBSamball is going to travel in the coming vacation. Now it's time to make a plan. After choosing the destination city, the next st原创 2016-05-18 09:55:51 · 447 阅读 · 0 评论