【解题】核电站问题(SGOI)
题目描述
核电站问题
一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。
任务:对于给定的N和M,求不发生爆炸的放置核物质的方案总数。
输入格式:
输入文件只一行,两个正整数N,M( 1 < N < 50,2 ≤ M ≤ 5 )
输出格式:
输出文件只有一个正整数S,表示方案总数。
输入样例#1:
4 3
输出样例#1:
13
【解题分析】
设dp[i]为前i个物质的方案数,dp[i]的值有两个递推来源:对于当前第i个坑,放或不放核物质就有方案数dp[i-1]×2,但是当第i个坑放入核物质的时候,还要排除可能存在的连续m个坑核物质爆炸的问题:○○○|○...○○○●,所以当第i个坑放入核物质,要排除会爆炸的情况:前面刚好有m-1个坑的核物质,同时,如果前面m-1个坑都有核物质,则m-1前面的那个位置必然不会是核物质(否则就变成连续m个核物质,直接爆炸了),所以要排除掉这种情况:f[i-m-1],另外还有特殊情况是前面刚好只有m-1个坑,加上第i个坑共m个坑,这也是一种爆炸情况。
另外,n的值去到50,大于32,小于64,需要用到long long类型。
【参考代码】
#include<cstdio>
using namespace std;
long long dp[55];
int n,m;
int main(){scanf("%d%d",&n,&m);dp[1]=2;dp[0]=1;for(int i=2;i<=n;i++){dp[i]=2*dp[i-1];if(i==m)dp[i]--;if(i>m) dp[i]-=dp[i-m-1];}printf("%lld",dp[n]);return 0;
}
【解题】核电站问题(SGOI)相关推荐
- 常见的前端考试面试题目【vue,react,css,six】
常见的vue,javascript,css前端面试题 1.Vue2和Vue3的区别至少说5点 2.Vue3中组件通信的流程[父传子,子传父] 3.Apply/call/bind的原理是什么? 4.说说 ...
- 前端面试题【131道】
前端面试题 1.vue2和vue3的主要区别 3.Apply/call/bind的原理是什么? 4.说说你对原型和原型链的理解? 5.说说你对ES6中Generator的理解 6.说说你对Event ...
- 核电站问题 解题报告
核电站问题(SGOI) Time Limit:10000MS Memory Limit:65536K Description 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核 ...
- 【OJ】1402: 核电站问题
1402: 核电站问题 题目描述 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续3个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质.现在,请你计算:对于给定的N,求不发生爆炸 ...
- 通用解题法——回溯算法(理解+练习)
积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...
- 读书笔记2013第13本:《怎样解题》
<怎样解题>这本书是在看<编程大师访谈录>(中文版第12页)这本书时无意发现的,一个编程大师推荐这本书来指导编程设计,google到这本书后粗略地翻看了一遍,发现是一本教学生如 ...
- uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)
线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报 分类: ...
- 常量元素记忆口诀_化学口诀表:帮助学生加深记忆提高解题正确率
化学口诀表:帮助学生加深记忆提高解题正确率! 有这样一种说法,化学是理科中的文科.意思是说,化学虽说属于理科,可也如同文科一样,要背.要记的东西很多.不少学生就是因常见的化学元素符号等基本内容记不住而 ...
- 同底数幂比较大小方法_初中数学解题技法19.幂的运算
19.幂的运算 [分析] A选项为合并同类项,应把系数相加:B选项为同底数幂的乘法,底数不变,指数相加:C选项中x项的指数为1:D选项中负因数的奇次幂为负. [解] 答案选D [反思] [举一反三] ...
最新文章
- Sql Server 2008 无法启动T-Sql调试问题的解决方案
- 做CEO,一定要有“江湖感”
- ARM 架构(V7,V8),和ARM内核区别,从ARM7,ARM9到Cortex-A7,A8,A9,A12,A15到Cortex-A53,A57
- 计算机硕士工资情况收集
- java 反射 参数名_JAVA 8 反射获取参数名
- 转载+记录数据增广的八种常用方式
- BZOJ 1008 [HNOI2008]越狱
- 【Henu ACM Round#19 A】 Vasya the Hipster
- [转]el-table表格翻页后仍记忆所选项
- 计算机函数sun怎么用,excel函数怎么使用
- android 数据结构详情,Android数据结构与算法(一):基础简介
- 行业领军的高压线性恒流驱动IC,真正长寿的半导体线性IC
- MV* 模式梳理与理解(还原真实的 MV* 模式)
- BP神经网络实现实例1曲线拟合
- 图片生成二维码最好的工具
- 游戏开发程序员可能会遇到的英文单词
- 企业微信登录报错:应用程序无法正常启动(0xc0000142);Win10应用程序无法正常启动0xc0000142错误的解决方法
- 课堂纪律一团糟老师应该怎么办?
- 电脑做笔记用什么软件好
- OpenMP 并行处理