摘要: hdu1530 Maximum Clique题意:给定一个无向图,求最大团数分析:求最大团,也就是求一个最大的完全子图,只能靠搜索了,用一个dp数组剪枝搜索思路倒是很清晰一般思路:枚举每一个点,假设选择了这个点,那么最大团组成的集合就可能是由与这个点关联的点的集合组成,接下来就是深搜选择这个集合里面的点的过程了。剪枝:1)重新排列了访问的顺序,按度数大的先访问2)用一个dp[]数组,dp[i]表示i到n-1范围内的点组成的最大团数,那么dp[i-1] 的最大可能值就是 dp[i]+1了,这个可以在搜索过程用来剪枝悲剧,怎么改都是1000+msView Code #include<iost 阅读全文
posted @ 2012-03-08 23:27 枕边梦 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 题意:将一个给定的数删除m位,求剩下的数的最小值分析:用RMQ,假设原来数字的长度为n,每次从一个区间里面取出一个最小值,取n-m即可View Code #include<iostream>#include<algorithm>#include<string.h>#include<math.h>using namespace std;int n,dp[1010][20];char B[1010];void init_RMQ(){ memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) dp[i][0]=i 阅读全文
posted @ 2012-03-08 11:28 枕边梦 阅读(252) 评论(0) 推荐(0) 编辑