上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页
摘要: 1 /* 2 lis变形 ,一开始没看出来,看了别人的解题报告才看出来 3 题意: 4 求相对位置,不变的最长序列 5 6 7 */ 8 9 #include<stdio.h>10 const int N=100;11 int a[N],dp[N],rank[N];12 int max(int x,int y)13 {14 if(x>y)return x;15 else return y;16 }17 int main()18 {19 int n,i,j,k;20 scanf("%d",&n);21 for(i=1;i<=n;i++)22.. 阅读全文
posted @ 2012-05-20 21:55 Szz 阅读(181) 评论(0) 推荐(0)
摘要: POJ图论分类2009-07-28 23:13POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144该题亦放在搜索推荐题中POJ 3013 - Big Christmas Tree(基础)http://acm.pku.edu.cn/JudgeOnline/problem?id=3013题意: 阅读全文
posted @ 2012-05-12 10:25 Szz 阅读(332) 评论(0) 推荐(0)
摘要: 1 博弈论简介 2 博弈论基础知识 3 4 (一)巴什博奕(Bash Game): 5 6 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 7 8 若(m+1) | n,则先手必败,否则先手必胜。 9 10 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1... 阅读全文
posted @ 2012-05-10 20:52 Szz 阅读(459) 评论(0) 推荐(0)
摘要: 1 http://poj.org/problem?id=1679参考 : http://hi.baidu.com/buaa_babt/blog/item/55a7dca78246e49e4610647e.html/* 2 求次小生成树,用kruskal算法 ,第一次求出最小生成树,并将选过的边标记 3 然后 枚举删除选过的边,求删除此边后的最小生成树 4 */ 5 6 #include<stdio.h> 7 #define maxn 10000 8 #include<algorithm> 9 #define inf 0xffffff 10 #include<... 阅读全文
posted @ 2012-05-09 22:10 Szz 阅读(241) 评论(0) 推荐(0)
摘要: 参考来自: http://hi.baidu.com/%D0%C4_%CB%E6_%C3%CE_%CF%E8/blog/item/403b9c58699c7642d0090675.html/* floyd 的扩展 找最小环*/#include<stdio.h>#define maxn 200#define inf 0xffffffint n,m;int dis[maxn][maxn],g[maxn][maxn],path[maxn],pre[maxn][maxn];int min,cnt,mid;void floyd(){ int i,j,k; for(k=1;k<=n;k++ 阅读全文
posted @ 2012-05-09 19:42 Szz 阅读(228) 评论(0) 推荐(0)
摘要: 1 http://acm.hdu.edu.cn/showproblem.php?pid=3488/* 2 一开始看题完全蒙了 ,这怎么用二分图解啊,后来开了别人的结题报告 3 将图中的 入点放到 x集合 出点放到 y集合 看作二分图求解 4 但是还有一个疑问,为什么看成这样求出来的即使答案呢? 5 后来仔细想了想,原来 每个点的入点 出现在x集合 那么起出点 也相应的会出现在 x集合 6 因为每一个点都有至少 一个出点,这样构成的二分图 求其 最小权匹配 即可 7 */ 8 9 #include<stdio.h> 10 #define maxn 300 11 #in... 阅读全文
posted @ 2012-05-08 21:34 Szz 阅读(221) 评论(0) 推荐(0)
摘要: 由于大牛们写过了,菜鸟就整理了一下:KM算法的基本概念:http://baike.baidu.com/view/739278.htm上面链接中有些名词看不懂的可以看下这个:http://baike.baidu.com/view/501092.htm看这个算法之前,最好先看下匈牙利算法,KM算法 是建立在匈牙利算法基础上实现的对于这个算法最有误区的地方,个人感觉还是在 X 集合 -d 和 Y 集合 + d之后 还要进行操作,再加上 深搜递归操作 ,理解容易产生误区,在这里我给出一组模板的测试数据来帮助初学者理解注意观察: visx[],visy[],lx[],ly[],linky[],在调用中的 阅读全文
posted @ 2012-05-08 09:49 Szz 阅读(407) 评论(0) 推荐(0)
摘要: 1 http://poj.org/problem?id=3422 /* 2 题意: 3 :给一个N*N的方阵,从[1,1]到[n,n]走K次,走过每个方格加上上面的数, 4 然后这个格上面的数变为0。求可取得的最大的值。 5 6 有是一道网络流题,关键是怎么建图啊。。。。 7 思路:最小费用最大流。建图很重要,这里用到拆点,将每个点拆成两个, 8 这两点之间连两条边,一条容量为1,费用为该节点的值,另一条边容量为无穷或k,费用为0,这样保证就算经过这点k次时,费用也只被计算一次。 9 由于每个点只能往右或者往下走,所以将它和右边及下边的点连一条边,容量为无... 阅读全文
posted @ 2012-05-07 18:07 Szz 阅读(356) 评论(0) 推荐(0)
摘要: 1 http://poj.org/problem?id=3662/* 2 二分+最短路径 3 题意:求解额外付出的最小的最大边,k段是免费的. 4 5 题目的关键在于枚举最小的最大边,如何枚举呢?用二分法,选一条边,重新构图; 6 在图中大于这条边的,记为1; 7 把小于等于这条边的 边记为0; 8 求 1-》n的最短距离len 9 10 题目有3种情况, 11 12 1 不连通的情况 13 14 2 不需要额外花费的情 15 3 需要花费(那么了一定存在一个边 使 len==k) 16 */ 17 #include<cstdio> 18 #include<a... 阅读全文
posted @ 2012-05-06 21:12 Szz 阅读(478) 评论(0) 推荐(0)
摘要: 1http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2401 /* 2 最大矩形面积,把边界点加上 3 从左往右 处理一遍; 4 再从上往下处理一遍; 5 */ 6 7 #include<stdio.h> 8 #define maxn 20000 9 #include<cmath> 10 #include<algorithm> 11 using namespace std; 12 int min(int x,int y) 13 { 14 if(x<y)r 阅读全文
posted @ 2012-05-06 12:04 Szz 阅读(319) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 32 下一页