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 ...
随机推荐
- C语言之if和switch的分别
If和switch的互换规则 用if语句能实现的东西,用switch也可以实现 用switch语句能实现的东西,用if也可以实现 1.如果是判断范围的时候,用switch不太好做,没法直接做 2.如果 ...
- C#异步的世界【上】
新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...
- js判断获取浏览器关闭状态
如题,js获取浏览器关闭状态,可实现判断选择是否关闭. <html> <head> <title> </title> </head> < ...
- chrome ipc 网摘
http://my.oschina.net/myspaceNUAA/blog/81632?p=1 http://lihuan623.blog.163.com/blog/static/138595845 ...
- C# CodeHelper
using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using Syste ...
- mouseover和this的巧用
mouseover & mouseout 的问题 在JS中,使用mouseover & mouseout会有触发多次的问题,这里Jquery有了替代的新属性 mouseover == ...
- Wise Registry Cleaner Pro(智能注册表清理) V9.31 绿色版
软件名称: Wise Registry Cleaner Pro(智能注册表清理)软件语言: 简体中文授权方式: 免费试用运行环境: Win7 / Vista / Win2003 / WinXP 软件大 ...
- php笔记(二)PHP类和对象之Static静态关键字
PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { pr ...
- WinForm 无边框窗体和timer控件
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入,移出,按下三个事件会让按钮改变样式 如何获取图 ...
- eclipse背景主题
长时间对着电脑敲代码,眼睛受不了啊,果然程序员就没人权吗?之前咱给codeblocks背景换了颜色,去官网上粘粘代码然后替换一下就行了,这里不多说, 这里说的是给ecllipse换主题,按理说ecli ...