子集&&全排列问题
文章平均质量分 79
01的世界
有时,失去了才懂得珍惜
展开
-
hdu 4462 构造子集+枚举
Scaring the BirdsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2799 Accepted Submission(s): 880Problem DescriptionIt’s harvest原创 2015-09-14 22:10:45 · 345 阅读 · 0 评论 -
全排列系列
//给定元素个数n,排列序号num//返回对应的排列p#include #include #include using namespace std;int p[]={3,2,1,4};void num2perm(int n, int *p,int num){ int i,j; //求逆序数数组 for(i=n-1;i>=0;i--)p[i]=num%(n-i),num/=n-i;原创 2015-07-18 16:38:45 · 322 阅读 · 0 评论 -
子集生成
有些题目有时会用到子集生成,比如给你一些方案,选择其中几种使得方案和最优,其中一种思路就是生成所有方案的子集,枚举确定每种子集方案的情况,找到最优的方案集合。所以现在来按照刘汝佳书上的方法总结一下子集生成的几种方法:一。增量构造法每次迭出一个元素放到集合中:#include#include#include#include#includevoid print_subset(in原创 2015-09-15 10:49:51 · 288 阅读 · 0 评论 -
例题7-7 天平难题 UVa1354 **
题目:给出房间的宽度r和s个挂坠的重量wi。设计一个尽量宽(但宽度不能超过房间宽度r)的天平,挂住所有挂坠分析:这题果然是难题啊,我果然不会啊,看了题解,没搞明白,照着敲了遍,以后回来再看看参考这个博客看懂了一点点:点击打开链接代码:#include#include#includeusing namespace std;struct Tree { double L原创 2015-10-02 18:36:36 · 458 阅读 · 0 评论 -
UVa 140 Bandwidth 例题7-6
/枚举全排列对每个排列的每个节点求出与其相邻的节点中最大的带宽,所有节点最大的带宽就是这个排列的带宽,枚举全排列找到最小的带宽*函数原型:extern char *strchr(char *str,char character)参数说明:str为一个字符串的指针,character为一个待查找字符。所在库名:#include 函数功能:从字符串str中寻找字符character第一次出现原创 2015-08-23 19:32:18 · 355 阅读 · 0 评论 -
poj 3254 Corn Fields 状压dp入门题
题目:点击打开链接题意:一个矩阵里有很多格子,每个格子有两种状态,可以放牧和不可以放牧,可以放牧用1表示,否则用0表示,在这块牧场放牛,要求两个相邻的方格不能同时放牛,即牛与牛不能相邻。问有多少种放牛方案(一头牛都不放也是一种方案)分析:状压dp的入门题,这题就是把每一行等效成一个数,由于是由01表示的,所以很容易想到整行用一个二进制来等价,因为1表示可以选,0表示不可以选,那么这原创 2016-02-24 19:48:02 · 378 阅读 · 0 评论