Uva 6177
来源:互联网 发布:万人网络营销软件站 编辑:程序博客网 时间:2024/06/08 20:01
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4188
要用到DP 的思想,dp[n][k] 表示 长度为n,尾数为 k ,且最后两位是递增时的排列数;
如果将dp[n][k] 中所有的数”倒置“(n+1 - pos[i])。例如1 3 2 4 与 4 2 3 1 (有时不仅仅是逆置);(图片转载http://www.2cto.com/kf/201305/207857.html),,,
我们只要求
推导出DP 方程:dp[n][k] = dp[n][k-1] + dp[n-1][n+1-k];
#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <cmath>using namespace std;long long dp[22][22];//一位表示长度,二维表示最后一位为long long ans[22];void con(){ int i,j; dp[1][1] = 1; ans[1] = 1; for(i = 2;i <= 20;i ++) { for(j = 2;j <= i;j ++) { dp[i][j] = dp[i-1][i + 1 - j] + dp[i][j-1]; ans[i] += dp[i][j]; } ans[i] *= 2;//(包含了逆置后的) }}int main(){ int t,num,m,i,j; con(); long long tmp = 0; scanf("%d",&t); while(t --) { scanf("%d %d",&num,&m); printf("%d %lld\n",num,ans[m]); } return 0;}
0 0
- Uva 6177
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- python xml.sax.handler.ContentHandler 的characters方法小结
- Linux I2C子系统驱动阐述
- LeetCode-Insert Interval
- BJOI2014 2014.8.13
- 01.策略模式 【STRATEGY PATTERN】
- Uva 6177
- HDU 2206 IP的计算
- JNI 笔记 (总结一些基础的,常用的)
- Leetcode--Sort List
- VB.net 控制Excel添加Sheet页,指定添加位置
- 【140814】VC++ 数据库编程教程 pdf 高清电子书
- 文件处理
- 更不接口
- makefile的语法及写法