NYOJ题目252-01串(动态规划)
01串
- 描述
-
ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。
注:01串的长度为2时,有3种:00,01,10。
- 输入
-
第一行有一个整数n(0<n<=100),表示有n组测试数据;
随后有n行,每行有一个整数m(2<=m<=40),表示01串的长度; - 输出
- 输出不含有“11”子串的这种长度的01串共有多少个,占一行。
- 样例输入
-
2 2 3
- 样例输出
-
3 5
动态规划题,先找规律,尽量构成dp[i]和dp[i+n]的关系,然后就好解决了。
第一种方法:比较容易找规律就可以得到递推式
n==2的时候 00 01 10三种
n==3的时候 000 001 010 100 101 五种
n==4的时候 n==3的时候的情况末尾都加0 五种 + n==2的时候情况末尾加0再加1 三种 = 八种
n==3的时候末尾不管是什么都可加0得到n==4的情况,而n==3的时候,末尾是0的还可以通过加1获得n==4的情况,而n==3时末尾是0的情况都是n==2的时候的所有情况通过末尾加0获得的,所以ans[i] = ans[i-1]+ans[i-2]
#include <cstdio>
#include <iostream>
using namespace std;int fun(int m)
{int ans[m+1];for(int i=2; i<=m; i++){if(i==2)ans[i]=3;else if(i==3)ans[i]=5;elseans[i]=ans[i-1]+ans[i-2];}return ans[m];}int main()
{int n;cin>>n;while(n--){int m;cin>>m;cout<<fun(m)<<endl;}return 0;
}
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;int dp[41][2];int main(){int n;scanf("%d", &n);while(n--){int m;scanf("%d", &m);memset(dp, 0, sizeof(dp));dp[1][0] = 1;dp[1][1] = 1;for(int i=2; i<=m; i++){dp[i][0] = dp[i - 1][0] + dp[i - 1][1];dp[i][1] = dp[i - 1][0];}printf("%d\n", dp[m][0]+dp[m][1]);}return 0;
}
NYOJ题目252-01串(动态规划)相关推荐
- NYOJ 252 01串 dp
01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长度的0 ...
- NYOJ 252 01串
01串 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 2 描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有"11"子串的这种长 ...
- nyist 252 01串
题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=252 思路:第一维表示长度,第二维表示目前最后一位是0还是1 AC代码: #include ...
- 【nyoj - 252】 01串(简单dp)
题干: 01串 时间限制:1000 ms | 内存限制:65535 KB 难度:2 输入 第一行有一个整数n(0<n<=100),表示有n组测试数据; 随后有n行,每行有一个整数m(2 ...
- 01串(51Nod-1391)
题目 给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x <j, S[i..x]中0比1多,而S[x + 1..j]中1比0多.求满足条件的最长子串长度. ...
- 51nod-1391:01串
1391 01串 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给定一个01串S,求出它的一个尽可能长的子串S[i. ...
- 智乃的01串打乱(思维+暴力)
题目连接 https://ac.nowcoder.com/acm/contest/23478/D 题面 思路 因为希望我们打乱后的01串和原串至少有一个位置不同,那么我们只需要随便找到一个值为1的位置 ...
- 01串状态压缩(位运算)
题目描述: 农夫约翰对牛棚里昏暗的灯光感到不满,刚刚安装了一个新吊灯. 新吊灯由 N 个灯泡组成,这 N 个灯泡围成一圈,编号为 0∼N−1. 奶牛对这个新吊灯非常着迷,并且喜欢玩以下游戏: 对于第 ...
- 01背包问题 动态规划 java实现 简单通俗易懂
** 01背包问题 动态规划 ** 1.动态规划 什么是动态规划?动态规划就是将一个大问题不断向下拆分成小问题,直到拆分出的小问题可以求出其解,然后将小问题的解不断的向上合并,最终得到大问题的解决方案 ...
- 2272: 又是01串(http://acm.zzuli.edu.cn/problem.php?id=2272csrf=nr0h1HsiO5WDrN3Jk1j9aUmgYOdn7QAV)
题目描述 给定一个0-1串s,长度为n,下标从0开始,求一个位置k,满足0<=k<=n, 并且子串s0..k−1中的0的个数与子串sk..n−1中1的个数相等. 注意: (1) 如果k = ...
最新文章
- 缓存和web缓存分别是什么?
- 【面试】Java基础中的那些事-One
- HTML5元素周期表
- DLL+ ActiveX控件+WEB页面调用例子
- Docker系列教程01-Centos7安装新版Docker教程(10步)
- [转]Eclipse插件开发之基础篇(2) 第一个Eclipse插件
- Objective-C 2.0 with Cocoa Foundation--- 6,NSObject的奥秘
- python怎么用pip下载_python怎么用pip安装包
- 这几个Python数据可视化探索实例,拿走不谢
- burp暴力破解 ——合天网安实验室学习笔记
- 2021ACA世界大赛中国赛区完美收官,创意设计收获百万级关注
- nginx 之安全配置
- Qt Creator下载安装以及Qt和Qt Creator的区别
- ajax提交验证非空,5.验证用户名是否已经被注册:AJAXC请求
- android手机邮件客户端,安卓手机邮件客户端ProfiMail Go
- Oracle Docker 镜像(制作)
- 论文投稿指南——中文核心期刊推荐(航空、航天)
- SRAM/SDRAM/DDR/Cache
- org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘emp
- YGG 与 Trial Xtreme 合作,快速进入极限赛车世界
热门文章
- tomcat启动脚本
- 《勒索软件经济分析》:“理想赎金”950英镑
- Monkey学习笔记三:Monkey脚本编写
- Ubuntu 14.04 配置iptables防火墙
- Here we offer the lowest price for SWG Gold
- Android中使用sax解析XML
- 网易云课堂Java模拟面试笔记(31-40)
- makefile中伪目标的理解
- 【社交分享SDK】ShareSDK for Android 2.5.9已经公布
- DDoSCoin:加密货币奖励用户参与 DDoS 攻击