题目意思:
从n个数中选择m个数,按字典序输出其排列。
http://acm.nyist.net/JudgeOnline/problem.php?pid=19
例:
输入:n=3,m=1; 输出:1 2 3
输入:n=4,m=2; 输出:12 13 14 21 23 24 31 32 34 41 42 43
题目分析:
此题为全排列的前m个数,只需对n个数...
分类:
其他好文 时间:
2014-11-02 21:05:06
阅读次数:
269
本题要求给定1到n的序列,满足相邻两项之差的绝对值不相同的个数为k。由于给定的1?≤?k?<?n?≤?105 范围较大,所以只能寻找时间复杂度为O(n)的算法。可以想到该序列最多有n-1个不同的相邻差(绝对值),其中一个满足条件的序列是:n,1,n-1,2,n-3,3…………。可以尝试构造满足条件的前k-1,然后后面的顺序填写。...
分类:
其他好文 时间:
2014-11-02 18:20:37
阅读次数:
188
习题 2-10
用1,2,3,....,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。输出所有解。
#include
#include
#include
int main(int argc, char *argv[])
{
int abc, def, ghi;
int a[10], count = 0;
...
分类:
编程语言 时间:
2014-11-02 15:04:37
阅读次数:
204
一、开篇既上一篇 后,这里讲的是基于全排列 (Permutation)本身的一些问题,包括:求下一个全排列(Next Permutation);求指定位置的全排列(Permutation Sequence);给出一个全排列,求其所在位置。二、例题1. 求下一个全排列,Next permuationI...
分类:
其他好文 时间:
2014-11-02 07:06:23
阅读次数:
245
题目意思:
现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。
注意首位没有前导0
http://acm.hdu.edu.cn/showproblem.php?pid=1716
题目分析:
库函数next_permutation()应用,直接调用库函数,输出时注意前导0,和空格,祥见代码
AC代码:
#include
...
分类:
其他好文 时间:
2014-10-28 13:56:02
阅读次数:
164
这是一道蛮基础的构造题。 - k +(k - 1) -(k - 2)1 + k , 1 , k , 2, ................... \ / \ / \ / k k-1 k-2如图所示,先构造第一个...
分类:
其他好文 时间:
2014-10-27 21:13:03
阅读次数:
182
题目链接:Codeforces Round #275 (Div. 2) C - Diverse Permutation
题意:一串排列1~n。求一个序列其中相邻两项差的绝对值的个数(指绝对值不同的个数)为k个。求序列、
思路:1~k+1。构造序列前段,之后直接输出剩下的数。前面的构造可以根据,两项差的绝对值为1~k构造。
AC代码:
#include
#include
...
分类:
其他好文 时间:
2014-10-25 11:59:09
阅读次数:
136
题意:1...n 的全排列中 p1, p2, p3....pn中,找到至少有k个 |p1-p2| , |p2-p3|, ...|pn-1 - pn| 互不相同的元素! 思路: 保证相邻的两个数的差值的绝对值为单调递减序列..... 如果够k个了,最后将没有访问到的元素直接添加到末尾!...
分类:
其他好文 时间:
2014-10-25 10:23:41
阅读次数:
131
#include "iostream"using namespace std;void swap(char a[],int i,int j){ char temp; temp=a[i]; a[i]=a[j]; a[j]=temp;}void permutation(char ...
分类:
其他好文 时间:
2014-10-22 20:07:25
阅读次数:
143
problem:Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not...
分类:
其他好文 时间:
2014-10-22 06:18:10
阅读次数:
149