摘要: 这里使用朴素kruskal算法通过并查集实现 这里我没有使用动态数组进行存图 因为在枚举每条边的时候还有排序的时候会很麻烦 阅读全文
posted @ 2016-11-17 20:59 2000xyy 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 回溯算法总结:http://www.cnblogs.com/wuyuegb2312/p/3273337.html#intro 贪心算法总结:http://blog.csdn.net/hero5201/article/details/51039455 动态规划算法总结:http://blog.cs... 阅读全文
posted @ 2016-11-17 19:31 2000xyy 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 区间DP 例题:石子合并; 先使用a[i]初始化每个石子的价值 合并n个则需要先合并n-1个 子问题就是合并1~n个的最小值 则合并l长度个的最小值为合并左结点到右结点的最小值; 子问题为每个区间的合并最小值; 使用k枚举每个区间; 则有dp[i][j]=min(dp[i][j],dp[i][k... 阅读全文
posted @ 2016-11-17 13:53 2000xyy 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 01背包 取或不取 保证只选一次 倒序枚举剩余空间 for (int i=1;i=c[i];j--) dp[j]=max(dp[j],dp[j-c[i]]+w[i]);完全背包 可取无限次 正序枚举剩余空间 for (int i=1;i=c[i];j--) for (int l=1;l<=... 阅读全文
posted @ 2016-11-17 13:32 2000xyy 阅读(109) 评论(0) 推荐(0) 编辑
摘要: #include#include#include#includeusing namespace std;int a[1001],b[1001],dp[10001];int n,ans,ans1;int main (){ cin>>n; for (int i=1;i>a[i]; for (int ... 阅读全文
posted @ 2016-11-17 13:22 2000xyy 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 二分图匹配模板 阅读全文
posted @ 2016-11-17 12:56 2000xyy 阅读(100) 评论(0) 推荐(0) 编辑