转自:http://www.cnblogs.com/geloutingyu/p/6329594.html

一道非常好的dp题目。

1043 幸运号码 

基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题

 收藏

 关注

1个长度为2N的数,如果左边N个数的和 = 右边N个数的和,那么就是一个幸运号码。

例如:99、1230、123312是幸运号码。

给出一个N,求长度为2N的幸运号码的数量。由于数量很大,输出数量 Mod 10^9 + 7的结果即可。

Input

输入N(1<= N <= 1000)

Output

输出幸运号码的数量 Mod 10^9 + 7

Input示例

1

Output示例

9
#include <bits/stdc++.h>
#define ll long long
using namespace std; const int mod=1e9+7;
const int MAXN=1010;
ll dp[MAXN][MAXN*9]; int main(void){
ll ans=0;
int n;
cin >> n;
dp[0][0]=1;
for(int i=1; i<=n; i++){
for(int j=0; j<=i*9; j++){
for(int k=0; k<=9; k++){
if(j>=k){
dp[i][j]=(dp[i][j]+dp[i-1][j-k])%mod;
}else{
break;
}
}
}
}
for(int i=0; i<=9*n; i++){
ans=(ans+(dp[n][i]-dp[n-1][i])*dp[n][i])%mod;
}
cout << ans << endl;
return 0;
}

51 Nod 1043 幸运号码(需重做好好体会)的更多相关文章

  1. 51nod 1043 幸运号码(数位dp)

    题目链接:51nod 1043 幸运号码 题解:dp[i][j]表示 i 个数和为 j 的总数(包含0开头情况) dp[i][j] = dp[i-1][j-k] i & 1 :这里用滚动数组节 ...

  2. 51nod 1043 幸运号码(数位dp

    1043 幸运号码     1个长度为2N的数,如果左边N个数的和 = 右边N个数的和,那么就是一个幸运号码. 例如:99.1230.123312是幸运号码. 给出一个N,求长度为2N的幸运号码的数量 ...

  3. 1043 幸运号码 数位DP

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1043 设dp[i][j]表示前i位数中,i位数的和为j时的所有情况. 转 ...

  4. 51Nod 1043 幸运号码

    #include <stdio.h> #include <algorithm> using namespace std; typedef long long ll; ; ][] ...

  5. AC日记——幸运号码 51nod 1043

    幸运号码 思路: 传说中的数位dp: 不难发现,n(n<1000) ,那么,n个数的最大和为9*1000=9000: 对于9000*1000的时间范围,我们可以用dp来解决: dp[i][j], ...

  6. 51 nod 1766 树上的最远点对(线段树+lca)

    1766 树上的最远点对 基准时间限制:3 秒 空间限制:524288 KB 分值: 80 难度:5级算法题   n个点被n-1条边连接成了一颗树,给出a~b和c~d两个区间,表示点的标号请你求出两个 ...

  7. 51 nod 1205 流水线调度

    51 nod 1205 流水线调度 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题   N个作业{1,2,…,n}要在由2台机器M1和M2组成的流水线上完成加工.每 ...

  8. 51 nod 1439 互质对(Moblus容斥)

    1439 互质对 题目来源: CodeForces 基准时间限制:2 秒 空间限制:131072 KB 分值: 160 难度:6级算法题 有n个数字,a[1],a[2],…,a[n].有一个集合,刚开 ...

  9. 51 nod 1495 中国好区间

    1495 中国好区间 基准时间限制:0.7 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   阿尔法在玩一个游戏,阿尔法给出了一个长度为n的序列,他认为,一段好的区间,它的长度是& ...

随机推荐

  1. node 环境安装

    记录一下, 方便自己需要时用, 免得到处找 1. 官网下载安装node(选择LTS长期支持版本), 一路点击next即可(傻瓜式安装) 2. 验证是否正确安装, 打开命令窗口, 执行 node -v ...

  2. Css文字效果

    1.文字样式:font-family 字体:sans-serif(字体醒目):serif(笔画的开始和结束有额外的修饰部分,易读性较强) *页面设计最好有多个备选字体 2.文字大小:font-size ...

  3. JS基础_while循环

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. MongoDB 基础增删改查

    增删改查 基础操作 use show dbs show collections db[当前所在数据库] 插入文档 db.collection.insert() db.collection.insert ...

  5. 文档.Write()和文档.Writeln()石材

    文档.Write()和文档.Writeln()文档是Javascript对象,其中封装了许多有用的方法,其中Write()和Writeln()是直接从浏览器窗口输出文本信息的方法.文件.Write() ...

  6. 1 sql server 中merge的用法

    MERGE 要更新的表名 AS target USING ( 这里是用什么数据源来跟新 ) AS source ( 这里是数据源的所有列名 ) ON 这里是要更新的表和数据源的匹配条件 WHEN MA ...

  7. element-ui el-table表格排序sortable参数解析

    表格组件的排序功能,点击排序表头可以进行升序和降序进行排序 页面代码,基本上排序的参数都使用了 <el-table :data="tableData" style=" ...

  8. docker 批量删除含有同样名字的images

    docker rmi --force $(docker images | grep doss-api | awk '{print $3}') docker rmi  $(docker images | ...

  9. GDI+ 绘图教程 验证码

    使用的 C# winform using System; using System.Collections.Generic; using System.ComponentModel; using Sy ...

  10. centos8下jdk13和tomcat9的安装

    首先下载JDK13和tomcat9在对应的官网上: 通过xftp传到linux服务器上的对应的目录,如/usr/local  apache-tomcat-9.0.27.tar.gz ,jdk-13.0 ...