当前位置: 首页 > wzjs >正文

青岛免费模板建站企业网站优化公司

青岛免费模板建站,企业网站优化公司,网站建设 坚持实用原则,手机端网页开发信奥赛CSP-J复赛集训(DP专题)(14):P7158 「dWoi R1」Password of Shady 题目背景 天海兰太郎被杀后,最原看到图书架后面刷卡器里的尘土并没有消散,陷入了沉思 …… 最原在想,黑幕是…

信奥赛CSP-J复赛集训(DP专题)(14):P7158 「dWoi R1」Password of Shady

在这里插入图片描述

题目背景

天海兰太郎被杀后,最原看到图书架后面刷卡器里的尘土并没有消散,陷入了沉思 ……

最原在想,黑幕是如何做到刷卡器的尘土没有消散但是还成功进入了黑幕的房间呢?然后他再次确认了刷卡器,发现了一个密码盘,密码盘下写着一行文字「真正的秘密总是被谎言欺骗,但黑幕不至于欺骗自己」,然后还有一道题,于是最原要用 1min 的时间解出这道题。

题目描述

这道题要求最原构造一个 n n n 位数,并且满足以下两个要求:

  • 「强者从不说废话」,代表着这个数没有前导零, 0 0 0 没有前导零且是一位数。
  • 「强者善于成 k k k 对合作」,代表着这个数的所有数位中有偶数个 k k k 0 0 0 是偶数。

最原很快就让入间制作了一个造数器,但是造数器还需要输入有多少个满足要求的数,于是他就求助于了你,因为做造数器已经用了 59.5s,所以他想让你 0.5s 求出有多少个符合要求的数。

答案对 998 244 353 998\ 244\ 353 998 244 353 取模。

输入格式

本题多测,测试组数为 t t t
对于每组数据,一行两个整数 n , k n,k n,k

输出格式

对于每组数据,一行一个整数代表答案。

输入输出样例 #1

输入 #1

2
2 3
11 4

输出 #1

73
842367440

说明/提示

样例 1 解释

第一组数据,满足要求的数为:

  • 0 0 0 3 3 3 10 ∼ 12 10\sim 12 1012 14 ∼ 22 14 \sim 22 1422 24 ∼ 29 24 \sim 29 2429 40 ∼ 42 40 \sim 42 4042 44 ∼ 52 44 \sim 52 4452 54 ∼ 62 54 \sim 62 5462 64 ∼ 72 64 \sim 72 6472 74 ∼ 82 74 \sim 82 7482 84 ∼ 92 84 \sim 92 8492 94 ∼ 99 94\sim 99 9499
  • 2 2 2 3 3 3 33 33 33

第二组数据的样例解释写了 114514 行,但赛前 0.1s 不小心被黑白熊偷走了,书虫来不及补了。

数据规模与约定

本题采用捆绑测试。

  • Subtask 1(5 pts): n = 1 n=1 n=1
  • Subtask 2(25 pts): n ≤ 6 n \le 6 n6
  • Subtask 3(25 pts): t ≤ 100 t \le 100 t100
  • Subtask 4(45 pts):无特殊限制。

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 1 0 5 1 \le n \le 10^5 1n105 1 ≤ k ≤ 9 1 \le k \le 9 1k9 1 ≤ t ≤ 1 0 6 1 \le t \le 10^6 1t106


AC代码(100分)

#include<bits/stdc++.h>
using namespace std;
/*dp思路 1、同时记录更新两个状态dp1[i] :构造满足要求的i位数 dp2[i] :构造不满足要求的i位数 2、	一个满足要求的 i 位数,可以由一个满足要求的 i-1 位数加上一位除了 k 之外的数位得来或者以由一个不满足要求的 i-1 位数加上一位 k一个不满足要求的 i 位数,可以由一个不满足要求的 i-1位数加上一位除了 k 之外的数得来或者由一个满足要求的 i-1位数加上一位k 3、状态转移方程为:dp1[i] = dp1[i-1]*9 + dp2[i-1]dp2[i] = dp2[i-1]*9 + dp1[i-1]
*/
const int N=1e5+10;
int t,n,k; 
long long dp1[N],dp2[N];//注意开long long 
int main(){//用dp递推出1~10^5的所有答案dp1[1]=8;//1位数比较特殊,初始时不考虑0 dp2[1]=1; for(int i=2;i<=100000;i++){dp1[i] = (dp1[i-1]*9 + dp2[i-1])%998244353;dp2[i] = (dp2[i-1]*9 + dp1[i-1])%998244353;}//输出答案 cin>>t;while(t--){scanf("%d%d",&n,&k);//t范围较大,不用cin if(n==1) printf("9\n"); //特判1位数 else printf("%lld\n",dp1[n]); //t范围较大,不用cout}return 0;
}  

文末彩蛋:

关注并查看老师的个人主页,学习完整csp信奥赛完整系列课程: https://edu.csdn.net/lecturer/7901

在这里插入图片描述

http://www.dtcms.com/wzjs/36596.html

相关文章:

  • 私活做网站百度关键词优化有效果吗
  • 汽车网站页面设计做专业搜索引擎优化
  • wordpress 后台地址小红书笔记关键词排名优化
  • 中国销售网怎么做网站优化
  • 网站前端设计是什么重庆seo建站
  • wordpress右上角登录5年网站seo优化公司
  • 网站开源宁波seo深度优化平台有哪些
  • 想开民宿自己怎么做介绍的网站网站关键词优化网站推广
  • 网络营销是不是网络推广手机优化软件哪个好
  • 软件下载网站排行榜前十名2021全国大学生营销大赛
  • 生道网站建设平台免费发布活动的平台
  • 怎么做漫画网站企业管理培训
  • 大连城乡住房建设厅网站灰色关键词代发可测试
  • 创新的广州做网站百度快照优化排名推广
  • 东莞高端网站建设谷歌app下载 安卓
  • 网站首页设计教程百度统计api
  • 济南手机网站建设公司电脑优化软件哪个好用
  • 做网站多久站长工具亚洲高清
  • 动画制作物语windows优化大师是什么
  • 个人网站想添加支付功能怎么做湖南网站推广公司
  • 做采集网站难不app推广30元一单
  • 微信订阅号 网站开发百度搜索引擎属于什么引擎
  • 网站开发常问的技术性问题网页制作网站制作
  • 互动网站建设公司网络宣传平台有哪些
  • 做头像网站静态亚马逊seo是什么意思
  • 建设工程检测报告查询网站长沙互联网网站建设
  • 做查询快递单号的网站多少钱企业公司网站建设
  • 做建材去什么网站中国网络推广网站排名
  • 免费做网页的网站适合推广的app有哪些
  • 工程公司会计账务处理杭州seo推广优化公司