Items divided
Items divided
题目链接:http://acm.xidian.edu.cn/problem.php?id=1183
参考:http://www.cnblogs.com/wanghetao/archive/2013/11/25/3442192.html
划分数(dp)
以前划分数没仔细看,拿到这题的时候随便弄了个dp,调了半个多小时,结束后游少提醒转移方程是错的= =
dp[i][j]表示将i划分成j个正整数的划分数,之后有以下三种情况:
1.i<j 此时i不可能划分成j个正整数,故dp[i][j]=0;
2.i==j 此时只有一种情况(将i划分成j个1),故dp[i][j]=1;
3.i>j 此时根据含不含1可分成(1和j-1个正整数)或 (j个不含1的正整数)
即dp[i-1][j-1]或dp[i-j][j],故dp[i][j]=dp[i-1][j-1]+dp[i-j][j].
这题询问的次数有点多,直接求会TLE,所以我先打了张ans的表。
代码如下:
#include<cstdio>
#define N 1001
#define Mod (long long)(1e9+7)
using namespace std;
typedef long long LL;
LL n,m;
LL dp[N][N];
LL ans[N][N];
int main(void){
for(int i=;i<=;++i)dp[i][]=;
for(int j=;j<=;++j)
for(int i=;i<=;++i){
if(i==j)dp[i][j]=;
else if(i>j)dp[i][j]=(dp[i-][j-]+dp[i-j][j])%Mod;
}
for(int i=;i<=;++i)
for(int j=;j<=;++j)
ans[i][j]=(ans[i][j-]+dp[i][j])%Mod;
while(scanf("%lld%lld",&n,&m)){
if(n==&&m==)break;
printf("%lld\n",ans[n][m]);
}
}
Items divided的更多相关文章
- XidianOJ 1183 Water Problem: Items divided
题目描述 Youyouyouyou is very interested in math, one day, an idea came into his mind that how many ways ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...
- Memcached源码分析之items.c
#include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...
- [模拟] Codeforces - 1191C - Tokitsukaze and Discard Items
Tokitsukaze and Discard Items time limit per test 1 second memory limit per test 256 megabytes input ...
- Zabbix Trapper items
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px STHeiti; color: #313131 } span.s1 { } 概述 Trappe ...
- 关于learntorank http://qiita.com/rockhopper/items/bb3d46f01df5f6499123
一.数据转换 如何对于训练数据做pairwise的transform,比如你原始数据是要么点击要么不点击,如何对这些样本数据做pairwise的transform? 下面的方法主要是做组合的方法,就是 ...
- An error occurred while collecting items to be installed
安装的插件:Activiti 在Eclipse安装插件时,报以下错误: An error occurred while collecting items to be installed session ...
- [Android] Google IAP unmaneged items服务器校验
android IAP unmaneged items 服务器校验 当成功IAP以后, 会在google服务器记录此次购买的状态. 可以通过Google Play Android Developer ...
- [WPF]ComboBox.Items为空时,点击不显示下拉列表
ComboBox.Items为空时,点击后会显示空下拉列表: ComboBox点击显示下拉列表,大概原理为: ComboBox存在ToggleButton控件,默认ToggleButton.IsChe ...
随机推荐
- 微信小程序开源项目库集合
UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...
- Android- assent和raw的区别
Android- assent和raw的区别 相同点: 里面的文件在编译的时候都不会被编译成二进制文件,都会原封不动的打包. 不同点: 1.存放的路径不一样,一般assets存放在项目的根目录下,而r ...
- [SQL基础教程] 5-1视图
[SQL基础教程] 5-1视图 视图和表 从SQL角度看视图就是一张表 视图与表的差别 表保存了实际的数据,视图保存的是SELECT语句: 视图的优点 节省存储空间: 将常用的Select 语句保存成 ...
- python爬虫框架scrapy初识(一)
Scrapy介绍 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中.所谓网络爬虫,就是一个在网上到处或定向抓取数据的 ...
- strstr库函数实现
#include<stdio.h> #include<assert.h> char *strstr(char* src,char *sub) { if(src==NULL||N ...
- Activiti工作流入门
Activiti简介 Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以发布设计好的流程定义,并通过api进行流程调度. Activiti 作为一个遵从 Apache 许可的工 ...
- 将递归函数非递归化的一般方法(cont)
本文通过模拟汇编里的stack机制,构建一个自己的stack,然后将上一篇blog末尾的递归函数void bst_walk(bst_node_t *root)非递归化. o libstack.h #i ...
- nginx使用openssl的证书-泛解析
一.需求分析 我们公司测试环境,域名更换,原来的*.dev.devbao.cn 变为 *.dev.vdai.cn ,此处的*表示多个二级域名,导致原来为dev.devbao.cn制作的ssl ...
- js onblur 和 onkeyup 事件用法
1. onblur 表示失去焦点时触发 2. onkeyup 表示键盘每输完一个字符之后触发,就是键盘上的按键被放开时. 例子如下: <!DOCTYPE HTML PUBLIC "-/ ...
- vim 常用操作
a 进入INSERT MODE x 删除当前光标下的字符dw 删除光标之后的单词剩余部分.d$ 删除光标之后的该行剩余部分.dd 删除当前行. c 功能和d相同,区别在于完成删除操作后进入INSERT ...