2013年11月23日

匈牙利算法求最大匹配数

摘要: bool 寻找从k出发的对应项出的可增广路{ while (从邻接表中列举k能关联到顶点j) { if (j不在增广路上) { 把j加入增广路; if (j是未盖点 或者 从j的对应项出发有可增广路) { 修改j的对应项为k; 则从k的对应项出有可增广路,返回true; } } } 则从k的对应项出没有可增广路,返回false;}void 匈牙利hungary(){ for i... 阅读全文

posted @ 2013-11-23 17:43 平心静气 阅读(653) 评论(0) 推荐(0)

2013年11月7日

炮兵阵地(DP +状态压缩+二进制) ~~~转自 依然博客

摘要: 思路:状态压缩DP。很经典的状态压缩DP。用int型来表示每行的状态(如果int型的二进制的第i位为1,则表示这一行的第i列有安装大炮)。这样的话由于最多有10列,故由计算可得最多有60种状态。DP部分:dp[r][i][k]表示第r行的状态为k,第r-1行的状态为i时候,前r行最多能够安装的大炮数量。 源代码:(1960K, 360MS)#include#define max(a,b) ((a)>(b)?(a):(b))using namespace std; int map[105];// map[i]的二进制表示每一行的H分布状态。int cnt = 0, stk[65], sum 阅读全文

posted @ 2013-11-07 22:05 平心静气 阅读(204) 评论(0) 推荐(0)

2013年10月3日

Dungeon Master (BFS)

摘要: 好久没写博客了,今天写广搜,运行一次就ac了,比较开心。。Dungeon MasterTime Limit : 2000/1000ms (Java/Other)Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 23Accepted Submission(s) : 15Problem DescriptionYou are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes 阅读全文

posted @ 2013-10-03 18:51 平心静气 阅读(153) 评论(0) 推荐(0)

2013年9月12日

棋盘问题(dfs)

摘要: 棋盘问题Time Limit : 2000/1000ms (Java/Other)Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 36Accepted Submission(s) : 17Problem Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在 阅读全文

posted @ 2013-09-12 16:53 平心静气 阅读(292) 评论(0) 推荐(0)

AGRI--NET问题(prim算法求最小生成树)

摘要: Agri-NetTime Limit : 2000/1000ms (Java/Other)Memory Limit : 20000/10000K (Java/Other)Total Submission(s) : 9Accepted Submission(s) : 8Problem DescriptionFarmer John has been elected mayor of his town! One of his campaign promises was to bring internet connectivity to all farms in the area. He needs 阅读全文

posted @ 2013-09-12 16:31 平心静气 阅读(264) 评论(0) 推荐(0)

Palindrome DP

摘要: PalindromeTime Limit : 6000/3000ms (Java/Other)Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 57Accepted Submission(s) : 18Problem DescriptionA palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a 阅读全文

posted @ 2013-09-12 16:15 平心静气 阅读(177) 评论(0) 推荐(0)

2013年9月7日

Tautology(栈或者用数组模拟)

摘要: 原题:TautologyTime Limit : 2000/1000ms (Java/Other)Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 32Accepted Submission(s) : 22Problem DescriptionWFF 'N PROOF is a logic game played with dice. Each die has six faces representing some subset of the possible symbols K, A, N, C, E, p, 阅读全文

posted @ 2013-09-07 11:33 平心静气 阅读(322) 评论(0) 推荐(0)

2013年9月6日

Flip Game (DFS)

摘要: Flip GameTime Limit : 2000/1000ms (Java/Other)Memory Limit : 131072/65536K (Java/Other)Total Submission(s) : 39Accepted Submission(s) : 16Problem DescriptionFlip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the 阅读全文

posted @ 2013-09-06 15:01 平心静气 阅读(440) 评论(0) 推荐(0)

2013年8月9日

动态规划小结(以采药问题为例)

摘要: 定义:把一个问题分解为子问题递归求解,并且将中间结果保存以避免重复计算的办法,就叫做“动态规划”。动态规划是解决多阶段决策过程最优化问题的一种方法。动态规划中的相关概念:1、阶段 用动态规划求解一个问题时,需要将问题的全过程恰当地划分成若干个相互联系的阶段,以便按一定的次序去求解。阶段的划分一般是根据时间和空间的自然特征来定的,一般要便于把问题转化成多阶段决策的过程。2、状态 状态表示的是事物某一阶段的性质,状态通过一个变量来描述,这个变量称为状态变量。各个状态之间是可以相互转换的。3、决策 对问题的处理中做出某种选择性的行动就是决策。在每一个阶段中都需要有一次决策。一次决策就会从一个阶段进入 阅读全文

posted @ 2013-08-09 09:10 平心静气 阅读(1839) 评论(1) 推荐(0)

2013年8月8日

约瑟夫环问题和bool类型的应用

摘要: 1.约瑟夫环问题令f表示i个人玩游戏报m退出最后胜利者的编号,最后的结果自然是f[n].递推公式:f[1]=0;f=(f[i-1]+m)%i; (i>1)有了这个公式,我们要做的就是从1-n顺序算出f的数值,最后结果是f[n]。因为实际生活中编号总是从1开始,我们输出f[n]+1由于是逐级递推,不需要保存每个f,程序也是异常简单:例如:选猴王问题#include using namespace std;int main(){ int m,n; while(cin>>n>>m&&n!=0&&m!=0) { int *f=new int 阅读全文

posted @ 2013-08-08 21:50 平心静气 阅读(336) 评论(0) 推荐(0)

导航