11 2013 档案

匈牙利算法求最大匹配数
摘要: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 平心静气 阅读(655) 评论(0) 推荐(0)

炮兵阵地(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 平心静气 阅读(205) 评论(0) 推荐(0)

导航