题意

求⻓度为 nnn 的所有表达式值的和。表达式由数字和′+′'+'′+′,′−′'-'′−′组成,表达式的第⼀位必须是数字,数字可以有前导 0 。

n≤5×105n\le 5\times 10^5n≤5×105

题解

因为符号加减可以相互抵消,所以,得到一个表达式后,只需要计算第一个符号之前的数值的和。

对于长度为nnn的表达式,我们只需要枚举第一个运算符的位置,统计答案即可。

设g[i]g[i]g[i]表示长度为iii的数字的和,则:
g[i]=(10i−1)×10n−1×5g[i]=(10^i-1)\times 10^{n-1}\times 5 g[i]=(10i−1)×10n−1×5
设f[i][0/1]f[i][0/1]f[i][0/1]表示长度为iii的表达式,第iii位是数字或符号的表达式个数,则:
f[i][0]=(f[i−1][0]+f[i−1][1])×10f[i][0] = (f[i-1][0] + f[i-1][1]) \times 10 f[i][0]=(f[i−1][0]+f[i−1][1])×10

f[i][1]=f[i][0]×2f[i][1] = f[i][0] \times 2 f[i][1]=f[i][0]×2

综上,最终答案可以表示为:
ansn=∑i=1n−2g[i]×f[n−i][1]ans_n=\sum_{i=1}^{n-2}g[i]\times f[n-i][1] ansn​=i=1∑n−2​g[i]×f[n−i][1]

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;const int maxn = 500010;
const int mod = 998244353;ll g[maxn], p[maxn], f[maxn][2];
int n;int main() {f[1][0] = 10, f[1][1] = 0;g[1] = 45;p[1] = 10;for(int i = 2; i <= 500000; i ++){f[i][0] = (f[i-1][0] + f[i-1][1]) * 10 % mod;f[i][1] = f[i-1][0] * 2 % mod;p[i] = p[i - 1] * 10 % mod;g[i] = (p[i] - 1) * p[i-1] % mod * 5 % mod;}int T;cin >> T;while (T--) {cin >> n;ll res = 0;for(int i = 1; i <= n - 2; i ++)res = (res + g[i] * f[n-i][1]) % mod;res = (res + g[n]) % mod;printf("%d\n", (res + mod) % mod);}return 0;
}

【Gym - 102174J】 金色传说(观察性质+计数dp)相关推荐

  1. UVA 10564 计数DP

    也是经典的计数DP题,想练练手,故意不写记忆化搜索,改成递推,还是成功了嘞...不过很遗憾一开始WA了,原来是因为判断结束条件写个 n或s为0,应该要一起为0的,搞的我以为自己递推写挫了,又改了一下, ...

  2. Sumsets POJ - 2229(计数dp)

    题意: 给一个数,是集合的总数和,集合元素只能为2的次幂数,问这样的集合有多少? 题目: Farmer John commanded his cows to search for different ...

  3. 金色传说:SAP-ABAP-销售订单增强:记录销售订单修改信息和修改原因

    业务场景 为了记录从客户或经销商询单到正式下达销售订单的过程并分析,需要记录销售订单创建和修改时的关键信息,其中包括:客户.物料.订单数量.交货日期.更改原因. 解决方案 创建销售订单时自动记录关键信 ...

  4. 金色传说:SAP-BAPI-BAPI_GOODSMVT_CREATE创建物料凭证bapi的使用及参数值讲解

    文章目录 前言 一.数据定义: 二.BAPI参数值讲解 三.BAPI调用 前言 物料凭证创建bapi:BAPI_GOODSMVT_CREATE 以下是本篇文章正文内容,下面案例可供参考 代码如下(示例 ...

  5. 金色传说:SAP-ABAP-SELECT * FORM 内表语法

    一.标题难取 你是否受够了同一个程序里不停的根据各种条件反复SELECT同一个表? 你是否受够了大量冗余代码的压迫? 你是否- 好吧,编不下去了,总之,起来!不愿做"奴隶"的ABA ...

  6. SAPABAP金色传说:KE30报表增加特征筛选字段的示例方法

    文章目录 配置步骤 1.维护特性 2.维护经营关注点 3.选出筛选字段 4.成品展示 总结 示例场景 示例:增加一个筛选字段:指定分销链的状态.字段名和所在的表可以按F1获得. 配置步骤 1.维护特性 ...

  7. CSPS 2019 Day2 T1 Emiya 家今天的饭(容斥 + 计数 dp)

    Description 给定一个 n×mn \times mn×m 的矩阵,每一行最多选一个数,每一列可以选若干个数,但是每一列选的数不能超总数的一半.求有多少个不同的方案数. Solution 容斥 ...

  8. dp2:线性dp、区间dp、计数dp.

    线性dp   动态规划时间复杂度分析,状态数目与状态转移次数相乘. 数字三角形 数字三角形 以集合的观点考虑dp问题. #include<iostream> #include<cst ...

  9. 组合计数 ---- Codeforces 737C Div2 C. Moamen and XOR [多阶段决策计数dp]

    题目链接 题目大意: 有nnn个数.每次数范围是[0,2k]∣k∈[0,3e5][0,2^k]|k\in[0,3e5][0,2k]∣k∈[0,3e5] 问你有多少种情况这nnn个数的与大于等于异或 首 ...

最新文章

  1. bootstrap跟vue冲突吗_知道微服务,但你知道微前端吗?
  2. python中split的用法取第二个分片_python中的split()函数的用法
  3. WIN7 X64 Setup Oracle Developer Suite 10g
  4. txtv28pw河南某中学_中学生骑行典型交通事故案例集 | 知危险会避险
  5. 中国物联网激荡 20 年
  6. 苹果修复今年以来的第13个0day,影响iOS 和 macOS
  7. Spring boot 配置文件,输入key值,自动补全--- 通过安装插件实现
  8. 用Squid和DNSPod打造自己的CDN详细教程
  9. C#进程间通信的几种方式:管道通信
  10. Python使用阿里API进行情感分析
  11. Win11系统显示和隐藏语言栏的操作方法分享
  12. 51物联卡:浅谈物联网卡在智能安防中的发展前景
  13. 国产操作系统VS Windows系统的深度使用比较,哪种操作系统更好用?来自一位深度使用者的全面剖析
  14. wap精武堂源码php_Showgirl武装秀【精武堂】大奖等你拿
  15. ffmpeg 视频抽取音频,视音频分离
  16. RA-GCN:Richly Activated Graph Convolutional Network for Robust Skeleton-based Action Recognition
  17. Leetcode——507. Perfect Number
  18. 1100 校庆 (25 分)
  19. 近10年的网盘发展史(那些年你的网盘存了多少资料)
  20. python爬取百度地图数据_百度地图POI数据爬取

热门文章

  1. oracle中Lpad与Rpad函数
  2. STM32F103-官方固件库
  3. ASP ,Skin皮肤文件用法
  4. 设计一个简单的网页计算器
  5. winform开发-CheckedListBox控件
  6. 【金融产品】个人信贷产品及风险
  7. Fluent中的离散格式选择
  8. 2020 软件测试实训记录 【整理】 目录
  9. 苹果产品“i”的由来及含义
  10. 【C++】医学影像归档和通信系统-PACS