poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)
/*
给出一个数n,把它拆分成若干个数的和,要求最大的数在中间并向两边非递增。问拆法有多少种。 母函数。枚举中间的那一个数。由于左右对称。所以仅仅须要求左边部分的方案就可以。 注意,左右两部分的取数必须小于中间的数,中间的数是0的话则以n为最大取值。 */
# include <stdio.h>
# include <algorithm>
# include <string.h>
# include <iostream>
typedef long long LL;
using namespace std;
LL c1[10010],c2[10010];
LL slove(LL m,LL n)
{ for(int i=0; i<=n; i++)
{
c1[i]=1;
c2[i]=0;
}
if(m==0)
m=n;
for(int i=2; i<=m; i++)
{
for(int j=0; j<=n; j++)
{
for(int k=0; k+j<=n; k+=i)
{
c2[k+j]+=c1[j];
}
}
for(int j=0; j<=n; j++)
{
c1[j]=c2[j];
c2[j]=0;
}
}
return c1[n];
}
int main()
{
int n;
LL ans;
while(~scanf("%d",&n),n)
{
ans=0;
for(int i=0;i<=n;i++)
{
if((n-i)%2==0)
{
ans+=slove(i,(n-i)/2);
}
}
printf("%d %lld\n",n,ans);
}
return 0;
}
poj 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS (母函数)的更多相关文章
- POJ 1221 UNIMODAL PALINDROMIC DECOMPOSITIONS
总时间限制: 1000ms 内存限制: 65536kB 描述 A sequence of positive integers is Palindromic if it reads the same f ...
- poj 3790 Recursively Palindromic Partitions
/*摘抄自博客:Recursively Palindromic Partitions Time Limit: 1000MS Memory Limit: 65536K Total Submissions ...
- poj 3790 Recursively Palindromic Partitions (递推)
题目 题意:求输入的数字的递归回文. 思路:答案等于这个数字一半之前的所有的 之和. #include <iostream> #include <cstdio> #includ ...
- POJ 1221
#include <iostream> #define MAXN 500 using namespace std; unsigned dp[MAXN][MAXN]; int main() ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- ACM/ICPC 之 DP-整数划分问题初探 (POJ1221)
写下这道题的原因很简单= =,因为这一题的状态转移方程不好找,另一方面,我看到很多针对这一题写的解题报告都把累加状态说得模棱两可,甚至直接说成了一个单一状态,弄得本是菜鸟的我硬生生折磨了一上午画了几个 ...
- POJ1221(整数划分)
UNIMODAL PALINDROMIC DECOMPOSITIONS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 543 ...
- POJ 1322 Chocolate(母函数)
题目链接:http://poj.org/problem?id=1322 题意: 思路: double C[N][N]; void init() { C[0][0]=1; int i,j; for(i= ...
随机推荐
- Let’s do this!新手程序员的入门指南(转)
计算机科学(Computer Science)无疑是现在最热门的学科之一,这领域的工作薪水高.工作时间弹性,而且科技业对工程师.开发者的需求至今有增无减,科技龙头们随时虎视眈眈着出色的程式开发者.创意 ...
- Android ListView 单条刷新方法实践及原理解析
对于使用listView配合adapter进行刷新的方法大家都不陌生,先刷新adapter里的数据,然后调用notifydatasetchange通知listView刷新界面. 方法虽然简单,但这里面 ...
- 测试framebuffer
static GGLContext *gr_context = 0; static GGLSurface gr_framebuffer[2]; static unsigned gr_active_fb ...
- gulp工作流
小屁活动使用 gulp+less gulpfile.js var gulp = require('gulp'), cssmin = require('gulp-minify-css'), less = ...
- android使用xfire webservice框架远程对sqlserver操作(包括增删改查)的实例!!已在真机上试验通过
前两天,公司有一个利用android远程操作sqlserver的项目,对此我是毫无头绪的,但也挺感兴趣的,于是开始上网搜索方法,网上有挺多方法了,发现使用webservice的挺多的,不过我对这些技术 ...
- uva 10603
紫皮书的例题 照着敲了一遍,非原创 大题思路主要是三杯水,而水的总数是知道的,相当于知道第一第二杯水的体积,第三杯水的体积也就确定了. 用第一第二杯水的体积来标记数组是否遍历过 优先队列来找移动体积最 ...
- unity 调用android函数
unity 调用android函数 分类: unity2013-12-19 17:54 475人阅读 评论(0) 收藏 举报 unityandroidjar 我们知道,安卓project都有一个And ...
- VC++实现位图显示透明效果--实现原理
我们在进行程序的界面设计时,常常希望将位图的关键部分,也既是图像的前景显示在界面上,而将位图的背景隐藏起来,将位图与界面很自然的融合在一起,本文介绍了透明位图的制作知识,并将透明位图在一个对话框中显示 ...
- Android本地视频播放器开发--视频解码
在上一章Android本地视频播放器开发--SDL编译编译中编译出sdl的支持库,当时我们使用的2.0,但是有些api被更改了,所以在以下的使用者中我们使用SDL1.3的库,这个库我会传上源码以及编译 ...
- 改动已有gpg密钥的用户标识及凝视
/********************************************************************* * Author : Samson * Date ...