UNIMODAL PALINDROMIC DECOMPOSITIONS——动态规划
来源:互联网 发布:sql plus是什么 编辑:程序博客网 时间:2024/04/28 11:04
A sequence of positive integers is Palindromic if it reads the same forward and backward. For example:
23 11 15 1 37 37 1 15 11 23
1 1 2 3 4 7 7 10 7 7 4 3 2 1 1
A Palindromic sequence is Unimodal Palindromic if the values do not decrease up to the middle value and then (since the sequence is palindromic) do not increase from the middle to the end For example, the first example sequence above is NOT Unimodal Palindromic while the second example is.
A Unimodal Palindromic sequence is a Unimodal Palindromic Decomposition of an integer N, if the sum of the integers in the sequence is N. For example, all of the Unimodal Palindromic Decompositions of the first few integers are given below:
1: (1)
2: (2), (1 1)
3: (3), (1 1 1)
4: (4), (1 2 1), (2 2), (1 1 1 1)
5: (5), (1 3 1), (1 1 1 1 1)
6: (6), (1 4 1), (2 2 2), (1 1 2 1 1), (3 3),
(1 2 2 1), ( 1 1 1 1 1 1)
7: (7), (1 5 1), (2 3 2), (1 1 3 1 1), (1 1 1 1 1 1 1)
8: (8), (1 6 1), (2 4 2), (1 1 4 1 1), (1 2 2 2 1),
(1 1 1 2 1 1 1), ( 4 4), (1 3 3 1), (2 2 2 2),
(1 1 2 2 1 1), (1 1 1 1 1 1 1 1)
Write a program, which computes the number of Unimodal Palindromic Decompositions of an integer.
2345678102324131213920
2 23 24 45 36 77 58 1110 1723 10424 199131 5010688213 105585259092 331143
N < 250
DP:用f[i][j]表示左边为j的时候,把i分解为单调回文数串的种类数
状态转移方程f[i][j] = sum{f[i-2*j][k]----->k>=j && i-2*j >= k}
注意用long long
#include<iostream>#include<cstring>using namespace std;long long f[255][255];int main(){int N;memset(f,0,sizeof(f));for(int i = 1; i <= 250; ++i){f[i][i] = 1;if(i % 2 == 0)f[i][i/2] = 1;for(int j = 1; i-2*j >= j; ++j) {for(int k = j; i-2*j>=k;++k)f[i][j] += f[i-2*j][k];}} while(cin >> N) { if(N == 0) return 0; long long sum = 0; for(int i = 1; i <= N; ++i) sum += f[N][i]; cout << N << ' ' << sum << endl; } system("pause"); return 0;}
- UNIMODAL PALINDROMIC DECOMPOSITIONS——动态规划
- UNIMODAL PALINDROMIC DECOMPOSITIONS 动态规划
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS 动态规划
- POJ 1121-UNIMODAL PALINDROMIC DECOMPOSITIONS 动态规划
- 动态规划之UNIMODAL PALINDROMIC DECOMPOSITIONS
- OpenJudge(1221)——UNIMODAL PALINDROMIC DECOMPOSITIONS
- UNIMODAL PALINDROMIC DECOMPOSITIONS-----动态规划-------单峰回文序列分解
- POJ1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- 1221--UNIMODAL PALINDROMIC DECOMPOSITIONS
- POJ1121 UNIMODAL PALINDROMIC DECOMPOSITIONS
- poj1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- 动态规划2-UNIMODAL PALINDROMIC DECOMPOSITIONS(算法基础 第5周)
- ZOJ 1353 Unimodal Palindromic Decompositions
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- POJ Unimodal Palindromic Decompositions(DP)
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
- poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS(母函数)
- ZOJ1353 Unimodal Palindromic Decompositions解题报告
- 希尔排序shell sort
- 《学习opencv》笔记——关于一些绘图的函数
- java 静态方法和实例方法的区别
- Remove Duplicates from Sorted Array II
- 《学习opencv》笔记——关于一些绘图的函数
- UNIMODAL PALINDROMIC DECOMPOSITIONS——动态规划
- 大二小结
- Rails 入门笔记
- 碎碎念,浅浅饮-------Day30
- JSP的内置对象
- 大二下的期末规划
- spring IOC
- php通过魔术方法__call实现类函数重载
- 屠龙之技(片段)