题意:

Rooted Dead Bush (RDB) of level 1是只有一个点,如下图

当(RDB) of level i变成(RDB) of level i+1的时候,每一个顶点要进行下面的变化:

1、如果一个节点只有一个子节点,那么就再给这个节点添加两个子节点

2、如果一个节点没有子节点,那么就给这个节点添加一个子节点

3、如果一个节点有三个子节点,那么就不用管它

你需要从(RDB) of level i中找到有多少爪,爪的结构如下

最后因为我们求的是要给多少爪的节点染色,因为一个爪有四个节点,所以最后答案就是爪的个数乘于4(注意,爪与爪之间不能有重叠节点)

对于(RDB) of level 3只有一个爪就是(1,3,2,4);对于(RDB) of level 4种有两个爪(1,3,2,4)和(2,7,5,6)但是两个爪有重叠部分,所以只能算作一个

题解:

衍生的过程是具有重复性的,最终变化的是根结点 1 下的三棵子树,左右两棵子树为 leveln-2,中间的子树为 leveln-1 。

因为 level1 和 level2 的根结点并未使用,所以可以在 level3 中选择以根结点 1 为中心的爪形结构。

同理,level4、level5 可以通过选取较下层的爪形结构来避免根结点的使用,所以在 level6 中又可以选取以根结点 1 为中心的爪形结构。

即,level为 3 的倍数的图形都可以再额外选取位于根结点的爪形结构。

dp[i]=2*dp[i-2]+dp[i-1]+(i%3==0)*4

代码:

 1 #include<iostream>
2 using namespace std;
3 #define ll long long
4 const int maxn =( 2 * 1e6)+10;
5 const int mod = 1e9 + 7;
6 ll dp[maxn], i, t, n;
7
8 void solve()
9 {
10 dp[0] = 0;
11 dp[1] = 0;
12 dp[2] = 0;
13 for (int i = 3; i <maxn; i++)
14 {
15 dp[i] = (dp[i - 1] + 2 * dp[i - 2])%mod;
16 if (i % 3 == 0)
17 {
18 dp[i] += 4;
19 dp[i] %= mod;
20 }
21 }
22 }
23 int main()
24 {
25 solve();
26 int t;
27 cin >> t;
28 while (t--)
29 {
30 int n;
31 cin >> n;
32 cout << dp[n] << endl;
33 }
34 }

Codeforces Round #652 (Div. 2)D. TediousLee 推导的更多相关文章

  1. Codeforces Round #652 (Div. 2) D. TediousLee(dp)

    题目链接:https://codeforces.com/contest/1369/problem/D 题意 最初有一个结点,衍生规则如下: 如果结点 $u$ 没有子结点,添加 $1$ 个子结点 如果结 ...

  2. Codeforces Round #652 (Div. 2) E. DeadLee(贪心)

    题目链接:https://codeforces.com/contest/1369/problem/E 题意 Lee 有 $n$ 种不同种类的食物和 $m$ 个朋友,每种食物有 $w_i$ 个,每个朋友 ...

  3. Codeforces Round #652 (Div. 2) C. RationalLee(贪心)

    题目链接:https://codeforces.com/contest/1369/problem/C 题意 将 $n$ 个数分给 $k$ 个人,每个人分 $w_i$ 个数($\sum_{i = 1}^ ...

  4. Codeforces Round #652 (Div. 2) B. AccurateLee(字符串)

    题目链接:https://codeforces.com/contest/1369/problem/B 题意 给出一个长 $n$ 的 二进制串,每次可以选择字符串中的一个 $10$,然后删除其中的一个字 ...

  5. Codeforces Round #652 (Div. 2) A. FashionabLee(几何)

    题目链接:https://codeforces.com/contest/1369/problem/A 题意 判断正 $n$ 边形能否通过旋转使得一边与 $x$ 轴平行,一边与 $y$ 轴平行. 题解 ...

  6. Codeforces Round #652 (Div. 2) 总结

    A:问正n边形的一条边和x轴平行的时候有没有一条边和y轴重合,直接判断n是否是4的倍数 #include <iostream> #include <cstdio> #inclu ...

  7. Codeforces Round #652 (Div. 2) B. AccurateLee(思维)

    题意: 给你一个01字符串,现在你可以删除其中的一些子序列,要求如下:当遇到1 0的俩个连续子字符串后,可以删除其中的一个字符,现在要求把他删到尽量最短并且字典序最小,输出最后的字符串 题解: 刚开始 ...

  8. Codeforces Round #652 (Div. 2) C. RationalLee 贪心

    题意: t组输入,你有n个数,还有k个朋友,每一个朋友需要wi个数.意思就是你要给第i个朋友分配wi个数,输入保证w1+w2+...+wk=n 一个朋友的兴奋值是你分配给他的数中最大值加上最小值的和( ...

  9. Codeforces Round #652 (Div. 2) E. DeadLee 贪心

    题意: 派会上有n种食物,每种食物有wi份.有m个朋友,每一个朋友有两种他喜欢吃的食物xi,yi.你需要判断他的朋友是否都能吃到食物.如果都能吃到食物,那么要输出朋友来的顺序,不能的话输出" ...

随机推荐

  1. 【Git】3、创建Git版本库、配置Git仓库用户邮箱信息

    初识Git 文章目录 初识Git 1.创建Git版本库 认识.git 2.基础配置 2.1.查看配置信息 2.2.配置昵称邮箱信息 2.3.修改配置信息 1.通过命令行 2.通过修改配置文件. 修改全 ...

  2. python无法连接mysql,有个小坑,需要注意一下!

    尝试用python链接mysql数据库,按照教程里链接了小半夜,就是没有链接上,找了各种文章,最后发现是版本的问题,我想使用的模块是MySQLdb,刚刚去他们的官网看了一下,最近一次更新是2014年, ...

  3. 鸿蒙的远程交互组件应用及微信小程序的远程交互组件应用

    注:鸿蒙的远程交互组件应用相对复杂 ,访问网络时,首先要配置网络权限,华为官方文档有问题,在此引用我老师配置的模板,见附件 过程:1.导入鸿蒙的网络请求模块fetch 2.发起对服务器的请求(在这过程 ...

  4. 创建Django REST framework工程

    1.创建工程虚拟环境 2.创建工程目录和调整目录结构: 创建Django的项目 创建docs 用于存放一些说明文档资料 创建scripts 用于存放管理脚本文件 创建logs 用于存在日志 在与项目同 ...

  5. RocketMQ在linx安装及其有关问题解决

    Linx安装和使用: rocketmq官网:http://rocketmq.apache.org/ 首先安装JDK(推荐使用JDK1.8),并配置环境变量 下载rocketmq压碎包并解压到指定目录 ...

  6. Ubuntu20.04安装Typora

    Ubuntu20.04安装Typora 安装方法 # optional, but recommended sudo apt-key adv --keyserver keyserver.ubuntu.c ...

  7. 02_Python基础

    2.1 第一条编程语句 print("Hello, Python!") print("To be, or not to be, it's a question." ...

  8. CentOS 7.4通过rpm包离线安装 Mysql8.0并部署主从复制(附从库备份脚本)

    一. 部署MySQL (两个节点都做) 下载 rpm包 wget https://goodrain-pkg.oss-cn-shanghai.aliyuncs.com/mysql8.rpm tar xv ...

  9. Vue基础之用插值表达式在视图区显示数据

    Vue基础之用插值表达式在视图区显示数据 第一步:当然就是你要引入Vue.js这个脚本文件啦! <script src="https://cdn.jsdelivr.net/npm/vu ...

  10. 我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法

    我教你如何解决 Docker 下载 mcr.microsoft.com 镜像慢的办法 一.介绍 最近,我在写有关使用 Jenkins 搭建企业级持续集成环境的文章,准备了四台服务器,企业级别嘛,一台就 ...