洛谷【P839】【NOI导刊】——数页码
一道找规律好题...
首先,我们肯定只能一位一位的统计答案,考虑从高位向低位统计,显然这样要方便的多.
对于第i位,我们统计从$a[i+1]*10^i+0$到$a[i+1]*10^i+a[i]*10^{i-1}-1$对答案的贡献.
($a[i]$表示原数的第i位)
显然0~10^(i-1)-1中的每一个数都是作为上述某个数的一部分出现过的,且他们的出现次数都为a[i](第i位从0~a[i]-1,最后一位除外,出现a[i]+1次).所以有$(a[i]+(i==1))*sum[i-1]$的贡献.
(sum[i-1]表示0~10^(i-1)-1对答案的总贡献)
然后考虑剩下的高位对答案的贡献.首先考虑第i位,第i位的数字从0~a[i]-1出现的次数都为10^(i-1),第i位以前的数字与原数第i位以前的数字相同,所以前i位对答案的贡献为:
$(a[i]+(i==1))*s[i+1]+num[a[i]-(i!=1)])*ten[i-1].$
(s[i+1]表示前i-1位的前缀和,注意是从高位往低位,num[i]表示0~9的前缀和)
Eg:
123
i==3 统计0~99 (1*0+0)*10^2+1*900
i==2 统计100~119 (2*1+1)*10^1+2*45
i==1 统计120~123 (3*4+6)*10^0+4*0
Ans=1038
洛谷【P839】【NOI导刊】——数页码的更多相关文章
- 洛谷-跑步-NOI导刊2010提高
新牛到部队, CG 要求它们每天早上搞晨跑,从A农场跑到B农场.从A农场到B农场中有n-2个路口,分别标上号,A农场为1号, B农场为n号,路口分别为 2 ..n -1 号,从A农场到B农场有很多条路 ...
- 洛谷P1800 software_NOI导刊2010提高(06)
P1800 software_NOI导刊2010提高(06) 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术 ...
- 洛谷 P1800 software_NOI导刊2010提高(06)(二分答案+DP检验)
P1800 software_NOI导刊2010提高(06) 标签 二分答案 难度 普及/提高- 题目描述 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每 ...
- 洛谷P1943 LocalMaxima_NOI导刊2009提高(1)(分段打表)
显然只需要算出每个数比前面所有数大的期望然后全部加起来就好了,一个数的期望怎么算呢? 对于一个数我们需要考虑比它大的数,因为比它小的数放它前面放它后面都可以,但是比它大的数只能放它后面.考虑大于等于它 ...
- 洛谷 P1943 LocalMaxima_NOI导刊2009提高(1)
我们先考虑第i大数,比它大的数有(n-i)个,显然要使i是Local Maxima,比它大的数必须放在它后面,那么它是Local Maxima的期望是: 那么n个数中Local Maxima个数的期望 ...
- 洛谷 P1800 software_NOI导刊2010提高(06)
题目链接 题解 二分答案+dp 如果我们知道答案,贪心地想,让每个人做尽量多的模块一定不会比最优解差 \(f[i][j]\)表示前\(i\)个人第一个模块做了\(j\)块,第二个模块最多能做多少 然后 ...
- [NOI导刊2010提高&洛谷P1774]最接近神的人 题解(树状数组求逆序对)
[NOI导刊2010提高&洛谷P1774]最接近神的人 Description 破解了符文之语,小FF开启了通往地下的道路.当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某 ...
- NOI导刊总结
NOI导刊总结 前两天去郑州,参加了什么NOI导刊的培训,然后就发现大佬是真的多,还十分意外的发现了一个事,清华北大是不是发笔记本和耳机,为啥三个老师的都一模一样... 这几天主要以讲.NOIP知识点 ...
- NOI导刊 2018河南郑州游记
前言 本蒟蒻来自浙江的弱市弱校,因为不想两年\(OI\)一场空,以及想出去玩,所以与同届大佬一起报了\(NOI\)导刊,希望能留下点不错的记忆吧. \(Day\ 0\) \(10\)月\(1\)日 经 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
随机推荐
- spring事务再次理解
2.2.3 只读 事务的第三个特性是它是否为只读事务.如果事务只对后端的数据库进行该操作,数据库可以利用事务的只读特性来进行一些特定的优化.通过将事务设置为只读,你就可以给数据库一个机会,让它应用它认 ...
- Android CrashHandler
package jason.android.utils; import android.content.Context; import android.content.pm.PackageInfo; ...
- iOS -- YYText富文本
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString: [NSString strin ...
- tensorflow global_variables_initializer()
老版本为 init = tf.initialize_all_variables() 新版本为 init = tf.global_variables_initializer()
- c# Dictionary拓展2个key得到1个value
using System.Collections.Generic; using System.Collections; Dictionary<Tuple<int, int>, int ...
- display:flex不兼容Android、Safari低版本的解决方案 【flex布局】
引自 http://www.cnblogs.com/shimily/articles/7943370.html <!DOCTYPE html> <html lang="en ...
- AngularJS的ng-repeat显示表格
代码下载:https://files.cnblogs.com/files/xiandedanteng/angualrJSngRepeatTable.rar 代码: <!DOCTYPE HTML ...
- sql server 2008出现远程过程调用失败
sql server 2008出现远程过程调用失败解决方式有下面几种: 1.依照网上说的方法.是由于装了vs 2012或是vs2013或是vs2015等高版本号时.安装了Microsoft SQL ...
- SwitchyOmega 代理设置
1.SwitchyOmega官网 https://www.switchyomega.com/ 2.下载插件 https://www.switchyomega.com/download.html 3.配 ...
- odoo 有哪些文档资源
// openbook [覆盖 openerp 7 及之前版本] https://doc.odoo.com/ // 最新的 odoo documentation user[覆盖 odoo 9] ...