CF908G 题解
题意
给 \(x\le10^{700}\),问 \(1\) 到 \(x\) 中每个数在各数位排序后得到的数的和。答案模 \(10^9+7\)。
题解
学到一种新鲜的转化方式,来记一下。
将 \(x\) 的位数记为 \(n\)。一个显然的想法是算贡献,即枚举 \(d\in[0,9],i\in[1,n]\),算 \(d\) 在 \(i\) 位上出现的次数。但尝试了一会,发现难以处理。
此时我们将数字 \(i\in[0,9]\) 拆为 \(\underbrace{\overline{11\dots1}}_i\) 的形式,并竖着写下来。那么任意一个数可以表示为不超过 \(9\) 个 \(11\dots1\) 的和的形式。例如 \(3459\) 就是:
1111\\
+1111\\
+1111\\
+111\\
+11\\
+1\\
+1\\
+1\\
+1\\
\end{aligned}
\]
然后再算贡献。枚举 \(d\in[1,9],i\in[1,n]\),那么答案加上:大于等于 \(d\) 的数字出现了恰好 \(i\) 次的数的个数 \(\times \underbrace{11\dots1}_i\)。前面部分是个简单的数位 \(\text{DP}\)。于是此题得解。
CF908G 题解的更多相关文章
- 【CF908G】New Year and Original Order(动态规划)
[CF908G]New Year and Original Order(动态规划) 题面 洛谷 CF 题解 设\(f[i][j][k][0/1]\)表示当前填到了第\(i\)位,有\(j\)个大于等于 ...
- 【CF908G】New Year and Original Order 数位DP
[CF908G]New Year and Original Order 题意:令S(i)表示将i中所有数位上的数拿出来,从小到大排序后组成一个新的数的值.如S(50394)=3459.求$\sum\l ...
- 【CF908G】New Year and Original Order
[CF908G]New Year and Original Order 题面 洛谷 题解 设\(f[i][j][k][l]\)表示当前在第\(i\)位有\(j\)位大于等于\(k\),当前有没有卡上界 ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
随机推荐
- c++ class派生与多态
目录 类继承和类派生 继承时名字遮蔽 基类和派生类的构造函数 构造函数调用顺序 基类和派生类的析构函数 多重继承 虚继承和虚基类 将派生类赋值给基类(向上转型) 将派生类指针赋值给基类指针. 将派生类 ...
- error:0308010C:digital envelope routines::unsupported
Node.js v18.14.1 运行项目 node:internal/crypto/hash:71 this[kHandle] = new _Hash(algorithm, xofLen); ^ E ...
- CH582m串口透传程序
目录 参考了沁恒官网22年1月更新的CH583EVT包中的UART1例程 功能:上位机通过串口1发送指令规定串口2和3的波特率,实现串口2和3之间的数据透传 担心串口3的接收中断会被串口2的发送中断打 ...
- Prometheus 特点
1.1 Prometheus的特点 Prometheus是一个开源的完整监控解决方案,其对传统监控系统的测试和告警模型进行了彻底的颠覆,形成了基于中央化的规则计算.统一分析和告警的新模型. 相比于传统 ...
- 前端实现电子签名(web、移动端)通用组件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MSSQL执行超大.sql脚本
1.打开mssql安装路径:找到Microsoft SQL Server Management Studio的图标,点击右键属性>打开文件位置 2.在安装路径下打开cmd控制台 3.输入命令: ...
- c# 服务端接入个推指定对象消息推送
个推消息推送主要步骤:1.获取鉴权token 2.发送推送消息 1.获取鉴权token(会过期,需要间隔时间获取一次): tokenUrl = "https://restapi.getui. ...
- Java笔记_this关键字_HomeWork(5 - 9 题)
第五题 /** * @ClassName HomeWork05 * @Description TODO * @Author Orange * @Date 2021/4/25 10:09 * @Vers ...
- 小僧の神様・城の崎にて.PDF
书本详情 小僧の神様·城の崎にて作者:志賀直哉出版社:新潮社时间:1968.07页数:270 ISBN:
- nestjs mongoose关联查询
nestjs,mongoose关联查询网上搜不到了,查看了nest/mongoose.d.ts文件,分享一波 user.model.ts import { Prop, Schema, SchemaFa ...