1476. Lunar Code
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相关推荐
- Java多线程系列--【JUC线程池 02】- 线程池原理(一)
参考:http://www.cnblogs.com/skywang12345/p/java_threads_category.html 概要 在前面一章"Java多线程系列--"J ...
- MYSQL ERROR CODE 错误编号的意义
mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...
- CERC17 Problem L - Lunar Landscape(差分,坐标系)
CERC17 Problem L - Lunar Landscape Solution 如果只有AAA,我们可以简单地使用差分解决. 加入了BBB之后,可以把单位正方形用对角线拆成四个等腰Rt,统计等 ...
- 数论练习二之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 ...
- VS Code【插件与主题】推荐
目录 插件 Auto Close Tag Auto Rename Tag Babel ES6/ES7 background Beautify Better Align Better Comments ...
- 如何在团队中做好Code Review
一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...
- 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 后执行失败 ...
- VS Code 安装 Go 插件、自定义扩展配置、断点调试
1. 安装插件 使用快捷键 Ctrl+Shift+X 打开插件安装页面,安装 Go 插件. 2. 自定义扩展配置 使用快捷键 Ctrl+, 打开自定义配置页,编辑 settings.json ,定义与 ...
- VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、
1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...
最新文章
- 智能网联技术 英文_智能网联技术是什么?有什么好推荐学习地方?
- 惠普 g5 服务器 centos安装系统,hp 380G5 安装centos 7
- 揭开知识库问答KB-QA的面纱4·向量建模篇
- 第十节:委托和事件(2)(泛型委托、Func和Action、事件及与委托的比较)
- 【Opengl】Glut下载与环境配置
- 心理学与生活 - 文化与社会
- 什么是全国大学生电子设计大赛?如何备战?
- 流程图制作原则与示例
- php mud游戏源码,mud手游源码,mud安卓端源码,谁与争锋mud源码:关于MUD纯文字游戏架设(回答得好加分100)(开源mud游戏框架)-南开游戏网...
- 怎样写一个lemon的spj
- 2022年化工自动化控制仪表考试资料及化工自动化控制仪表免费试题
- (二)postman批量执行用例
- duilib学习------网易云信图片中间加文字
- 傅盛认知三部曲之二:管理本质就是认知管理
- 【无标题】灵遁者相观天下,相学培训书籍
- 关于嘀嘀打车产品同质化的看法
- Tryhackme -Skynet(考点:smb 密码爆破 cuppa RFI cronjob - tar提权)
- 少说话多写代码之.net core——001:建一个api
- Redis学习视频教程
- 读书笔记-干法-持续不断地努力 化平凡为非凡 一步步持续积累
热门文章
- 记录值上调10_「阴阳师」10月16日维护更新公告,海国迷踪,迷影重重
- centos 配置bond_Linux CentOS 7 多网卡配置bond模式 bond1 bond5 bond6
- android类名方法名不混淆,android – 如何告诉Proguard混淆类名
- android 封装的popwindow,Android UI开发 popupwindow介绍以及代码实例
- mysql 脑裂的问题,DRBD脑裂问题故障处理
- oracle oud什么意思,oracle 在linux上,如何使用oud工具恢復truncate 表中的记录? 超急!请帮帮忙...
- Makefile和Shell学习笔记
- 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
- OpenCV最经典的3种颜色空间(cv2.cvtColor)及互相转换
- Anaconda使用