uva 11357 Matches
// uva 11357 Matches
//
// 题目大意:
//
// 给你n个火柴,用这n个火柴能表示的非负数有多少个,不能含有前导零
//
// 解题思路:
//
// f[i] 表示正好用i根火柴所能表示的整数的个数,则f[i + c[j]] += f[i];
// c[j] 为数字j所需要的火柴的数量,因为当j==0并且i==0的时候,我们不允许这样的
// 转移,因为i=0的时候不允许使用数字0,当n>=6时,再将0加上.我的理解是,当开始可以
// 用0的时候,那么后面的递推,就加上了前导零了,这样并不合法.而0的话我们只要在n>=6
// 的时候加上去就可以啦
//
// 感悟:
//
// 这道题,如果有前导零的话,那么我会这样的刷表法.f[i+c[j]] += f[i],但是
// 没有前导零的话,思索了许久,但是还是没有思路,原来可以在一开始的时候不把0
// 放入,即,不允许i==0的时候用上0,这样在累加的过程中,就不会有前导零,为什么
// 强调两遍呢,我觉得这就是精髓的所在。十分巧妙,继续加油吧~~~FIGHTING import java.util.*;
import java.io.*;
import java.math.BigInteger; class Main{ public static void main(String[] args){ final int MAX_N = ; BigInteger[] f = new BigInteger[]; int[] c = {,,,,,,,,,}; for (int i=;i<=;i++){
f[i] = new BigInteger("");
}
f[] = new BigInteger(""); for (int i=;i<=;i++){
for (int j=;j<;j++){
if (!(i == && j == ) && i + c[j] <= )
f[i+c[j]] = f[i+c[j]].add(f[i]);
}
} for (int i=;i<=;i++)
f[i] = f[i].add(f[i-]); int n;
Scanner sc = new Scanner(System.in);
while(sc.hasNextInt()){
n = sc.nextInt();
System.out.println(f[n].add( (n >= ? new BigInteger("") : new BigInteger(""))));
} } }
uva 11357 Matches的更多相关文章
- UVa 11375 - Matches
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- uva 11375 Matches (递推)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- 【Java】【高精度】【递推】UVA - 11375 - Matches
d[i+c[j]]+=d[i](c[j]是拼成j所需的火柴数) d[0]=1: 别忘了不能有前导零,所以当i为零时,不要尝试去拼成零.反而应该在n>=6时,最后给答案加1(单独拼出0). imp ...
- BigInteger
首先上模板(不断更新中...)(根据刘汝佳AOAPCII修改) #include <iostream> #include <sstream> #include <cstd ...
- UVa 340 Master-Mind Hints (优化查找&复制数组)
340 - Master-Mind Hints Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_on ...
- uva11357 Matches
Matches UVA - 11375 题意: 给你n根matches, 你可以拼出多少个数字0~9. 不必全部用完. 解题思路: 1. 计数题, 本题可以用图来理解. 把"已经使用了i根m ...
- keil MDK error: L6236E: No section matches selector - no section 错误
今天板子刚到,新建的第一个工程就报错了. .\Objects\cse.sct(7): error: L6236E: No section matches selector - no section t ...
- 解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题
解决Android中No resource found that matches android:TextAppearance.Material.Widget.Button.Inverse问题http ...
- HDU5456 Matches Puzzle Game(DP)
题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5456 Description As an exciting puzzle game for ...
随机推荐
- LVS简单实现NAT&DR模型
LVS:Linux Virtual Server 一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. 现在LVS已经是Linux标准内核的一部分 ...
- 树莓派 config.txt
树莓派开机默认配置文件:/boot/config.txt # For more options and information see # http://www.raspberrypi.org/doc ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- Highchart URL
http://www.highcharts.com/stock/demo/flags-general http://www.codesec.net/view/217265.html http://js ...
- easy ui 框架
Easy UI 准备工作(搭建) 1.在WebRoot 的目录下创建js 文件夹,在文件夹中倒入一下两个包 Jquery.easyui.min.js jquery.min.js 2.在WebRoot ...
- 【摘】BPMN2.0-概要
BPMN2.0-概要 原文地址:http://www.uml.org.cn/workclass/201206272.asp 作者:AliKevin2011,发布于2012-6-27 一.BPM ...
- Servlet目录
Servlet目录 课时1 Servlet概述12:30 课时2 servlet的第一个例子31:08 课时3 servlet的生命周期18:18 课时4 HttpServlet详细讲解31:43 ...
- java UDP
UDP 与 tcp 连接的 区别 以及 两者的不同 UDp 1 面向的是无连接的网络方式 2 传输速度快 (但是容易发生丢包 ) 3 传输的数据的大小带有的限制 一般是在64k 范围内 tcp 1 ...
- MG--滚动的视觉差效果
#几句代码完成tableView滚动的视觉差 - 效果图 (失帧严重)![](http://upload-images.jianshu.io/upload_images/1429890-f2c8577 ...
- 关于“float”的一次探索--遇到了一个span元素可以设置宽高引发的思考
起初,这个问题和float还有设置宽高之间是没有任何关联的,一开始这是一个关于height和line-height的问题,目的是为了探究一下这两者之间的关系,但是在学习的过程中,我翻之前写的代码,发现 ...