首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
柳折谣
安徽大学 电子信息类
发布于安徽
关注
已关注
取消关注
@柳折谣:
9.6腾讯音乐笔试第二题可爱串 2(3)维dp
思路:先统计所有的含red子串的可能(可连续可不连续),然后统计含连续red的可能,前者减去后者。前者设计4个状态,对应ABCD,分别是:A没出现r,B前面仅出现r,C,前面以此出现re。D依次出现redA【i】【j】的含义:i取012代表分别red结尾,j代表序列长度-1,A表示这样的取值所处状态,注意有一些矩阵由于违反规定一直是0,可以不更新。ABCD中有若干转移方程,注意特殊情况,可以从上级转移到下级,否则,只能同级转换。代码未取模。#include <bits/stdc++.h>#include <algorithm>using namespace std;class Solution{public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ int kawaiiStrings(int n) { long long A[3][n];//前面无r long long B[3][n];//出现r long long C[3][n];//出现re long long D[3][n];//出现red memset(A, 0, sizeof(A)); memset(B, 0, sizeof(B)); memset(C, 0, sizeof(C)); memset(D, 0, sizeof(D)); //cout << "OK"; A[0][0]=0; A[1][0]=1; //e A[2][0]=1; //d B[0][0]=1; //r B[2][1]=1; //rd C[1][1]=1; //re D[2][2]=1; //red //C[2][2]=1; //cout << "OK"; for (int i=1;i<n;i++){ //A[0][i]=0; A[1][i]=A[1][i-1]+A[2][i-1]; A[2][i]=A[2][i-1]+A[1][i-1]; B[0][i]=B[2][i-1]+B[0][i-1]+A[1][i-1]+A[2][i-1]; //B[1][i]=0; B[2][i]=B[2][i-1]+B[0][i-1]; C[0][i]=C[0][i-1]+C[1][i-1]; C[1][i]=C[1][i-1]+C[0][i-1]+B[0][i-1]+B[2][i-1]; //C[2][i]=0; D[0][i]=D[0][i-1]+D[1][i-1]+D[2][i-1]; D[1][i]=D[1][i-1]+D[0][i-1]+D[2][i-1]; D[2][i]=D[2][i-1]+C[1][i-1]+D[0][i-1]+D[1][i-1]+C[0][i-1]; } long long ans = 0; for (int i = 0; i < 3; ++i) ans = (ans + D[i][n-1]) ; //没有连续red long long no_red[n+1]; memset(no_red, 0, sizeof(no_red)); no_red[0]=1; no_red[1]=3; no_red[2]=9; for (int i=3;i<=n;i++) //没有连续red no_red[i] = (no_red[i - 1] * 3 - no_red[i - 3]); //有连续red //print(pow(3,n)-no_red[n]) return ans-((pow(3,n)-no_red[n])); }};int main(){ Solution S; int n; cin>>n; cout << S.kawaiiStrings(n); return 0;}
点赞 1
评论 1
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
牛客881568029号
05-13 09:49
电子科技大学 电子信息类
5.10海思数字IC设计实习面试
一、技术面 先问问简历上面的项目,遇到的最难的地方在哪,怎么解决的 然后问一些比较基础的问题,数字IC的设计流程,验证流程?一个项目的完整过程应该包括哪些?知道一些常见的数字电路嘛?画出8×8的乘法器的电路图?跨时钟域的方法 给了一个手撕代码的题,要求要么写出代码,要么画出电路图。题目:在500Mh的时钟下对一个脉冲信号计数,计数最大的值为8'b1111_1111,另外在100Mhz的时钟下面有一个rd_en信号,要求在rd_en信号有效的时候能读出计数值 将rd_en信号同步到500Mhz时钟下,边缘采样,然后读书计数值并给出指示信号(工程中一定要加入这个指示信号)二...
投递海思半导体等公司7个岗位 >
设计人的面试记录
点赞
评论
收藏
转发
御羽与鱼
05-13 09:42
门头沟学院 计算机类
盲审意见求助
论文盲审出来了,引文的规范性,学风的严谨性; 论文结构的逻辑性; 文字表述的准确性、流畅性给了很低的分,大佬们求助,这个怎么修改呢?导师说因为文章要修改原因重新提交盲审[流泪],应该在六七月可能答辩,这样会对工作有影响吗?
点赞
评论
收藏
转发
LeBateauIvre
04-20 09:45
西南财经大学 经济学类
这份简历能找到暑期实习?
目前形势不太乐观
点赞
评论
收藏
转发
GottenZZP
03-31 21:52
江西师范大学 计算机类
g了,Java找不到工作了,求锐评简历
二本本科,双非一本硕,投了将近一个月的简历了,也算投了三百多份了,但总共就十来个要简历的,而且这十来个要简历的也没有一个有后续面试的,看完就不回消息了。麻了,找不到工作了,求狠狠的锐评简历😭
点赞
评论
收藏
转发
不愿再收感谢信的大魔王很神奇
05-13 19:42
厦门大学 计算机类
offer选择
携程听说部门不太好,毁offer是直接和hr说就行吗,有什么严重后果吗?要不要等蚂蚁还是直接接了?求大佬解答引流腾讯 美团 阿里 拼多多 华为 字节
投递蚂蚁集团等公司10个岗位 >
软件开发薪资爆料
通信硬件薪资爆料
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
全站热榜
1
...
5.16校招&实习招聘信息汇总
8585
2
...
实习难求——做个总结
8356
3
...
送花给牛友,不做“白嫖党”!牛客互动新功能上线啦!
7334
4
...
聪明人看的Java后端入门路线(应该比大多数高手给的靠谱)
6313
5
...
盲审已过,答辩已过,工作已签
5440
6
...
给25届同学: 永远相信美好的事情即将发生
4775
7
...
腾讯一面凉经 5.16
3912
8
...
二本漫漫求职路......
3507
9
...
26届菜鸡投了一个月大厂日常,0面试绷不住了呀。听说9月后机会可能会多起来,感觉要被迫继续沉淀了之前和导师聊,说找到大厂实习的话可以去,对就业帮助大,小厂的话就emmm投了快一个月,老板上打招呼绝大数
3081
10
...
pcg qq 一面
2842
正在热议
#
牛客帮帮团来啦!有问必答
#
759268次浏览
12042人参与
#
海康威视求职进展汇总
#
95716次浏览
1155人参与
#
你的工作大概什么时候入职?
#
3364次浏览
45人参与
#
Offer比较,你最看重什么?
#
51775次浏览
499人参与
#
非技术2024笔面经
#
181579次浏览
3052人参与
#
非技术岗是怎么找实习的
#
76252次浏览
1422人参与
#
实习生应该准时下班吗
#
78833次浏览
582人参与
#
产品实习,你更倾向大公司or小公司
#
37855次浏览
582人参与
#
学历对求职的影响
#
136407次浏览
1551人参与
#
签约/解约注意事项
#
67271次浏览
647人参与
#
今年形式下双非本找得到工作吗
#
7763次浏览
161人参与
#
面试等了一周没回复,还有戏吗
#
41442次浏览
510人参与
#
春招已经启动啦 硬件uu开始投了吗?
#
86566次浏览
678人参与
#
找工作中的意难平
#
191731次浏览
3406人参与
#
百度工作体验
#
24104次浏览
248人参与
#
考研失败就一定是坏事吗?
#
20745次浏览
216人参与
#
2022届毕业生现状
#
321723次浏览
4448人参与
#
华为求职进展汇总
#
524277次浏览
5002人参与
#
正在春招的你,也参与了去年秋招吗?
#
134749次浏览
1698人参与
#
0offer是寒冬太冷还是我太菜
#
418823次浏览
4848人参与
牛客网
牛客企业服务