ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

1002 舔狗舔到最后一无所有 递推

2022-07-04 20:34:34  阅读:182  来源: 互联网

标签:天是 int 递推 一无所有 Trote 外卖 forever97 1002 dp


链接:https://ac.nowcoder.com/acm/contest/24213/1002
来源:牛客网

题目描述

作为队伍的核心,forever97很受另外两个队友的尊敬。
Trote_w每天都要请forever97吃外卖,但很不幸的是宇宙中心forever97所在的学校周围只有3家forever97爱吃的外卖。
如果Trote_w给forever97买了别家的外卖,forever97就会大喊“我不吃我不吃”。
但是forever97又不喜欢连续三天吃一种外卖。
如果Trote_w哪天忘了这件事并且三天给他买了同一家外卖,那么forever97就会把Trote_w的头摁进手机屏幕里。
作为Trote_w的好朋友,你能告诉他连续请forever97吃n天饭,有多少不同的购买方法吗?

输入描述:

多组样例
第一行一个整数T(1<=T<=20)代表测试样例数
接下来t行每行一个整数n,代表Trote_w要请forever97吃n天饭(1<=n<=100000)

输出描述:

输出T个整数代表方案数,由于答案太大,你只需要输出mod 1e9+7 后的答案即可。
示例1

输入

复制
2
3
500

输出的

复制
24
544984352

分析

一开始,尽力想了,但是发现不会递推

然后看了题解,才秒懂。。。只能说太抽象了,

但又感觉很实际,就是一定得找到最后的要求是什么,需要什么。

第 i 天有多少种方案。

令dp[i] 为第i天有多少种不同方案。

跟第i - 1 天有关,如果第i  天是 1 ,如果第i-1天是0,或者2肯定可以满足条件

如果第i-1天是1,由不能连续三天是同一个数字,所以i - 2天一定得是0或者2.

得到状态转移方程:

dp[i - 1] 为 第i-1天有多少种不同方案,那第i天选择1 或者 2 或者 3 就有不同情况了

然后构成状态转移方程式,参考分类计数原理和分步计数原理。

dp[i] = dp[i-1] * 2 + dp[i-2] * 2;

 

 



//-------------------------代码----------------------------

#define int LL
const int N = 1e6+10;
int n,m;
int p[N];
int inf = 1e9+7;
void solve()
{
     cin>>n;
//     V<V<int>>mp(n+1,V<int>(m+1));
     cout<<p[n]<<endl;
}

void pre() {
    
    p[1] = 3;
    p[2] = 9;
    fo(i,3,100000) {
        p[i] = 2 * (p[i-1] + p[i-2] + inf) % inf;
    }
}

signed main(){
    clapping();TLE;
    pre();
    int t;cin>>t;while(t -- )
    solve();
//    {solve(); }
    return 0;
}

/*样例区


*/

//------------------------------------------------------------

标签:天是,int,递推,一无所有,Trote,外卖,forever97,1002,dp
来源: https://www.cnblogs.com/er007/p/16444301.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有