首页 > 其他分享 >红薯4-23 笔试第三题

红薯4-23 笔试第三题

时间:2023-04-23 21:46:01浏览次数:33  
标签:子串 红薯 const 23 int res LL 笔试 mod

一、题意,找出长度为n的所有只包含r,g,b三个字符的所有字符串的任意长度子串包含的rgb子序列的个数。
题解:枚举子串左右边界,别的地方随便填,找出本子串里随便填的时候,rgb子序列的个数。

#include <bits/stdc++.h>

using namespace std;

const int mod = 1e9 + 7;

const int N = 1005;

int f[N][N][3];

typedef long long LL;

LL qpow(LL x, LL y){
    LL res=1;
    while(y){
        if(y&1)res*=x;
        res%=mod;
        x=x*x%mod;
        y>>=1;
    }

    return res;
}

int main(){
  int n; cin >> n;
  
  if(n<=2){
    cout<<0<<endl;
  }else if(n==3){
    cout<<1<<endl;
  }else{

    for(int i=1;i<=n;++i){
      for(int j=i;j<=n;++j){
       
        f[i][j][0]=(3ll*f[i][j-1][0]+qpow(3,j-i))%mod;
        f[i][j][1]=(3ll*f[i][j-1][1]+f[i][j-1][0])%mod;
        f[i][j][2]=(3ll*f[i][j-1][2]+f[i][j-1][1])%mod;
      }
    }
    
    LL ans=0;
    for(int i=1;i<=n;++i){
      for(int j=i;j<=n;++j){
        ans+=f[i][j][2]*qpow(3,n-(j-i+1));
        ans%=mod;
      }
    }
    
    cout<<ans<<endl;
  }
  
  return 0;
}

标签:子串,红薯,const,23,int,res,LL,笔试,mod
From: https://www.cnblogs.com/JohnRan/p/17347838.html

相关文章

  • codeforces 234C C. Weather(枚举+前缀后缀预处理)
    题目链接:codeforces234C题目大意:给出一个序列,问最少修改多少个元素,能保证前半截全是负数,后半截全是正数。题目分析:预处理出前缀中大于等于0的数的个数和后缀中小于等于0的数的个数。枚举每一个位置,判断以当前位置为分界点时需要修改的元素的个数。AC代码:#include<iostream>#inc......
  • SpringMVC-ssm案例-2023-04-23-2
    Controller其他功能packagecom.feijian.controller;importcom.feijian.pojo.Books;importcom.feijian.service.BookService;importorg.apache.ibatis.annotations.Param;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.b......
  • RTM团队2023年4月23日需求内部评审会议
    整体过程:会议于4月23日晚上八点开始在宿舍612举行,RTM队总计三人以及邀请的进击的菜鸟队三人全部参会:会议内容:1.我们邀请了除本队之外的队伍来进行评价,讨论,寻找需要改进的问题2.我们分析了任务完成的情况,认为并没有花费太多时间准备验收工作,研发工作有实实在在进行,3.向听众介......
  • 2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或
    2022-04-23:给定你一个整数数组nums我们要将nums数组中的每个元素移动到A集合或者B集合中使得A集合和B集合不为空,并且average(A)==average(B)如果可以完成则返回true,否则返回false。注意:对于数组arr,average(arr)是arr的所有元素的和除以arr长度。输入......
  • 2023年天梯赛补题(待补充)
    2023年天梯赛摆烂局,又卡dfs的图存储上,还是补题太少了,这么好的骗分比赛,一分都没骗着。好好训练,争取西安站学校能出线。恶补一下树和数学。多存点板子。L2-4寻宝图253516/35325(9.95%)题目给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这......
  • SpringMVC-ssm案例-2023-04-23
    一、准备工作1.1、搭建普通maven项目,framework的web项目1.2、加载maven依赖:junit-mysql-connector-C3P01                   servlet-jsp/JSTL                 MyBatis  MyBatis-spring  ......
  • 2023PTAL1-8 谁管谁叫爹
    《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。不妨设游戏中的两个人为A和B。游戏开始后,两人同时报出两个整数 NA​ 和 NB​。判断谁是爹的标准如下:将两个整数的各位数字分别相加,得到两个和 SA​......
  • 2023/4/23
    L1-002打印沙漏分数 20全屏浏览题目作者 陈越单位 浙江大学本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***************** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两......
  • 4.23
    include<iostream>usingnamespacestd;#include"time_user.h"classstudent{public:   voiddisplay();public:   intnum;   stringname;   charsex; };voidstudent::display(){   cout<<"num:"<<num&......
  • 编程一小时2023.4.23
    1.#include<bits/stdc++.h>usingnamespacestd;stringa,s;intb[1005],t,c[1005];voiddivision(){for(inti=t-1;i>=0;i--){if(b[i]%2)b[i-1]+=10;b[i]/=2;}while(b[t-1]==0)t-......