URAL1513. Lemon Tale(dp)
这题好久之前就看过了,悲催的是当时看题解都没看懂,今天又看了看so easy...
n个B里不能出现超过连续k个L的情况 一维递推就可以 两种情况 1、dp[i] += dp[i-1] 在i-1的串后面直接加一个B 2、dp[i]+=dp[i-2]+dp[i-3]+...+dp[i-k-1] 这部分的意思是在串后面补连续1个L 2个L 3个L。。K个L的情况 那补一个L的情况要取决于dp[i-1]里面最后一位为B的个数 正好为dp[i-2],依次可做。
import java.text.*;
import java.io.*;
import java.util.*;
import java.math.*;
import java.applet.*;
public class Lemon {
public static void main(String args[])
{
Scanner cin = new Scanner(System.in);
BigInteger dp[] = new BigInteger[10010];
BigInteger s[] = new BigInteger[10010];
int i,j,n,k;
n = cin.nextInt();
k = cin.nextInt();
for(i = 0; i <= n ; i++)
dp[i] = s[i] = BigInteger.valueOf(0);
dp[0] = s[0] = BigInteger.valueOf(1);
if(k==0)
dp[1] = BigInteger.valueOf(1);
else
dp[1] = BigInteger.valueOf(2);
s[1] = s[0].add(dp[1]);
for(i = 2; i <= n ; i++)
{
dp[i] = dp[i].add(dp[i-1]);
BigInteger ss ;
if(i-k-2>=0)
ss = s[i-2].subtract(s[i-k-2]);
else
ss = s[i-2];
if(k>=i) dp[i] = dp[i].add(BigInteger.valueOf(1));
dp[i] = dp[i].add(ss);
s[i] = s[i-1].add(dp[i]); }
System.out.println(dp[n]);
} }
URAL1513. Lemon Tale(dp)的更多相关文章
- LightOJ 1033 Generating Palindromes(dp)
LightOJ 1033 Generating Palindromes(dp) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid= ...
- lightOJ 1047 Neighbor House (DP)
lightOJ 1047 Neighbor House (DP) 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730# ...
- UVA11125 - Arrange Some Marbles(dp)
UVA11125 - Arrange Some Marbles(dp) option=com_onlinejudge&Itemid=8&category=24&page=sho ...
- 【POJ 3071】 Football(DP)
[POJ 3071] Football(DP) Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4350 Accepted ...
- 初探动态规划(DP)
学习qzz的命名,来写一篇关于动态规划(dp)的入门博客. 动态规划应该算是一个入门oier的坑,动态规划的抽象即神奇之处,让很多萌新 萌比. 写这篇博客的目标,就是想要用一些容易理解的方式,讲解入门 ...
- Tour(dp)
Tour(dp) 给定平面上n(n<=1000)个点的坐标(按照x递增的顺序),各点x坐标不同,且均为正整数.请设计一条路线,从最左边的点出发,走到最右边的点后再返回,要求除了最左点和最右点之外 ...
- 2017百度之星资格赛 1003:度度熊与邪恶大魔王(DP)
.navbar-nav > li.active > a { background-image: none; background-color: #058; } .navbar-invers ...
- Leetcode之动态规划(DP)专题-详解983. 最低票价(Minimum Cost For Tickets)
Leetcode之动态规划(DP)专题-983. 最低票价(Minimum Cost For Tickets) 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行.在接下来的一年里,你要旅行的 ...
- 最长公共子序列长度(dp)
/// 求两个字符串的最大公共子序列长度,最长公共子序列则并不要求连续,但要求前后顺序(dp) #include <bits/stdc++.h> using namespace std; ...
随机推荐
- 土地购买 usaco 斜率优化
看这道题的时候,感觉很难,因为数据范围比较大,很难dp: 后来想到了[书柜的尺寸]这道题,也是一道dp,曾经看了那道题的题解而深有启发: 这道题每组的付费只与这一组长宽的最大值有关,也就是说要分组,一 ...
- eclipse中本地项目怎么和svn中的项目关联?
网速不好,通过别的方式把项目下载到本地硬盘,然后导入eclipse,代码修改后怎么提交到svn呢? 这个纠结了好久的问题... 首先要确定eclipse中安装了svn插件. 然后在“svn资源库研究” ...
- [工作积累] NDK通过Java获取package name 和version
////////////////////////////////////////////////////////////////////////// //Java code snippet //get ...
- Unity3D 将 Unity 嵌入WPF中的一些研究笔记
一. 在 WPF 中使用 WebBrowser,直接打开 WebPlayer.html 以这种方式有一个问题是. 无法在 WebBrowser 的上面 放置其它的控件, 在运行时,都不会显示 . 以 ...
- c#实现串口操作 SerialPort
命名空间:using System.IO.Ports;该类提供了同步 I/O 和事件驱动的 I/O.对管脚和中断状态的访问以及对串行驱动程序属性的访问. 操作类声明: SerialPort sp = ...
- shell脚本 -d 是目录文件,那么-e,-f分别是什么?还有"! -e"这又是什么意思呢?
-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真-L filen ...
- jquery ajax post 传递数组 ,多checkbox 取值
jquery ajax post 传递数组 ,多checkbox 取值 http://w8700569.iteye.com/blog/1954396 使用$.each(function(){});可以 ...
- [你必须知道的.NET]第三十五回,判断dll是debug还是release,这是个问题
发布日期:2009.12.29 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. 问题的提出 晚上翻着群里的聊天,发现一个有趣的问题:如何通过编码 ...
- 很好的一款思维导图工具XMind使用教程
1.首先,下载并安装该软件Xmind.安装完毕后,在[开始菜单]寻找Xmind快捷方式,点击打开主程序. 2.打开时出现[新建]页面,可以选择创建空白主题的文档,也可以选择从模板创作.本例选择创建空白 ...
- a cold welcome
What does 'a cold welcome' refer to? On wednesday evening,we went to the town hall. It was the last ...