题意

传送门

给 \(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\) 就是:

\[\begin{aligned}
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 题解的更多相关文章

  1. 【CF908G】New Year and Original Order(动态规划)

    [CF908G]New Year and Original Order(动态规划) 题面 洛谷 CF 题解 设\(f[i][j][k][0/1]\)表示当前填到了第\(i\)位,有\(j\)个大于等于 ...

  2. 【CF908G】New Year and Original Order 数位DP

    [CF908G]New Year and Original Order 题意:令S(i)表示将i中所有数位上的数拿出来,从小到大排序后组成一个新的数的值.如S(50394)=3459.求$\sum\l ...

  3. 【CF908G】New Year and Original Order

    [CF908G]New Year and Original Order 题面 洛谷 题解 设\(f[i][j][k][l]\)表示当前在第\(i\)位有\(j\)位大于等于\(k\),当前有没有卡上界 ...

  4. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  5. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  6. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  7. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  8. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  9. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  10. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

随机推荐

  1. Nacos配置管理

    一.在Nacos添加公共配置 二.项目中读取方式 1. 引入nacos-config依赖 首先,在要使用 nacos 来管理配置的服务中,引入nacos-config 依赖: <!--nacos ...

  2. MySQL Workbench部分出错及可能解决方案

    出错一:8.0.23.0版本,在workbench内建立表eg1,select * from eg1无返回结果,无法向表内导入数据,在如下图的下一步,workbench会直接闪退 可行的办法:(不建议 ...

  3. 【Frida】Java反射调用

    通过反射调用,获取类名 参数Object obj 类名 String str 方法名 static Object a(Object obj, String str) { try { return ob ...

  4. Java并发编程 —— synchronized关键字

    一.是什么?(作用) synchronized关键字解决了多个线程之间访问资源的同步性问题,保证了被其修饰的方法或是代码块在任意时刻只能有一个线程执行. 而在早期的Java版本中,synchroniz ...

  5. java猜数小游戏

    问题: 程序自动生成一个1~100之间的随机数字,使用程序猜出这个数字是多少: Random可以随机生成一个随机数 使用方法: 导包 创建对象 Random r = new Random(); //只 ...

  6. React.CreateContext

    跨组件传递的内容组件,该组件导出两个对象Provider 提供数据, Consumer, 消费数据 Context被翻译为上下文,在React的官方文档中归类于高级部分,属于React的高级API,但 ...

  7. chrome驱动版本与python不一致时

    图片: 解决办法: 1.先去chrome浏览器找到版本号:在chrome找到帮助-关于Google chrome 2.通过网址:https://npm.taobao.org/mirrors/chrom ...

  8. Linux 第十二节(samba NFS )

    samba     跨平台共享,基于smb协议. NFS yum install samba cd /etc/samba   //samba配置文件 mv smb.conf smb.conf_bak  ...

  9. Go组件库总结之事件注册唤醒

    本篇文章我们用Go实现一个自定义事件注册并等待唤醒的机制,其中涉及到的链表操作可以参考上一篇文章.文章参考自:https://github.com/brewlin/net-protocol 1.自定义 ...

  10. 环保行业ERP主要的几大治理区域?

    环保行业是指在国民经济结构中,以防治环境污染.改善生态环境.保护自然资源为目的而进行的技术产品开发.商业流通.资源利用.信息服务.工程承包等活动的总称. 哲讯环保ERP行业产业链的上游主要是钢铁.有色 ...