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的更多相关文章

  1. XidianOJ 1183 Water Problem: Items divided

    题目描述 Youyouyouyou is very interested in math, one day, an idea came into his mind that how many ways ...

  2. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二)

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第七章:在Direct3D中绘制(二) 代码工程地址: https:/ ...

  3. Memcached源码分析之items.c

    #include "memcached.h" #include <sys/stat.h> #include <sys/socket.h> #include ...

  4. [模拟] Codeforces - 1191C - Tokitsukaze and Discard Items

    Tokitsukaze and Discard Items time limit per test 1 second memory limit per test 256 megabytes input ...

  5. Zabbix Trapper items

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px STHeiti; color: #313131 } span.s1 { } 概述 Trappe ...

  6. 关于learntorank http://qiita.com/rockhopper/items/bb3d46f01df5f6499123

    一.数据转换 如何对于训练数据做pairwise的transform,比如你原始数据是要么点击要么不点击,如何对这些样本数据做pairwise的transform? 下面的方法主要是做组合的方法,就是 ...

  7. An error occurred while collecting items to be installed

    安装的插件:Activiti 在Eclipse安装插件时,报以下错误: An error occurred while collecting items to be installed session ...

  8. [Android] Google IAP unmaneged items服务器校验

    android IAP unmaneged items 服务器校验 当成功IAP以后, 会在google服务器记录此次购买的状态. 可以通过Google Play Android Developer ...

  9. [WPF]ComboBox.Items为空时,点击不显示下拉列表

    ComboBox.Items为空时,点击后会显示空下拉列表: ComboBox点击显示下拉列表,大概原理为: ComboBox存在ToggleButton控件,默认ToggleButton.IsChe ...

随机推荐

  1. C语言之if和switch的分别

    If和switch的互换规则 用if语句能实现的东西,用switch也可以实现 用switch语句能实现的东西,用if也可以实现 1.如果是判断范围的时候,用switch不太好做,没法直接做 2.如果 ...

  2. C#异步的世界【上】

    新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...

  3. js判断获取浏览器关闭状态

    如题,js获取浏览器关闭状态,可实现判断选择是否关闭. <html> <head> <title> </title> </head> < ...

  4. chrome ipc 网摘

    http://my.oschina.net/myspaceNUAA/blog/81632?p=1 http://lihuan623.blog.163.com/blog/static/138595845 ...

  5. C# CodeHelper

    using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using Syste ...

  6. mouseover和this的巧用

    mouseover & mouseout 的问题 在JS中,使用mouseover & mouseout会有触发多次的问题,这里Jquery有了替代的新属性 mouseover == ...

  7. Wise Registry Cleaner Pro(智能注册表清理) V9.31 绿色版

    软件名称: Wise Registry Cleaner Pro(智能注册表清理)软件语言: 简体中文授权方式: 免费试用运行环境: Win7 / Vista / Win2003 / WinXP 软件大 ...

  8. php笔记(二)PHP类和对象之Static静态关键字

      PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { pr ...

  9. WinForm 无边框窗体和timer控件

    一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入,移出,按下三个事件会让按钮改变样式 如何获取图 ...

  10. eclipse背景主题

    长时间对着电脑敲代码,眼睛受不了啊,果然程序员就没人权吗?之前咱给codeblocks背景换了颜色,去官网上粘粘代码然后替换一下就行了,这里不多说, 这里说的是给ecllipse换主题,按理说ecli ...