2657 二进制数字
题目大意:长度为nnn的010101串,问总共有多少串满足不含三个连续的000或111,n<=1e5n<=1e5n<=1e5,输出答案取余1e9+71e9+71e9+7

方法一:找规律,可以发现a[i]=a[i−1]+a[i−2]a[i]=a[i-1]+a[i-2]a[i]=a[i−1]+a[i−2]
方法二:由于每个位置的01状态只由前面两个位置的01状态推导,方案数也是由前两个位置的01状态转移,所以可以用DP解决

ll dp[100010][2][2];
/*
dp[i][0][0]//前面一个是0的方案数
dp[i][0][1]//前面两个都是0的方案数
dp[i][1][0]//前面一个是1的方案数
dp[i][1][1]//前面两个都是1的方案数
*/
int main()
{IOS;int n;cin >> n;dp[1][0][0] = 1;dp[1][1][0] = 1;for (int i = 2; i <= n; i++){if (dp[i - 1][0][1]){dp[i][1][0] += dp[i - 1][0][1];}if (dp[i - 1][0][0]){dp[i][1][0] += dp[i - 1][0][0];dp[i][0][1] += dp[i - 1][0][0];}if (dp[i - 1][1][1]){dp[i][0][0] += dp[i - 1][1][1];}if (dp[i - 1][1][0]){dp[i][1][1] += dp[i - 1][1][0];dp[i][0][0] += dp[i - 1][1][0];}dp[i][0][0] %= mod;dp[i][0][1] %= mod;dp[i][1][0] %= mod;dp[i][1][1] %= mod;}cout << (dp[n][0][0] + dp[n][0][1] + dp[n][1][0] + dp[n][1][1]) % mod << endl;return 0;
}

还不够哦

51nod2657二进制数字相关推荐

  1. C++二进制数字相加用字符串返回的算法实现(附完整源码)

    C++二进制数字相加用字符串返回的算法实现 C++w二进制数字相加用字符串返回的算法实现完整源码(定义,实现,main函数测试) C++w二进制数字相加用字符串返回的算法实现完整源码(定义,实现,ma ...

  2. 二进制数字的表示方法

    本文转载自 做而论道http://blog.163.com/asm_c/blog/static/248203113201672101448968 二进制数字,写在纸上,一般都写成 0 和 1. 这也不 ...

  3. 第 218 场周赛阿里巴巴专场(只做出了前三道)设计 Goal 解析器+K 和数对的最大数目+连接连续二进制数字

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/goal-parser-interpretation 声明:如果我侵犯了任何人的权利,请联系我,我 ...

  4. 10位以内二进制数字转十进制计算器(Printing the Decimal Equivalent of a Binary Number)

    挺有成就感的一个小程序,二进制转十进制. 代码如下: //JHTP Exercise 4.31: Printing the Decimal Equivalent of a Binary Number ...

  5. 用二进制数字串生成二维码图片

    用二进制数字串生成二维码图片 前言 代码 细节 前言 最近一个CTF比赛时,遇到一个题目给出了一段全是01的数字串,且数字的长度为一个整数的平方(如25^2=625)时,有可能是以0.1表示黑或者白的 ...

  6. L3-第五章-动态规划-2657 二进制数字

    2657 二进制数字 2021.4.3 有多少个长度为n的二进制串,即不存在3个连续的1,也不存在3个连续的0. 例如n = 4,共有16个长度为4的01串,其中0000 0001 1000 1111 ...

  7. ipv4的地址位数_Ipv4地址的位数为多少位二进制数字

    优质回答 回答者:farly IPV4地址为32位二进制数! IPv4是 Internet Protocol version 4 的缩写,表示IP协议的第四个版本.现在互联网上绝大多数的通信流量都是以 ...

  8. 【笔记整理】通信原理第六章复习——数字带通传输系统(上)(二进制数字调制)

    数字的带通传输系统 数字信号的传输方式分为基带传输和带通传输.实际中的大多数信道因具有带通特性而不能直接传送基带信号,这是因为数字基带信号往往具有丰富的低频分量.为了使数字信号在带通信道中传输,必须用 ...

  9. 汇编二进制转换ascii_将二进制数字转换为ASCII数字| 8085微处理器

    汇编二进制转换ascii Problem statement: 问题陈述: Write an assembly level program in 8085 which converts a binar ...

最新文章

  1. 2019年1月份访问量超过1千的文章
  2. SmartFoxServer 2X 笔记一:login request (转)
  3. 在C#里怎样获得当前Windows操作系统的语言种类?以及如何知道当前Windows版本?...
  4. git的一些常用操作
  5. currentThread()方法的作用
  6. 微信小程序canvas动态时钟
  7. 查看linux的用户
  8. java并发访问_Java并发访问
  9. win7右键菜单不见解决办法
  10. 电商指标之用户留存率
  11. matlab表示双曲函数,MATLAB2009_1_5三角函数和双曲函数
  12. matlab 密文搜索 实验,基于B^+树的多关键字密文排序检索方法.pdf
  13. css强制一行显示超出的部分显示点点点
  14. 数仓工具—Hive实战之占比同比环比(10)
  15. 计算机基础知识教程excel单元格拆分,电脑内怎么将excel表格中某个单元格的内容拆分至不同单元格里...
  16. dwf怎么合成一个_油菜素内酯合成基因DWF1、DET2影响毛白杨木质部形成
  17. 实验十二 HTTP 协议分析实验
  18. 基于HyperLPR的车牌识别
  19. 保护计算机组件免受esd,USB3.0接口的ESD防护设计
  20. 基于ESP8266与Blinker(点灯科技平台)的智能遥控器设计

热门文章

  1. 28个数据可视化图表的总结和介绍
  2. 数据分析学习:数据分析学习步骤有哪些
  3. 计算机信息学院活动简报,青海师范大学计算机学院“善行一百”活动简报
  4. 华三服务器hdm时间怎么修改,华三服务器HDM命令设置
  5. Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)
  6. [精简]托福核心词汇53
  7. DFS与BFS的区别、用法、详解?
  8. MySQL 学习笔记(四)——查询练习
  9. linux下eclipse修改tab,eclipse 更改 tab 缩进字符数
  10. 1、会计的概念、职能和目标