每日一题 hiho1318 非法二进制数
描述
如果一个二进制数包含连续的两个1,我们就称这个二进制数是非法的。
小Hi想知道在所有 n 位二进制数(一共有2n个)中,非法二进制数有多少个。
例如对于 n = 3,有 011, 110, 111 三个非法二进制数。
由于结果可能很大,你只需要输出模109+7的余数。
输入
一个整数 n (1 ≤ n ≤ 100)。
输出
n 位非法二进制数的数目模109+7的余数。
样例输入
3
样例输出
3
思路:
刚开始想的是以dp[i][x] 表示i位二进制以x为结尾非法数的个数的,手推了n为4的情况发现不符合。然后就想到dp[i][x]表示以x结尾合法数的个数 然后总的数减去合法的个数就为非法的了
#include <cstdio>
#include <cstring>
#include <iostream>using namespace std;const int mod = 1e9+7;long long dp[105][2];long long cnt[105];int main()
{dp[1][0] = 1;dp[1][1] = 1;for (int i = 2; i <= 100; ++i) {dp[i][0] = dp[i-1][0]%mod + dp[i-1][1]%mod;dp[i][1] = dp[i-1][0]%mod;}int n;cin >> n;cnt[1] = 2;for (int i = 2; i <= n; ++i) {cnt[i] = cnt[i-1]*2 % mod;}long long res = (dp[n][0] + dp[n][1])%mod;if (cnt[n] < res)cnt[n] += mod;cout << cnt[n] - res << endl;return 0;
}
每日一题 hiho1318 非法二进制数相关推荐
- Java实习生常规技术面试题每日十题Java基础(八)
目录 1.解释内存中的栈(stack).堆(heap)和静态区(static area)的用法. 2.怎样将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 3.运行时异常与受检异常有 ...
- AcWing寒假每日一题2058. 笨拙的手指
AcWing寒假每日一题2058. 笨拙的手指 题目描述 奶牛贝茜正在学习如何在不同进制之间转换数字. 但是她总是犯错误,因为她无法轻易的用两个前蹄握住笔. 每当贝茜将数字转换为一个新的进制并写下结果 ...
- Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day36】—— 实战那些事儿1
大家好,我是陈哈哈,北漂五年.相信大家和我一样,都有一个大厂梦,作为一名资深Java选手,深知面试重要性,接下来我准备用100天时间,基于Java岗面试中的高频面试题,以每日3题的形式,带你过一遍 ...
- 2022AcWing寒假算法每日一题之2058. 笨拙的手指
2022AcWing寒假算法每日一题之2058. 笨拙的手指 题目链接:AcWing2058. 笨拙的手指 思路: 1.数据范围为0-1e9,则输入的时候按照字符串输入 2.将二进制和三进制各位数上的 ...
- 2022-03-03每日刷题打卡
2022-03-03每日刷题打卡 力扣--每日一题 258. 各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数.返回这个结果. 示例 1: 输入: num = 38 输出 ...
- Leetcode每日一题总目录(动态更新。。。)
0. 概要 leecode每日一题(也可能多题)题解跟踪记录及总目录. 常用算法解题思路和技巧及数据结构: 预处理:数组排序(954),哈希表... 双指针法 682,125,905 单向链表 2 双 ...
- 【寒假每日一题】AcWing 4700. 何以包邮?
目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.知识风暴 0-1背包问题 一.题目 1.原题链接 4700. 何以包邮? - AcWing题库 ...
- ACWING蓝桥杯每日一题python
ACWing蓝桥杯每日一题 一直没时间去总结算法,终于有空可以总结一下刷的acwing了,因为没时间所以最近只刷了ACWING的蓝桥杯每日一题...真是该死 1.截断数组 首先我们要知道,如果sum( ...
- 对数函数定义域和值域_呆哥数学每日一题 —— 复合函数值域
如果想要获取往期每日一题电子版,可以加我微信:daigemath366,备注:知乎 每日一题 呆哥解析:这是一个函数和复合函数的综合问题 首先我们先把原函数的值域求出来 先直接求导: 导数不容易判断单 ...
最新文章
- php 白名单,php实现ip白名单黑名单功能
- 基于Metronic的Bootstrap开发框架经验总结(11)--页面菜单的几种呈现方式
- 一分钟了解阿里云产品:安骑士
- pytest执行报错AttributeError: module ‘allure‘ has no attribute ‘severity_level‘
- vue函数@click.prevent使用纪要
- 金蝶系统服务器名称填什么,金蝶怎样输入服务器地址
- uniapp实现拨打电话跳转手机拨号盘
- 枚举---知识总结----------gyy加以整理以及改为C++方法
- 非常精妙的主副电源自动切换电路,并且“零”压降
- 【Android 使用tinyalsa测试音频】
- python拼多多领现金_拼多多领现金100元攻略 100元快速提现技巧
- MPCS-314 3A 光电耦合器 用于IGBT/MOSFET隔离栅极驱动 完美代替TLP5701
- 一点也不流氓的搜狗输入法皮肤
- 通过npm引入的echart目录_uniapp npm引用echarts第三方库教程
- 空间直角坐标系右手系和左手系的判定方法及绕轴旋转的正方向
- C++读取OBJ文件中的数据(VS2013)
- HTC G3 Hero与iPhone的使用手记
- MySQL数据库与pom.xml中的connector依赖版本不匹配
- 最好用的五大开源入侵检测工具
- 组合(Composite)模式