poj 1037 DP 求波浪序列中按字典序排列的第k个序列
来源:互联网 发布:java swing 布局 编辑:程序博客网 时间:2024/06/05 18:17
#include<cstdio>#include<cstring>long long int dp[25][25][2];int put[36];int vis[36];void init(){dp[1][1][0]=1;dp[1][1][1]=1;for(int i=2;i<=20;i++)for(int j=1;j<=i;j++){for(int k=1;k<j;k++)dp[i][j][1]+=dp[i-1][k][0];for(int k=j;k<i;k++)dp[i][j][0]+=dp[i-1][k][1];}}int main(){int T;init();scanf("%d",&T);while(T--){long long int n,aim;scanf("%lld%lld",&n,&aim);long long t1=0,t2; memset(vis,0,sizeof(vis)); for(int i=1;i<=n;i++) { int no=0,k; for(k=1;k<=n;k++) { t2=t1; if(!vis[k]) { no++; if(i==1) t1+=dp[n][no][0]+dp[n][no][1]; else if(k>put[i-1]&&(i==2||put[i-2]>put[i-1])) t1+=dp[n-i+1][no][1]; else if(k<put[i-1]&&(i==2||put[i-2]<put[i-1])) t1+=dp[n-i+1][no][0]; if(t1>=aim) break;}}vis[k]=1;put[i]=k;printf("%d ",k);t1=t2;}printf("\n");}}
0 0
- poj 1037 DP 求波浪序列中按字典序排列的第k个序列
- poj1833 排列 求字典序的下k个序列
- Permutation Sequence 求第k个的排列序列 @LeetCode
- hdu1027 给出n,m,求n个数的按字典序排列的第m个序列
- poj 1019 求一个1到n的序列中,第k个数字是多少
- 数据结构与算法[LeetCode]—Permutation Sequence 求n个数的全排列中第K个序列
- hdu1027(n个数的按字典序排列的第m个序列)
- (POJ 3687)Labeling Balls [逆top序列] 求按照某种排列方式的字典序最小的top序列
- Permutation Sequence 排列序列-第K个排列
- 第k个字典序全排列
- 模拟之全排列的第k个字典序
- 经典题:求字典序第m个的序列(2062)
- leetcode_60. Permutation Sequence 找n的全排列中的第k个序列
- 在二叉树中求位于先序序列中第k个位置的结点的值
- 第k个字典序全排列(kth permutation)
- poj 1442 Black Box(trap模板 求整个序列的第k大
- 求n位全排列字典排序后,给定序列的下一序列
- 求n位全排列字典排序后,给定序列的下一序列
- spring cron表达式
- 数据结构之线性表——队列的顺序存储
- (31)鸡尾酒排序
- elasticsearch 安装及踩坑
- JavaScript 复制对象
- poj 1037 DP 求波浪序列中按字典序排列的第k个序列
- Dorado7保存时报转换错误 java.lang.ClassCastException: com.bstek.dorado.data.variant.Record cannot be cast to
- StringBuffer类的常用方法
- PMP ITTO
- 数据结构List实例(五):判断单链表是否有环
- Zookeeper系列(二十)Zookeeper原理解析之数据存储之ZKDatabase
- 数据结构之线性表——队列的链式存储
- 如何让链接延时几秒后跳转呢? 已解决
- KVM openstack 之间的区别与联系