noi7219 复杂的整数划分问题

 #include <bits/stdc++.h>
using namespace std;
const int maxn = ;
int dp1[maxn][maxn], dp2[maxn][maxn], dp3[maxn][maxn], dp4[maxn][maxn];
void init() {
for (int n = ; n <= ; n++) {
for (int k = ; k <= ; k++) {
if (n == k) dp1[n][k] = ;
else if (n < k) dp1[n][k] = ;
else dp1[n][k] = dp1[n-k][k]+dp1[n-][k-];
}
} for (int n = ; n <= ; n++) {
dp2[n][] = n== ? : ;
for (int m = ; m <= ; m++) {
if (n < m) dp2[n][m] = dp2[n][n];
else if (n == m) dp2[n][m] = dp2[n][m-]+;
else dp2[n][m] = dp2[n][m-]+dp2[n-m][m-];
}
} for (int n = ; n <= ; n++) {
dp3[n][] = (n%), dp4[n][] = (n%==);
dp3[n][] = dp3[n][];
for (int m = ; m <= ; m++) {
if (n < m) dp3[n][m] = dp4[n][m] = ;
else if (n == m) dp3[n][m] = , dp4[n][m] = ;
else {
dp3[n][m] = dp3[n-][m-]+dp4[n-m][m];
dp4[n][m] = dp3[n-m][m];
}
dp3[n][] += dp3[n][m];
}
}
}
int main() {
init();
int n, k;
while (cin >> n >> k) {
cout << dp1[n][k] << endl;
cout << dp2[n][n] << endl;
cout << dp3[n][] << endl;
}
return ;
}

noi7219 复杂的整数划分问题的更多相关文章

  1. 整数划分问题-解法汇总(暂有DP-递归)

    整数划分问题是一个锻炼组合数学,递归以及动态规划很好的例子,虽然问题看似简单,但是其中玄机万千,有人转化成为背包问题,有人用生成函数解,有人以此作为企业面试题目,可见这种问题的认可度还是很高的. 整数 ...

  2. noi 7219:复杂的整数划分问题

    7219:复杂的整数划分问题 查看 提交 统计 提问 总时间限制:  200ms 内存限制:  65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+…+nk, 其中n1>= ...

  3. hdu1028(整数划分问题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1028 整数划分问题 整数划分 --- 一个老生长谈的问题: 描述 整数划分是一个经典的问题.请写一个程 ...

  4. 华为OJ平台——放苹果(典型整数划分问题)

    题目描述: 输入m,n,分别表示苹果数与盘子的总数,要求输出苹果放在n个盘子的方法总数(注意511和151是一种情况),例如输入 7 3 输出8((7),(6,1),(5,2),(4,3),(5,1, ...

  5. poj 3181 Dollar Dayz (整数划分问题---递归+DP)

    题目:http://poj.org/problem?id=3181 思路:将整数N划分为一系列正整数之和,最大不超过K.称为整数N的K划分. 递归:直接看代码: 动态规划:dp[i][j]:=将整数i ...

  6. 区间dp 整数划分问题

    整数划分(四) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近 ...

  7. 【noi 2.7_7219】复杂的整数划分问题(算法效率)

    题意:若干组数据,分别问 N划分成K个正整数之和的划分数目.N划分成若干个不同正整数之和的划分数目.N划分成若干个奇正整数之和的划分数目. 解法:请见我之前的一篇博文内的Article 2--[noi ...

  8. 【noi 2.7_7215】简单的整数划分问题(算法效率)

    题意:问正整数n的所有划分个数. 解法:f[i][j]表示划分 i 后的每个数不大于 j 的划分数.分情况讨论:划分中每个数都小于 j,相当于每个数不大于 j- 1, 故划分数为 f[i][j-1]  ...

  9. 整数划分问题--DFS

    单点时限:1000ms 内存限制:256MB 描写叙述 Given two positive integers N and M, please divide N into several intege ...

随机推荐

  1. Python 如何写 Ubuntu syslog

    address='/dev/log' 是关键 import logging from logging.handlers import SysLogHandler logger = logging.ge ...

  2. element UI排坑记(一):判断tabs组件是否切换

    之所以将这个问题列在排坑记之中,是因为官方组件的一个属性颇有些隐蔽,这个问题曾经折腾了本人较多时间,始终思维固着,且使用搜索引擎也不容易搜索到答案,故记之.然而实际解决却是相当简单的. 一.问题描述 ...

  3. Swift-Realm数据库的使用详解

    Swift-Realm数据库的使用详解 概述 Realm 是一个跨平台的移动数据库引擎,其性能要优于 Core Data 和 FMDB - 移动端数据库性能比较, 我们可以在 Android 端 re ...

  4. Nakamori Akina

    听过中森明菜的歌以后,一直想写点什么.恰好前段时间看过她的一个访谈https://b23.tv/av13810011,节目里已经39岁左右的她看着已经有些衰老,但是那份属于她的天真却保持的很好. 节目 ...

  5. unittest 管理用例生成测试报告

    # 登录方法的封装 from appium import webdriver from time import sleep from python_selenium.Slide import swip ...

  6. speedtest 测试服务器上传下载速度

    下载speedtest.py wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py 赋予执行权限 ...

  7. 10)drf 过滤器(条件查询 排序 ) 分页器

    一.群查接口各种筛选组件 数据准备 models.py class Car(models.Model): name = models.CharField(max_length=16, unique=T ...

  8. 阿里云服务器连接AWS-S3

    1.找到一个路径下载 aws-cli  (使用离线包安装) wget -P /usr/local/software https://s3.amazonaws.com/aws-cli/awscli-bu ...

  9. redis关闭报没有权限No auth

    Redis安装之后,如果设置了密码,需要在关闭服务的时候也提供密码,否则无法关闭服务,可以直接通过修改/etc/init.d/redis启动脚本解决. Redis服务的启动和关闭脚本,只需要在关闭的脚 ...

  10. 区间dp C - Two Rabbits

    C - Two Rabbits 这个题目的意思是,n块石头围一圈.一只兔子顺时针,一只兔子逆时针(限制在一圈的范围内). 这个题目我觉得还比较难,不太好想,不过后来lj大佬给了我一点点提示,因为是需要 ...