- 博客(34)
- 资源 (2)
- 收藏
- 关注
原创 hdu 1520 树形dp入门题
#include#include#define N 6100int a[N];int dp[N][2];struct node { int u,v,w,next;}bian[N*2];int head[N],yong,visit[N];void addedge(int u,int v) {bian[yong].v=v;bian[yong].next=he
2014-04-30 19:03:45 535
原创 poj 1466 最大独立集
#include#include//这个分开后男的站在一边女的站在一边,不肯能有les或者gay。最大独立集=n-最大匹配数#define N 510int map[N][N],n,mark[N],link[N];int find(int u) { int i; for(i=0;i if(!mark[i]&&map[u][i]) { mark[i]=1;
2014-04-30 15:23:19 518
原创 poj 3041 最小点覆盖=最大匹配
#include#include#define N 510int map[N][N],n,mark[N],link[N];int find(int u) { int i; for(i=1;i if(!mark[i]&&map[u][i]) { mark[i]=1; if(link[i]==-1||find(link[i])) {
2014-04-30 15:01:16 610
原创 fzu 2173 floyd+矩阵快速幂
#include#define inf 1000000000000000#define N 100long long tmp[N][N],ma[N][N];int n;long long min(long long a,long long b){ return a}void floy(long long a[N][N]){ int i,j,
2014-04-30 12:17:19 609
转载 foj 2173 floyd+矩阵快速幂
FOJ 2173 Nostop 从1点到n点恰好走了k次的最短路题目链接:http://acm.fzu.edu.cn/problem.php?pid=2173思路:类似于传递闭包的性质用矩阵mp[i][j] 表示i点到j点 走1次的最短路--------------若我们用 mp[i][j] 表示从i点到j点 走了k次的最短路距离
2014-04-30 10:33:14 676
转载 hdu 1533 最小费用最大流
#include#include#include#includeusing namespace std;#define N 80000#define INF 0x3fffffffstruct node {int u,v,w,next,f;}bian[N*2];char mp[110][110];struct nodd{int x,y;}hou[
2014-04-30 09:32:25 663
转载 图搜索总结
图的搜索分类:BFS(广度优先搜索) 和 DFS(深度优先搜索) 两个最基本的搜索,一个是按深度进行搜索,另一个是按广度进行搜索...记忆化搜索(基于深搜) 就是用一个数组,dp[state] 表示state这个状态的结果,如果进行深搜时,发现已经得出dp[state]的结果了,就直接 return dp[state];双向广搜
2014-04-29 21:18:28 526
转载 一般图匹配题集 转自夏天的风
最大匹配(带花树)URAL 1099ZOJ3316 GameHDU3446/TOJ 3557 daizhenyang's chessHDU3551 hard problem最大权匹配(求解中国邮路问题)http://poj.org/problem?id=2404
2014-04-29 21:17:13 509
转载 极大极小过程题集 转自夏天的风
极大极小搜索 和 与/或图搜索基本写起来差不多吧.下面是一些题目,自己从题目中体会吧......最主要用到的也就是 进制压缩+记忆化搜索+αβ剪枝,其他也没什么了...HDU 3267 Graph Game [较难]HDU 4083 Three Kingdom Chess [较难]HDU 3514 Queen’s Case [较难
2014-04-29 21:15:34 878
转载 dancing links 题集转自夏天的风
POJ3740 Easy Finding [精确覆盖基础题]HUST1017 Exact cover [精确覆盖基础]HDOJ3663Power Stations [精确覆盖]ZOJ3209 Treasure Map [精确覆盖]HDOJ2828Lamp [精确覆盖+重复覆盖判独]HDOJ3498whosyourdaddy [重复覆盖]HD
2014-04-29 21:14:27 638
转载 网络流题集转自夏天的风
【HDU】1532Drainage Ditches(入门) [最大流]3549 Flow Problem(入门) [最大流]3572 Task Schedule(基础) [最大流]任务分配,判断满流2732 Leapin' Lizards(较难) [最大流]3338 Kakuro Extension(较难,好题) [最大流][数和]神奇最大流行
2014-04-29 21:00:05 589
原创 nyoj 547 优先队列
#include#include#include//水杯盛水问题,用优先队列不断从最小的边缘开始using namespace std;int n,m;#define N 400int p[N][N];struct node { int x,y,w; friend bool operator return a.w>b.w;//从小到大出队 }
2014-04-29 17:27:23 535
原创 nyoj 711 枚举+并查集
#include//从大到小不断枚举边直到找到s-t的路径,判断从s可以到t可以用并查集来判断#include//枚举最大的一条边肯定要找和他的值最接近的边,所以要排序#define N 5100#define inf 0x3fffffffstruct node {int u,v,speed;}map[N];int gcd(int a,int b) {if(b=
2014-04-29 15:58:25 524
原创 nyoj 310二分+dinic
#include#include#includeusing namespace std;#define inf 0x7fffffff#define N 300int p,t,n;int Min(int a,int b) {return a>b?b:a;}struct node { int u,v,w,f;}mp[40001];int flow
2014-04-28 17:10:44 499
转载 ACM的你伤不起
劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟劳资讲算法之美算法的力量,劳资一本算法导论拍死你啊!!!!!!!! 那是搞ACM的入门书啊!!!!特么的入门书就一千多页啊!!!!!!! 还没有习题答案啊,学完了你特么都不知道
2014-04-28 15:41:32 442
原创 poj 1273最大流dinic算法模板
#include#include#define N 300#define inf 0x7fffffff#includeusing namespace std;struct node { int u,v,w,next;}bian[N*4];int head[N],yong,d[N],s,t;void addedge(int u,int v,int w) {
2014-04-28 08:32:34 569
转载 dinic算法求最大流的学习
一、 引言图论这门古老而又年轻的学科在信息学竞赛中占据了相当大的比重。其中,网络流算法经常在题目中出现。网络流涵盖的知识非常丰富,从基本的最小割最大流定理到网络的许多变形再到最高标号预流推进的六个优化等等,同学们在平时需要多多涉猎这方面的知识,不断积累,才能应对题目的各种变化。随着信息学竞赛的不断发展,其题目的难度以及考察范围都不断增大。现在,对于一些新出现的题目,仅仅掌握最朴素的网络流算
2014-04-27 20:36:14 750
原创 背包again
[提交][状态][讨论版]题目描述Gy最近学习了01背包问题,无聊的他又想到了一个新的问题,给定n个物品的价值,和01背包一样,每个物品只能选1次或0次,求最小不能被得到的价值。输入第一行一个正整数T(T ,表示有T组数据。每组数据输入格式如下:第一行为一个正整数N(N,表示物品个数。第二行N个正整数,表示每个物品的价值vi(1
2014-04-22 16:13:56 580
原创 nyoj 309
#include#include#define N 1100int c[N];int main() {int l,n,i,m,a,b,front[N],tail[N];while(scanf("%d%d",&l,&n)!=EOF) {for(i=0;i c[i]=999999;for(i=0;iscanf("%d%d",&a,&b);c[
2014-04-22 11:15:18 510
原创 hdu 4171 最短路
#include#include#include#includeusing namespace std;#define inf 1000000000#define N 110000struct node {int u,v,w,next;}bian[N*2];int head[N],yong,mindistance[N],n,visit[N],countt[N
2014-04-22 10:49:25 530
原创 nyoj 307
/*这是一道最短路变形题从每个有藏宝的地方为起点 求到各个点的可以的最大重量,相当于求出了从出口 到 一个藏宝点 所 允许的最大重量,把所有藏宝点的按重量 排序(从小到大)先到最小的藏宝点带上 宝物 再去次大 */#include#include#include#includeusing namespace std;const int N =16000;st
2014-04-18 20:36:13 610
原创 nyoj 306 二分+dfs
#include#include#define N 200int Min(int a,int b) {return a>b?b:a;}int Max(int a,int b) {return a>b?a:b;}int map[N][N],flag,visit[N][N],n,min,max;int dis[4][2]={1,0,-1,0,0,1,0,-1};
2014-04-15 16:53:30 621
转载 nyoj306 二分+dfs
原题连接:点击打开链接题意:从(1,1)点到(n,n)找一条路径(只能上下左右走),使路径上最大点与最小点差值最小。。思路分析:(1):这题和我们以前做的迷宫题差别很大,以前做的一般就是求 最小步数或代价最小,一个dfs或bfs即可,而此题是求最大点与最小点差。 www.2cto.com(2):分析看出,一次dfs和bfs对我等弱菜来说显然不可(大牛或许可以)。(3):若直
2014-04-15 16:15:11 648
转载 ACM中java的使用
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;
2014-04-15 11:23:30 545
原创 hdu 1273最大流
#include#include#define inf 1000000000#include#define N 300using namespace std;int map[N][N],n,pre[N];int min(int a,int b) {return a>b?b:a;}int spfa(){ int now,cur,maxf[N];
2014-04-14 17:20:45 512
转载 1066N !最右边非零数
http://hi.baidu.com/nicker2010/item/4fa83c4c5050b3e5a4c066ec
2014-04-14 15:33:55 637
转载 浅析指向指针的指针其作用
这篇文章主要是介绍 指向指针的指针 的一种用法所以这里不谈指针或指向指针的指针他们的基础直接上代码(用途:使用一个函数动态申请内存,并赋值。跳出调用函数后输出赋值内容)[cpp] view plaincopyprint?#include #include typedef struct Dat
2014-04-09 15:40:21 454
原创 poj 1860 bellman 求正环
#include#include#include//只需判断是否有正环路径就可以了using namespace std;#define N 200struct node {double r,c;}map[N][N];double maxvalue[N],h;int n,cou[N];int bellmanford(int start) { que
2014-04-09 14:40:21 437
原创 poj 3461
#include#includechars[11000],t[1100000];intnext[11000];voidgetkmp(intlen) { intj,k; next[0]=-1; j=0;k=-1; while(j<len) { if
2014-04-08 16:14:51 453
原创 poj 2031
#include#include#include#define N 200double co(double a,double b) {return (a-b)*(a-b);}struct node {double x,y,z,r;}a[N];struct nodee{double len;int x,y;}map[N*N];int pre[N];int find(i
2014-04-08 10:01:11 399
原创 poj 1068
#include#define N 30int visit[N];struct node {int prenum,index,count,pre;}a[N];int b[N];int main() { int t,m,n,i,j,k,sum; scanf("%d",&t); while(t--) { scanf("%d",&n); for(
2014-04-08 09:55:49 389
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人