自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (2)
  • 收藏
  • 关注

原创 pku 2965

<br />   这题有人说这题是基本的枚举算法。。可是当我做起来却觉得一点都不容易,可能是我太水了吧!!不过我完全是先按自己的思路去敲。我自己的思路是广搜一个个枚举。。把16坐标表示为0 .... 15,然后每次都改变比之前选的大的。例如之前选的2,下次就选择比2大的。。。思路有了。。敲了代码,但是如何找父亲节点又杯具了,如果用fa[][]来存前驱的话,后面的枚举会把fa[][]的前驱覆盖,这样没办法把它之前的父亲节点输出。。于是乎我想到了在结构体内加son[]数组表示之前状态访问的子孙。。于是乎问题就解

2010-12-23 22:10:00 384

转载 最大权闭合图

<br />http://apps.hi.baidu.com/share/detail/18295127//最大权闭合图转化为最小割的证明。

2010-12-09 23:06:00 269

原创 pku 2186

<br />//思路:强连通分支然后重新构图,然后再判断出度为0的强连通分支里面的元素,如果出度为0的强连通有多个,则一定没有解!!<br />#include <iostream>#include <string>#include <vector>#define maxn 10001using namespace std;int n,m,vis[maxn],ord[maxn],cnt,degree[maxn],out[maxn],ans;vector<int>G[maxn];v

2010-11-28 13:51:00 343

原创 pku 1523

#include #include #include #define maxn 1001using namespace std;int dfn[maxn],low[maxn],vis[maxn],f[maxn],vis2[maxn];int rootson,ord;vectorG[maxn];int min(int a, int b){ return a>b?b:a;}void add(int a, int b){ vis2[a] = vis2[b]

2010-11-27 01:49:00 429

原创 hdu 1827

<br />//前面的拓扑算法加强连通是为这题做准备,强连通缩点,然后选择入度为0的点跟拓扑差不多,这题我思路有些地方是借鉴别人的,因为我不懂的如何重新建图,后来学习学习,决得好强大,继续努力<br />#include <iostream>#include <string>#include <vector>#define maxn 1001#define inf 0x7fffffffusing namespace std;int n,m,cnt,p[maxn],ord[ma

2010-11-23 22:24:00 518

原创 hdu 1285

<br />//拓扑排序算法,每次找入度为0的节点,保存然后删与之相关的邻边。算法的正确性的证明,百度上有。不过之前我用一次dfs加邻接矩阵写一个按结束时间进行线性排序。但不能过。。囧<br />#include <iostream>#include <string>#define maxn 501using namespace std;int map[maxn][maxn];int into[maxn],ans[maxn],n,m;void toposort(){ int

2010-11-23 11:28:00 514

转载 关于缩点

<br />//本文转自:http://hi.baidu.com/novosbirsk/blog/item/48573e80b202a3d09123d909.html<br />以前做某些图论题,常听校队的师兄说要“缩点”。但是什么是缩点,缩的是什么点,说的人很清楚,听的人却一头雾水。经过一番努力,本人终于明白了什么是“缩点”,分享一下个人的见解,若有不正确万望指正。<br /><br />无向图的连通性<br /><br />先明白一些概念。<br />割点:若一个点删除后(也就是与之相连的边统统去掉),

2010-11-22 15:11:00 468

原创 hdu 1269

<br />hdu 1269强连同分量,赤裸裸的算法,我只用一种方法写,留着以后当模板。。具体算法是如何实现的?我就不讲了,直接百度或是看算法导论都有<br />#include <iostream>#include <string>#include <vector>using namespace std;int n,m,cnt,k;vector<int>G[10001];vector<int>G1[10001];int vis[10001],ord[10001];void

2010-11-22 10:44:00 721

原创 hdu 2063

<br />//很裸的二分匹配,直接写就是了,不过我还是wa了5次,悲剧悲剧===#include <iostream>#include <string>using namespace std;int k,m,n,vis[501],match[501];int map[501][501];int dfs(int s){ int i,t; for(i = 1; i<=m; i++) if(map[s][i]&&!vis[i]) { vis[i]

2010-11-19 20:31:00 416

原创 pku 3522 Slim Span

<br />pku 3522 Slim Span//求最小生成数的边差最小<br />一开始不知道怎么下手,思路是想按权差排序,后来发现不对!!<br />后来晓得时限是5s,就知道是暴力了,于是乎暴力解题==<br />#include <iostream>#include <algorithm>#define inf 0x7fffffffusing namespace std;struct node{ int u,v; int w;}Q[5001];int n,m,s

2010-11-17 23:03:00 371

原创 hdu 1029

<br />hdu 1029/*水题,数据比较大,我用快排傻逼都可以过,不知道数据有多水,个人觉得还是用map做比较正式一点,否则内存浪费严重。我看见其他人用一个数组vis[k]++,如果k很大的话,会爆掉的。。。估计是数据太水了*/#include <iostream>#include <map>using namespace std;int main(){ int n,d,ans; while(cin>>n) { map<int,int

2010-11-11 16:25:00 451

ACM学习历程,教你入门到高手

非常不错的,教你入门到高手,我靠,上传点东西都要写一大堆东西

2010-09-01

动态规划经典题目.........................

经典动态规划题目,里面收集了一些不错的题目,虽然是Pasacal语言写的,但基本都看的懂...........................

2010-04-20

空空如也

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

TA关注的人

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