Sequence one
Problem Description
Search is important in the acm
algorithm. When you want to solve a problem by using the search
method, try to cut is very important.
Now give you a number sequence, include n (<=1000) integers, each integer not bigger than 2^31, you want to find the first P subsequences that is not decrease (if total subsequence W is smaller than P, than just give the first W subsequences). The order of subsequences is that: first order the length of the subsequence. Second order the sequence of each integer’s position in the initial sequence. For example initial sequence 1 3 2 the total legal subsequences is 5. According to order is {1}; {3}; {2}; {1,3}; {1,2}. {1,3} is first than {1,2} because the sequence of each integer’s position in the initial sequence are {1,2} and {1,3}. {1,2} is smaller than {1,3}. If you also can not understand , please see the sample carefully.
Now give you a number sequence, include n (<=1000) integers, each integer not bigger than 2^31, you want to find the first P subsequences that is not decrease (if total subsequence W is smaller than P, than just give the first W subsequences). The order of subsequences is that: first order the length of the subsequence. Second order the sequence of each integer’s position in the initial sequence. For example initial sequence 1 3 2 the total legal subsequences is 5. According to order is {1}; {3}; {2}; {1,3}; {1,2}. {1,3} is first than {1,2} because the sequence of each integer’s position in the initial sequence are {1,2} and {1,3}. {1,2} is smaller than {1,3}. If you also can not understand , please see the sample carefully.
Input
The input contains multiple test
cases.
Each test case include, first two integers n, P. (1
Each test case include, first two integers n, P. (1
Output
For each test case output the sequences
according to the problem description. And at the end of each case
follow a empty line.
Sample Input
3
5
1 3
2
3
6
1 3
2
4
100
1 2 3
2
Sample Output
1
3
2
1
3
1
2
1
3
2
1
3
1
2
1
2
3
1
2
1
3
2
3
2
2
1 2
3
1 2
2
题意:给你一个任意数列,让你求出所有的递增子序列;
解题思路:深搜,以长度为搜索的变量,从1-n,n为当前搜索的长度;每搜索到一个序列输出一个序列;后面这几个题越来越难写了0.0;
感悟:不能看题解,越看越毁啊!
代码:
#include
#include
#include
#include
#include
#define maxn 1001
using namespace std;
int n,p,pos[maxn],ans,len,pot[maxn],op[maxn];
bool flag;
void printf(int len)
{
}
bool check(int s,int e)
{
}
void dfs(int cur,int t)//cur表示当前需要派到第几位了,t表示当前搜索到第几位了
{
}
int main()
{
}
我每天都在努力,只是想证明我是认真的活着.