摘要: 题意: 有n个人正在玩游戏,完成一个传递的游戏,假如A传递到B,B传递给C,则C拥有2的传递值,C是胜利者,如果C又传递回A,那么A,B,C三者都拥有传递值为2的 胜利者,输出最后获得的最多传递值和拥有该传递值的人。分析:强连通缩点后用树形DFS找到最大值。#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define clr(x) memset(x,0,sizeof(x))#define min(a,b)(a)<(b)?(a):(b)#defin 阅读全文
posted @ 2012-10-08 23:26 'wind 阅读(194) 评论(0) 推荐(0)
摘要: 题意: 有 n 个团队和 m 艘船,每艘船的载客量为 k,每个团队的人数为ai+1 ,转载该团队可获利润 bi,要求每个团队的所有人必须在同一艘船上, 且团队优先级高的团队所在船编号不能大于优先级低的团队,求可以获得的最大利润。分析:dp[i] 表示获得 i 利润时需要的最少船位,且要保证优先级高的团队优先考虑。#include <stdio.h>#include <string.h>#define INF 0x1f1f1f1f#define v 10005int min(int a,int b){ return a<b?a:b;}int dp[v+1];int 阅读全文
posted @ 2012-10-08 17:55 'wind 阅读(294) 评论(0) 推荐(0)