http://acm.timus.ru/problem.aspx?space=1&num=1476

由于前一列对后一列有影响,所以需要保持前一列的状态,

但无需用状态压缩来保存(也保存不了) 只需要保存前一列以 k 个0结尾的个数就可以

代码:

import java.math.BigInteger;
import java.util.Scanner;public class Main {/*** @param args*/static final int N = 44;public static void main(String[] args) {// TODO Auto-generated method stubBigInteger[][] dp = new BigInteger[N][N];BigInteger[][] d = new BigInteger[N][N];BigInteger[][] c = new BigInteger[N][N];for(int i=0;i<N;++i){for(int j=0;j<N;++j){dp[i][j]=d[i][j]=c[i][j]=BigInteger.ZERO;}}for(int i=0;i<N;++i){for(int j=0;j<=i;++j){if(j==0||i==j){c[i][j]=BigInteger.ONE;}else{c[i][j]=c[i-1][j].add(c[i-1][j-1]);}}}Scanner in = new Scanner(System.in);int n=in.nextInt();int m=in.nextInt();int k=in.nextInt();for(int i=0;i<=n;++i){for(int j=0;j<=i;++j){for(int l=0;l<=(n-i);++l){if(i-j<=k){d[i][j+l]=d[i][j+l].add(c[i][j].multiply(c[n-i][l]));}}}}dp[0][0]=BigInteger.ONE;BigInteger ans=BigInteger.ZERO;for(int i=0;i<=m;++i){for(int j=0;j<=n;++j){if(i==m){ans=ans.add(dp[i][j]);continue;}for(int l=0;l<=n;++l){dp[i+1][l]=dp[i+1][l].add(dp[i][j].multiply(d[j][l]));}}}System.out.println(ans);}
}

转载于:https://www.cnblogs.com/liulangye/p/3355653.html

1476. Lunar Code相关推荐

  1. Java多线程系列--【JUC线程池 02】- 线程池原理(一)

    参考:http://www.cnblogs.com/skywang12345/p/java_threads_category.html 概要 在前面一章"Java多线程系列--"J ...

  2. MYSQL ERROR CODE 错误编号的意义

    mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...

  3. CERC17 Problem L - Lunar Landscape(差分,坐标系)

    CERC17 Problem L - Lunar Landscape Solution 如果只有AAA,我们可以简单地使用差分解决. 加入了BBB之后,可以把单位正方形用对角线拆成四个等腰Rt,统计等 ...

  4. 数论练习二之BSGS算法——随机数生成器,Matrix,Lunar New Year and a Recursive Sequence,Fermat‘s Last Theorem

    [SDOI2013] 随机数生成器 description solution 肯定是非常想找一个通项公式来表示第nnn个数的 依据形式,考虑化成等比数列 xi+1+k=a(xi+k)=a⋅xi+b+t ...

  5. VS Code【插件与主题】推荐

    目录 插件 Auto Close Tag Auto Rename Tag Babel ES6/ES7 background Beautify Better Align Better Comments ...

  6. 如何在团队中做好Code Review

    一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...

  7. Pyinstaller 打包 torch 后执行失败 OSError: could not get source code

    1. 问题现象 系统环境 Python 3.6.9 torch 1.2.0 torchvision 0.4.0 Pyinstaller 4.5.1 Pyinstaller 打包 torch 后执行失败 ...

  8. VS Code 安装 Go 插件、自定义扩展配置、断点调试

    1. 安装插件 使用快捷键 Ctrl+Shift+X 打开插件安装页面,安装 Go 插件. 2. 自定义扩展配置 使用快捷键 Ctrl+, 打开自定义配置页,编辑 settings.json ,定义与 ...

  9. VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、

    1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...

最新文章

  1. 智能网联技术 英文_智能网联技术是什么?有什么好推荐学习地方?
  2. 惠普 g5 服务器 centos安装系统,hp 380G5 安装centos 7
  3. 揭开知识库问答KB-QA的面纱4·向量建模篇
  4. 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
  5. 【Opengl】Glut下载与环境配置
  6. 心理学与生活 - 文化与社会
  7. 什么是全国大学生电子设计大赛?如何备战?
  8. 流程图制作原则与示例
  9. php mud游戏源码,mud手游源码,mud安卓端源码,谁与争锋mud源码:关于MUD纯文字游戏架设(回答得好加分100)(开源mud游戏框架)-南开游戏网...
  10. 怎样写一个lemon的spj
  11. 2022年化工自动化控制仪表考试资料及化工自动化控制仪表免费试题
  12. (二)postman批量执行用例
  13. duilib学习------网易云信图片中间加文字
  14. 傅盛认知三部曲之二:管理本质就是认知管理
  15. 【无标题】灵遁者相观天下,相学培训书籍
  16. 关于嘀嘀打车产品同质化的看法
  17. Tryhackme -Skynet(考点:smb 密码爆破 cuppa RFI cronjob - tar提权)
  18. 少说话多写代码之.net core——001:建一个api
  19. Redis学习视频教程
  20. 读书笔记-干法-持续不断地努力 化平凡为非凡 一步步持续积累

热门文章

  1. 记录值上调10_「阴阳师」10月16日维护更新公告,海国迷踪,迷影重重
  2. centos 配置bond_Linux CentOS 7 多网卡配置bond模式 bond1 bond5 bond6
  3. android类名方法名不混淆,android – 如何告诉Proguard混淆类名
  4. android 封装的popwindow,Android UI开发 popupwindow介绍以及代码实例
  5. mysql 脑裂的问题,DRBD脑裂问题故障处理
  6. oracle oud什么意思,oracle 在linux上,如何使用oud工具恢復truncate 表中的记录? 超急!请帮帮忙...
  7. Makefile和Shell学习笔记
  8. 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
  9. OpenCV最经典的3种颜色空间(cv2.cvtColor)及互相转换
  10. Anaconda使用