摘要: 一道简单的匹配问题,行列匹配,根据题意若行大于列匹配不成功,若列大于行,大于行的部分可随意。代码如下:#include<iostream>#include<cstdio>#include<cstring>using namespace std;int map[1001][2],col[1001],match[1001],visit[1001];int dfs(int i){ int j,k; for(j=0;j<2;j++) { k=map[i][j]; if(!visit[k]) { visit[k]=1; ... 阅读全文
posted @ 2012-02-18 16:52 书山有路,学海无涯 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 一道简单的树形DP,可以这么想:每个节点有可能选择也有可能不选择,而且各个子树相互独立,我用DP[i][0]表示节点i不选择所需要的最少士兵,DP[i][1]表示i节点选择所需要的最少士兵。假如j是i的儿子,因此状态转移方程可以写成如下形式:DP[i][0]+=DP[j][1] ;DP[i][1]+=min(DP[j][0],DP[j][1]);#include<iostream>#include<cstdio>#include<cstring>using namespace std;struct node{ int i,next;}S[15001];int 阅读全文
posted @ 2012-02-18 13:59 书山有路,学海无涯 阅读(262) 评论(0) 推荐(0) 编辑