自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aszxqw

新博客地址 http://yanyiwu.com

  • 博客(239)
  • 收藏
  • 关注

原创 POJ1469 二分图极度基础题

#includeusing namespace std;const int N=505;const int M=505;int p,n;bool mat[M][N];bool visit[N];int link[M];bool dfs(int u)

2011-08-21 22:23:36 422

原创 POJ2075 prim+map 水题

没啥意思这种题,就是练习下prim的模板。#include#include#includeusing namespace std;double cap;int n,m;map mymap;const double inf =99999999.0;

2011-08-21 10:03:51 460

原创 POJ1751 PRIM基础题(模板)

那个mst函数是我自己写的。有点超时。学习了一下别人的prim模板。以后要改进了。#include#includeusing namespace std;int n,m;const int N=755;const int M=1005;cons

2011-08-21 00:48:39 461

原创 POJ2446 二分图应用

关键点:看成国际象棋黑白点。相邻的颜色不同。黑白两种群满足二分图。#includeusing namespace std;int r,c,hole;const int N=35;int input[N][N];int na,nb;int a[N

2011-08-20 20:50:15 371

原创 POJ2226最大匹配经典构图

实质上要认识到,每一个连续的行或者列。都可以当成一个点。如果两个点有交线,则说明对于该'*'点,既可以用横的木板盖住。很不错的题目。#includeusing namespace std;#define CLR(dir,v) memset(dir,v,size

2011-08-20 17:37:46 573

原创 二分图匹配算法总结

转自http://old.blog.edu.cn/user3/Hailer/archives/2007/1829623.shtml二分图匹配算法总结 二分图最大匹配的匈牙利算法  二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联在两个顶点中,恰

2011-08-18 14:51:21 829

原创 POJ2060 Taxi Cab Scheme [最小路径覆盖]

转载的文章:     根据这道题目的意思,我们可以建一张图,对于两个booked taxi ride,ri和rj如果一辆车能够先完成ri的任务再有时间赶去完成rj的任务,那么就建立一条ri指向rj的边。2060 : Taxi Cab Scheme (匈牙利)" style="margin-top:0px; margin-right:0px; margin-bottom:0px;

2011-08-18 14:16:32 379

原创 POJ1274 The Perfect Stall [二分图最大匹配 匈牙利算法]

二分图最大匹配入门题。#include#include#include#include#include#define llong long long#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?a:b)#define Abs(a) ((a)>0?(a):-(a))#define Mod(a,b) (((a)-1+(b))%(b

2011-08-16 15:22:23 445

原创 POJ1502

这题真TM传奇,是至今我做的最垃圾最没有意义的题目。#includeusing namespace std;int n;const int inf=99999999;const int N=105;int visit[N];int mat[N][N];

2011-08-13 00:52:23 1198

原创 POJ1861 Network [kruskal + 并查集]

刚开始用prim。。。超时。。。。。。。。。#include#include#include#include#include#define llong long long#define Min(a,b) (a<b?a:b)#define Max(a,b) (a>b?a:b)#define Abs(a) ((a)>0?(a):-(a))#define Mod(a,b) (((

2011-08-12 14:50:20 501

原创 POJ1088 深搜+DP

刚一开始第一感觉是用深搜。发现TLE。然后dp优化。dp的方程就是 dp[y][x]=dp四个方向+1;#includeusing namespace std;int m,n;const int N=105;int mat[N][N];int

2011-08-12 12:40:55 406

原创 poj1287 mst水题

很水很简单。#includeusing namespace std;const int N=55;const int inf=99999999;int m,n;int mat[N][N];bool visit[N];void mst()

2011-08-11 10:38:57 326

原创 POJ1562 dfs水题

#includeusing namespace std;const int N=110;int dx[8]={-1,0,1,1,-1,-1,0,1};int dy[8]={-1,-1,-1,0,0,1,1,1};int m,n;char mat[N][N]

2011-08-10 14:49:27 864

原创 POJ1847 dijkstra 水题

#includeusing namespace std;const int inf=9999999;const int N=105;int mat[N][N];int d[N];bool visit[N];int n,a,b;void dijks(

2011-08-10 00:56:37 320

原创 POJ1603 floyd水题

神水之题。但是最狗血的是我把输出:冒号用拼音输入形式的冒号。wa了几千次。。。突然想到上一次复杂bfs题目,wa到最后还是不知道为什么wa。现在突然想起来那时候也是:用汉字形式的冒号。坑爹。#includeusing namespace std

2011-08-09 15:13:42 544

原创 POJ1324 复杂bfs

说复杂也不是非常复杂。但是TM的就是很难搞明白自己错再哪。又TM的没几个测试数据。被搞得实在吐血,决定放弃。只能学着别人的代码理了理敲进去AC空虚一下。哎。位操作不熟悉。里面还有一点hash的思想。哎。题目考的东西一综合起来,就总是做不好。。。。。。。实在

2011-08-08 23:50:29 451

原创 POJ1273 最大流水题

总结起来就是很水很简单。但是有陷阱,参看一下poj的discuss避免掉陷阱就ac。#includeusing namespace std;const int MAX=100000005;const int N=205;int n,m;int mat[

2011-08-06 13:04:41 321

原创 POJ1161 几何+floyd+枚举

第一次floyd ,第一次自己构图,第一次就AC。不得不说感觉很爽。思路:每个区域是一个点。主要过程是花费在构图上。最后的枚举本来卡住了,后来才发现对于第i个人所属的每个区域用枚举的时候。直接对每个人的区域取最小的那个就行。哎,很简单的,当时脑子不知道咋的就卡在那。

2011-08-05 16:48:25 361

原创 POJ1135 DIJKSTRA+枚举。

啥话都懒得说了。#include#include#includeusing namespace std;int n,m;const int N=505;const int M=0x3fffffff;int mat[N][N];int d[N];

2011-08-02 02:14:12 329

原创 POJ1122 DIJKSTRA

这是道烂题目,思路的难度比阅读题目的难度还低。然后输出的恶心格式。反正就是烂题。#include#include#includeusing namespace std;const int N=22;int street[N][N];unsigned int dist[N];int

2011-07-26 20:41:43 411

原创 POJ3414 BFS

思路简单,BFS,就是其中一些小技巧比较恶心。代码也写得恶心。#include//#include#includeusing namespace std;const int N=105;char str[7][10]={"","FILL(1)","FILL(2)","DROP(1

2011-07-25 01:38:00 325

原创 POJ3087 模拟

还能比这道题更水吗。只要看的懂题意直接模拟法写了就行。没编译器的话甚至直接在记事本上写写交了也可以AC的。#includeusing namespace std;const int N=205;char s1[N],s2[N],s12[N],s01[N],s02[N];int c

2011-07-24 01:58:29 446

原创 POJ3126 BFS

这题。。。。一次就A了。有点太水了。其中本来还觉得就判断质数比较耗时。其实只要先制成一张质数的表。每次去查就行了。耗时就小了。#include#include#includeusing namespace std;int data,target;bool prime[10005]

2011-07-21 23:23:55 452

原创 POJ1426 BFS

BFS水过去,但是还得用到__int 否则就纠结了。#includeusing namespace std;const int N=200,M=100;int n;__int64 que[9999999];void bfs(){ int head=1,tail=1; que[ta

2011-07-19 22:01:13 773

原创 POJ3278 BFS 水题

只要能看懂题就知道bfs一下就出来了。唯一思考了一下的地方是记录步数。我用的int visit[N]来记录步数。我觉得效果还行。#include#includeusing namespace std;const int N=200005;const int K=200005;in

2011-07-19 20:05:21 799

原创 POJ2251 BFS基础题

很简单。失误的是刚开始用DFS,超时了。#include#includeusing namespace std;const int N=35;struct node{ int l,r,c,step; node(int a1=0,int a2=0,int a3=0,int ste=

2011-07-17 23:49:20 1241

原创 POJ1321 DFS+回溯

这题让我真正理解了回溯,之前自己写的代码一直写不好,对回溯理解不好。dfs(y+1,step);这个代码一下子就解决了回溯的问题。还是太菜了。还有一点就是,之前的DFS都是上下左右的移动,这次刚开始做不好就是没理解透。其实这次的以行为节点,然后以列为上下左右去移动。这样写出来的代

2011-07-17 22:01:18 342

原创 POJ3009DFS

DFS的简单应用。#includeusing namespace std;const int N=25;int movex[4]={0,0,-1,1};int movey[4]={-1,1,0,0};int maze[N][N]; int nx,ny;struct node{ i

2011-07-17 08:56:21 563

原创 POJ3083BFS

这题做得还行。0MS通过。我觉得就最短路径的时候需要用到算法bfs。其他两个其实就是一个计算机模拟的而已,简单的数学思维就行了。反正就是两种方法走,第一种走是贴着左墙走,第二种是贴右墙,自己模拟走走就知道有规律可循。#include#includeusing namespace

2011-07-16 21:23:38 311

原创 POJ2488 DFS

思路很简单,就是dfs。但是AB12的比较恶心。对dfs还不是很上手,参考了一下别人的代码。 visit[y][x]=true; for(int i=0;i { if(canvisit(x+chx[i],y+chy[i])) dfs(x+chx[i],y+chy[i],st

2011-07-15 21:21:21 794

原创 POJ2513 并查集+hash+欧拉回路

网上盛传这题非常好,可以用多种方法解。哎,这是第一次遇到并查集的题目,下面的代码基本上都是看着别人的代码写的,算是打酱油了。思路:一个棒子两头有颜色,类比为欧拉回路,每个颜色为一个地点,每个棒子是一个边路。(欧拉通路要求:1.图是连通的。2.图中只有0个或2个节点的度为奇数。)所

2011-07-14 13:18:42 515

原创 POJ 1182 并查集

待续

2011-07-14 02:50:00 314

原创 poj2503 hash

poj2503,用hash,但是hash函数构造得很烂,耗时长,懒得改了,算是水过去了。。。。哎。#include#include#include#includeusing namespace std;const int N=100000;char dialect[N][11];

2011-07-13 11:45:11 577

原创 poj 1840 简单hash。

poj 1840 简单hash。与其说是hash,我倒觉得这只是函数映射的思想而已。//return a[0]*pow(double(x1),double(3))+a[1]*pow(double(x2),double(3))+a[2]*pow(double(x3),double(

2011-07-10 19:38:04 488

原创 poj3274数组的哈希

poj3274这道题做得坎坷啊,刚开始没注意看hint,硬生生地一直看不懂题意。好不容易看懂题目后也没什么思路。参看别人的思路后了下面巨丑无比的代码,懒得改了。这道理给我的收获就是,有些题目不能急,是需要先用数学推理一些等价关系后才会知道该用什么算法的。思路:sum[i][j]前

2011-07-09 23:45:23 1190

原创 poj3349 哈希函数

poj3349 只要用上hash就没问题了,还有主要要用scanf,否则会超时。wa了无数次,是因为cmp函数还写好,细节决定成败。本来以为找k只要找出第一次相等的那个就行了其实这样是错误的 这样的话,6 2 2 1 1 6和 6 6 2 2 1 1就没办法相同。 所以找k必须是

2011-07-09 19:08:36 1021

原创 poj1080

实在是太菜太菜,被这道题折腾了不少时间,后面参看了不少解题报告才勉强算是懂了。lcs算法的关键部分就是递推(动态规划)和边界条件。#include#includeusing namespace std;int max(int a,int b,int c){ r

2011-07-09 08:23:24 427

原创 poj1159

回文。第一感觉就可以猜出来大概是和他自己的倒序序列求公共子序列。然后验证了几个例证之后发现果然如此。就可以大胆编了。然后就是LCS,很基础。下面这个代码不是最优。空间复杂度和时间复杂度都再优化。特别是空间复杂度可以用一位数组来试试。Source CodeProblem: 1159

2011-07-09 08:22:48 429

原创 POJ2299

POJ2299 只要理清逆序数的思想,再套上归并算法的模板再注意点 long long sum。不能用int就ok了。Source CodeProblem: 2299 User: 64162451Memory: 3820K Time: 1266MSLanguage: C++ Re

2011-07-09 08:22:11 1180

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除