摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054思路:最小顶点覆盖 == 最大匹配(双向图)/2。。。不过一开始是用邻接矩阵,傻傻的TLE。。。然后搞了个vector,建立邻接表。。。View Code 1 #include<iostream> 2 #include<vector> 3 const int MAXN=1507; 4 using namespace std; 5 int n; 6 bool mark[MAXN]; 7 int lx[MAXN],ly[MAXN]; 8 vector<int>m 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712思路:这是一道简单的分组背包,因为每种课可以有多种选择:花几天时间在该课上。一旦作出选择,就不能再选该课,就相当于有多组物品,每组内的物品互相冲突,最多只能选一件。伪码:for 所有的组k for v=V..0 for 所有的i属于组k f[v]=max{f[v],f[v-c[i]]+w[i]}View Code 1 #include<iostream> 2 const int MAXN=110; 3 using namespace std; 4 i... 阅读全文
摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068感觉这篇博客写的不错:http://www.felix021.com/blog/read.php?2040我就直接上代码了。。。View Code 1 #include 2 #include 3 const int N=110010; 4 using namespace std; 5 int len; 6 int p[Ni){17 p[i]=min(p[(idmx){22 mx=p[i]+i;23 id=i;24 ... 阅读全文