摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1723思路:dp,不多说了,说多了都是泪啊。。。View Code 1 #include<iostream> 2 const int N=77; 3 using namespace std; 4 5 int main(){ 6 int n,m; 7 while(~scanf("%d%d",&n,&m)){ 8 if(n==0&&m==0)break; 9 int dp[N];10 memset(dp,0,sizeof(dp));11.. 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2813思路:用STL的map把字符串映射为序号。。。差点就超时了。。。orz。。。弱渣不敢写字典树啊!!!View Code 1 #include<iostream> 2 #include<map> 3 #include<string> 4 const int MAXN=222; 5 const int inf=1<<30; 6 using namespace std; 7 int n,m,k; 8 int match[MAXN]; 9 int lx[ 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2282思路:建图很重要,一个二分图最优匹配的题目。如果我们要移动巧克力,最后一定是把盒子中多余的巧克力移到空盒子中去,那么我们不妨以多出的每个巧克力以及每个空盒子为研究对象,这样每个巧克力只能放到一个空盒子中,每个空盒子也只能放一个巧克力,于是就可以构成一个二分图去求最优匹配了,其中边权为巧克力和空盒子的最短距离。View Code 1 #include<iostream> 2 const int MAXN=507; 3 const int inf=1<<30; 4 usin 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3718思路:题目求的是两字符串的最大相似度思路:因为第一个串的一种字母只能匹配第二个串的一种字母,所以可以转化为求【字母的最大匹配值/n】建图:【例】View Code 1 #include<iostream> 2 #include<string> 3 const int MAXN=30; 4 const int inf=1<<30; 5 using namespace std; 6 int match[MAXN]; 7 int lx[MAXN],ly[MAXN] 阅读全文