- 博客(43)
- 收藏
- 关注
原创 POJ1979 Red and Black dfs基础题
#includeusing namespace std;int n,m;const int N=22;char mat[N][N];int sx,sy;int dx[4]={-1,0,0,1};int dy[4]={0,1,-1,0};int ans;bool visit[N][N];void dfs(int x,int y){ for(int i=0;i<4;i++)
2011-08-31 22:56:26 548
原创 POJ2570 Fiber Network floyd传递闭包
其实这题还是不难。精彩的地方在于用位处理来记录公司。这样再用floyd传递闭包时候只需要位运算。很妙。#include#includeusing namespace std;int n;const int N=205;int mat[N][N]
2011-08-31 19:53:56 380
转载 10年软件开发教会我最重要的10件事
转自http://kb.cnblogs.com/page/104895/10年软件开发教会我最重要的10件事来源: jobbole 发布时间: 2011-06-10 20:56 阅读: 2016 次 全屏阅读 [收藏] 0. “
2011-08-30 20:29:16 671
原创 POJ1112 Team Them Up! 连通图 染色 DP
思路:1.本题数据是单向边,说明是有向图,但是其实分析题目,要求是互相认识,则单向边需要处理成无边,即有向图处理成无向图。2.求补集。然后求极大联通分量,在同一个连通分量里的两个人都是互相不认识。在不同连通分量里的两个人互相认识。3.用dfs求联通分量
2011-08-29 20:05:37 942
原创 POJ1087 A Plug for UNIX 二分图最大匹配
思路很简单,显然是2分图最大匹配。其中需要floyd处理一下。构图很恶心。个人觉得这题出得不好。#include#include#includeusing namespace std;int n,m,k;const int N=405;int a[N],b[N];bool mat[N][N];bool visit[N];int link[N];b
2011-08-28 02:02:40 525
原创 POJ1325 Machine Schedule 二分图最大匹配
基础题。注意点在于当模式等于0时的处理。#includeusing namespace std;int n,m,k;const int N=105,M=1005;bool mat[N][N];bool visit[N];int link[N];
2011-08-27 21:53:16 423
原创 POJ2594 Treasure Exploration 最小点覆盖题目[有重复点]
最小点覆盖题目。注意:这里的每个节点可以让多个路径通过。故需要先用floyd处理一遍。#includeusing namespace std;int n,m;const int N=505,M=5005;bool mat[N][N];bool vi
2011-08-27 21:28:32 478
原创 POJ1466 二分图最大独立集[有陷阱的一道题]
刚开始写错:代码如下(应该有不少人犯和我一样的错误)#includeusing namespace std;int n;const int N=505;bool mat[N][N];bool visit[N];int link[N];bool df
2011-08-27 19:57:07 532
原创 POJ3692 二分图最大团 最大独立集
本质是最大团的问题。转化成补集的最大独立集的问题。这题的巧妙之处就在此。#includeusing namespace std;const int N=205;int link[N];bool visit[N];bool match[N][N];
2011-08-27 00:02:39 1026
原创 POJ3216 floyd+二分图应用(最小路径覆盖)
主要难点是在最小路径覆盖,详细见本博客转载的 最小路径覆盖。不得不是说,这是一道很不错的题目。刚开始wa。是因为没理解清楚最小路径覆盖的二分图思想。构图的时候要注意,每个节点代表任务,而不是block。当这个任务i做完可以去做任务j。则match[i][j]=tr
2011-08-26 22:25:11 697
原创 POJ3311 FLOYD+DP 旅行商类问题[模板]
思路:先用floyd处理一次这个很容易想到。查了一下网上都是用旅行商问题。第一次做这种旅行商DP问题。下面是参考别人的代码。据说用传统枚举暴力也可以的。因为N=10;#includeint n;const int N=12;int dp[1
2011-08-26 13:50:36 1346
转载 你怎么跟你奶奶说明什么是XML?
zz北邮人论坛发信人: wks (cloverprince), 信区: WWWTechnology 标 题: 你怎么跟你奶奶说明什么是XML? 发信站: 北邮人论坛 (Thu Aug 25 13:57:06 2011), 站内 我觉得XML真的不难啊。不
2011-08-26 12:54:23 578
原创 POJ3275 FLOYD邻接表 [模板]
#includeconst int N=1005;int n,m;bool mat[N][N];int prec[N][N],succ[N][N];void floyd(){for(int k=1;k{for(int i=1;i{int
2011-08-25 22:28:39 1541
原创 POJ2457 dij最短路也可以做
我用的是dij最短路做。刚开始wa了。因为记录路径的问题。。。太菜了。#includeusing namespace std;int n,m;const int N=1005;bool mat[N][N];bool visit[N];int d[N
2011-08-25 14:26:55 898
原创 POJ2387 最短路入门题 [spfa,dijstra+heap]
思路:最短路入门题。很久前做的题目,今天重写了一下,算是复习了一下最短路,整理一下spfa代码模板和dijstra+heap的代码。SPFA:32ms#include#include#include#include#include#define llong long long#define Abs(a) ((a)>0?(a):-(a))#define Mod(a,
2011-08-25 00:12:58 1832
原创 POJ2263 dij应用
挺典型也挺简单的。要理解清楚dij最短路算法其实是一种DP算法。#include#include#includeusing namespace std;int r,n;const int N=205;const int R=19905;map
2011-08-24 23:39:24 649
原创 POJ1422 有向无环图求最小点覆盖[模板]
有向无环图求最小点覆盖解决此类问题可以建立一个二分图模型。把所有顶点i拆成两个:X结点集中的i和Y结点集中的i',如果有边i->j,则在二分图中引入边i->j',设二分图最大匹配为m,则结果就是n-m.这个构图方法很关键。要理解透。#includeusing
2011-08-24 21:03:44 434
转载 最小路径覆盖
最小路径覆盖[转载]在一个PXP的有向图中,路径覆盖就是在图中找一些路经,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每每
2011-08-24 20:51:27 319
原创 POJ1949 DP基础题
DP基础题,只要不把他想得复杂化都能做出来。#includeusing namespace std;const int N=10005;int n;int cost[N];int d[N];int main(){scanf("%d",&n);
2011-08-24 14:59:53 575
原创 POJ2239 二分图最大匹配
水题啊。刚开始把bool mat[N][85];写成bool mat[M][85];居然报TLE,而不是wa。查了不少时间,都是眼泪。#includeusing namespace std;int n;const int N=305;const
2011-08-23 23:17:53 358
原创 POJ1251 MST
水题,难点在输入的处理。#include#includeusing namespace std;int n;const int N=30;int mat[N][N];int dis[N];const int inf=99999999;bool
2011-08-23 22:35:44 364
转载 最短路径 之 SPFA算法
转自http://www.cnblogs.com/zgmf_x20a/archive/2008/12/18/1357737.html最短路径 之 SPFA算法求最短路径的算法有许多种,除了排序外,恐怕是OI界中解决同一类问题算法最多的了。最
2011-08-22 21:31:00 535
原创 POJ1797 dij的变形。
//dij的变形。Source CodeProblem: 1797 User: 64162451Memory: 4124K Time: 313MSLanguage: C++ Result: AcceptedSource Code#includeusing n
2011-08-22 21:24:34 478
原创 POJ1679 次小生成树
第一次接触次小生成树。思路:先生成mst,存储mst的每一条边,然后枚举删除每一条mst中的边,看是否能找出一课次小生成树的权值和最小生成树的权值相等。如果相等,则不唯一。Source CodeProblem: 1679 User:
2011-08-22 18:29:18 1899
原创 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
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人