摘要: uva10570(枚举基准,贪心) 输入一个1至n的排列(n using namespace std; const int maxn=505, INF=1e9; int min(int x, int y){ return x 1); ++i) swap(a[i], a[n i+1]); for (i 阅读全文
posted @ 2018-03-12 23:34 pechpo 阅读(223) 评论(0) 推荐(0)
摘要: 最小度限制生成树 给定图G,求使得图中结点$V_0$的度不大于k的最小生成树。 设与v0相连的边集合是E0,|E0|=m,首先把v0去掉,对分裂后的每一个联通块都跑一遍最小生成树,得到边集合E1。一定存在一个方案,使得G的最小任意度限制生成树只用到E1中的和E0中的元素。证明在黑书p301,关键在于 阅读全文
posted @ 2018-03-12 19:49 pechpo 阅读(256) 评论(0) 推荐(0)
摘要: 最小生成树(prim和kruskal) 最小生成树的最优子结构性质 设一个最小生成树是T。如果选出一个T中的一条边,分裂成的两个树T1,T2依然是它们的点集组成的最小生成树。这个性质在关于生成树的状压dp里可以用。 prim算法 prim是在当前的最小生成树基础上,选择一条最短边作为新的最小生成树。 阅读全文
posted @ 2018-03-12 13:33 pechpo 阅读(1314) 评论(0) 推荐(0)
摘要: 二进制数(dp,记忆化搜索) 给定k个 include include using namespace std; const int maxk=11, maxn=1e6+5; int k, n, a[maxk], vis[maxn]; struct node{ int x, len, pre, en 阅读全文
posted @ 2018-03-12 08:26 pechpo 阅读(286) 评论(0) 推荐(0)