10532: 花 [dp]
10532: 花
题目描述
但其中混杂了一些普通的花,为了区别它们,某乔研究出春花的一些特征:春花有S种形态,每天都会展现出某种形态。在N天中,如果有且仅有一次:连续3天都是某种形态,那么它就是一朵春花。
例如:假设每天的形态分别为:AABBBC,那么这就是一朵春花。
但例如:AAABCDDDEEF,AABBBBC,YHNDSB就不是春花。
第一个因为A和D各有1次连续三天是同一种形态。
第二个在[3, 6]天中,形态B存在2次连续三天是相同的。
第三个因为辱骂出题人没有出现连续三天是同一形态。
现在,某乔想知道,给出N, S,一共存在多少种春花可能表现的形态?答案可能很大,对10^9+7取模
输入
每组测试数据占一行,两个整数,分别表示L和S。
输出
样例输入
复制样例数据
1 3 7
样例输出
7
提示
一共有7种形态,每种形态能构成1个方案。
对于60%的数据,L≤30,S≤26。
对于80%的数据,L≤10000,S≤26。
对于100%的数据,L≤100000,S≤100000。
思路:
dp[i][j][k] 表示i位置已经有j个连续的字母
k=0/1 表示当前是否已经有3个连续的字母出现
代码:
#include <bits/stdc++.h>using namespace std; const int maxn = 100005; const int mod = 1e9+7; typedef long long ll; ll dp[maxn][5][2]; int main() {int T;scanf("%d",&T);while(T--){ll n,s;scanf("%lld%lld",&n,&s);memset(dp,0,sizeof(dp));dp[1][1][0] = s;for(ll i=2;i<=n;i++){dp[i][1][0] = ((dp[i-1][2][0]%mod+dp[i-1][1][0]%mod)%mod*(s-1))%mod;dp[i][2][0] = dp[i-1][1][0];dp[i][3][1] = dp[i-1][2][0];dp[i][2][1] = dp[i-1][1][1];dp[i][1][1] = ((dp[i-1][1][1]%mod+dp[i-1][2][1]%mod+dp[i-1][3][1]%mod)%mod*(s-1)%mod)%mod;}ll ans = 0;ans = (dp[n][1][1]%mod+dp[n][2][1]%mod+dp[n][3][1]%mod)%mod;printf("%lld\n",ans);}return 0; }
转载于:https://www.cnblogs.com/hao-tian/p/10283669.html
10532: 花 [dp]相关推荐
- LQ0069 李白打酒加强版【DP】
题目来源:蓝桥杯2022初赛 C++ B组I题 题目描述 话说大诗人李白,一生好饮.幸好他从不开车. 一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗.他边走边唱: 无事街上走,提壶去打酒. 逢店加一 ...
- 2019杭电多校第7场 K Kejin Player HDU 6656(数学推导)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656 题目大意:对于每一个等级,可以花ai元,有pi概率升级,如果升级失败就退到xi级,问从li级升到 ...
- NYOJ 1023 还是回文(DP,花最少费用形成回文串)
1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费. 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个 ...
- D19-Acwing-实现DP第三节相关代码课程完结撒花~
刚刚写了一个小时的日记,自己真的很幸运了,要知道珍惜呀!!!不要给自己太大压力,享受过程!!!加油!! 今天计划先实现昨天看的dp第三节,虽然有点难,但应该问题不大:然后,复习之前的代码,下午看贪心啦 ...
- 【算法】动态规划+“背包九讲”原理超详细讲解+常见dp问题(9种)总结
目录 一.动态规划(DP) 二.背包九讲 (1)完全背包 P1616 疯狂的采药(完全背包) (2)01背包 滚动数组 一维数组 P1048 采药(01背包) 01背包表格图示 (3)多重背包 整数拆 ...
- c语言dp状态转移方程,[总结-动态规划]经典DP状态设定和转移方程
马上区域赛,发现DP太弱,赶紧复习补上. #普通DP CodeForces-546D Soldier and Number Game 筛法+动态规划 待补 UVALive-8078 Bracket S ...
- 宋体节点hdoj 1520 Anniversary party(树形dp)
每日一贴,今天的内容关键字为宋体节点 标题链接 按照级等我们可以建一颗树,如图 我们可以把一个节点当作一个人,每一个节点都有一个权重.按照标题意思,如果我们取了某个节点,那么他的父节点和子节点都是不能 ...
- “ px”,“ dip”,“ dp”和“ sp”有什么区别?
Android度量单位有什么区别? 像素 蘸 dp SP #1楼 我将详细说明dp如何精确转换为px: 如果在mdpi设备上运行,则150 x 150 px图像将占用150 * 150 dp的屏幕空间 ...
- NOI2007 货币兑换 - CDQ分治斜率优化dp
斜率优化dp维护一个凸壳.如果\(x, y\)坐标都递增,可以用单调队列,如果只有\(x\)递增,可以在凸壳上二分斜率,如果\(x, y\)都不递增,则需要在凸包中插入,可以用平衡树或cdq分治维护. ...
最新文章
- Earth to developers: Grow up!
- 三菱gs触摸屏进入设定菜单_三菱触摸屏常用功能设置 以及界面调整
- Android 实现图片的单点缩放、拖动、旋转
- 错误:Parameter ‘0‘ not found.Available parameters are [arg1, arg0, param1, param2]的解决方法
- Tungsten Fabric SDN — VNC API — API Client 的 Python SDK
- 案例实操:Azkaban调度spark作业
- Oracle触发器简单使用记录
- WPF不同线程之间的控件的访问
- Asp.net禁用site.Mobile.Master
- rooibos茶中单宁酸研究
- GMTC 大前端时代前端监控的最佳实践 1
- 第8章 静态路由配置
- 矢量绘图工具:Sketch 78 for mac
- BZOJ4435 : [Cerc2015]Juice Junctions
- kno DNS 03 Tips - DNS Cookies
- 怎样裁切图片?如何将图片剪裁成需要的大小?
- 注册表怎么禁用计算机,注册表的禁用方法与解锁方法
- 腾讯微博qq说说备份导出工具_软件推荐Day51 其他工具类 腾讯微博备份
- 黑苹果开机界面的启动项设置
- 万全服务器t350装系统_联想万全350安装win2003