2618 核电站问题

2618 核电站问题

时间限制: 1 s

空间限制: 32000 KB

题目等级 : 黄金 Gold

题解

题目描述 Description

一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。

任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数。

输入描述 Input Description

输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5)

输出描述 Output Description

输出文件只有一个正整数S,表示方案总数。

样例输入 Sample Input

4 3

样例输出 Sample Output

13

数据范围及提示 Data Size & Hint

( 1<N<50,2≤M≤5)

分类标签 Tags 点此展开

记忆化搜索 搜索

AC代码:

#include<cstdio>
#define ll long long
using namespace std;
const int N=1e3+10;
int n,m;
ll f[N];
int main(){
    scanf("%d%d",&n,&m);
    f[0]=1;
    for(int i=1;i<=n;i++){
        if(i<m) f[i]=f[i-1]<<1;
        else{
            if(i-m-1<0) f[i]=(f[i-1]<<1)-1;
            else f[i]=(f[i-1]<<1)-f[i-m-1];
        }
    }
    printf("%lld",f[n]);
    return 0;
}
时间: 2024-12-13 15:00:07

2618 核电站问题的相关文章

核电站问题(codevs 2618)

题目描述 Description 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数. 输入描述 Input Description 输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5) 输出描述 Output Description 输出文件只有一个正整数S,表示方案总数. 样例输入 Sample Input 4 3 样例输出 Sample Outp

473. 核电站问题

473. 核电站问题 ★   输入文件:nucle.in   输出文件:nucle.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 一个核电站有 N 个放核物质的坑,坑排列在一条直线上.如果连续 M 个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的 N 和 M ,求不发生爆炸的放置核物质的方案总数. [输入格式] 输入文件(nucle.in)只一行,两个正整数 N , M( 1<N<50 , 2 ≤ M ≤ 5) [输出格式]

核电站问题

题目描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 输入格式 输入文件只一行,两个正整数N,M( 1<N<50,2≤M≤5) 输出格式 输出文件只有一个正整数S,表示方案总数. 题解: 一开始以为可以用数学方法解答,但WA了,看了别人的题解后有感. 设f[i]为第i个坑道使不爆炸的方案数. m就是连续m个炸弹就把你给组特了,i就是第i个坑道 当i<

核电站

描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 --by NOI.openjudge http://noi.openjudge.cn/ch0206/9267/ <<<<<<<<<<<<<<<<<<<<<<<<<<

Vijos 1232 核电站问题

核电站问题 描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 现在,请你计算:对于给定的N和M,求不发生爆炸的放置核物质的方案总数. 格式 输入格式 输入文件只有一行,两个正整数N,M. 输出格式 输出文件只有一个正整数,表示方案总数. 样例1 样例输入1 4 3 样例输出1 13 限制 1s 提示 全部数据n<=50,m<=5 来源 OIBH本题目由VijosCP V0.1.1 测试版 生成 请勿删除此行 分析

【BZOJ 2618】 2618: [Cqoi2006]凸多边形 (半平面交)

2618: [Cqoi2006]凸多边形 Description 逆时针给出n个凸多边形的顶点坐标,求它们交的面积.例如n=2时,两个凸多边形如下图: 则相交部分的面积为5.233. Input 第一行有一个整数n,表示凸多边形的个数,以下依次描述各个多边形.第i个多边形的第一行包含一个整数mi,表示多边形的边数,以下mi行每行两个整数,逆时针给出各个顶点的坐标. Output 输出文件仅包含一个实数,表示相交部分的面积,保留三位小数. Sample Input 2 6 -2 0 -1 -2 1

Tyvj P3119 核电站问题 动态规划

题目:http://tyvj.cn/p/3119 P3119 核电站问题 时间: 1000ms / 空间: 65536KiB / Java类名: Main 描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质.  任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数 输入格式 输入文件只一行,两个正整数N,M( 1 输出格式 输出文件只有一个正整数S,表示方案总数. 测试样例1 输入 4 3 输出 13 题解: 动

●BZOJ 2618 [Cqoi2006]凸多边形

题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2618 题解: 计算几何,半平面交. 给出一些凸包,求面积交. 把所有边都取出来,直接办平面交就好.    原来dcmp也不能滥用,之前把所有的大于小于比较都用了dcmp函数,导致错误. (以后除了double型判等,其它时候尽量不用dcmp好了) 代码: #include<cmath> #include<cstdio> #include<cstring> #inc

【noi 2.6_9267】核电站(DP)

题意:n个数中不能同时选连续m个或以上,问方案数. 解法:f[i][j]表示从前i个中选,到第i个已经连续选了j个.j!=0时,  =f[i-1][j-1];j=0时, =f[i-1][0~m-1]; 优化1:f[i][m]存f[i-1][0~m-1],就不用多for一重. 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 using namespace std; 5 6 long long f[5