数位dp解水题

luogu1179

dp[i][j]表示 有i位,且首位是j(包括0) 的 ‘2’的个数 dp[i][j]={        Σ(dp[i-1][k]),j!=2;        Σ(dp[i-1][k])+val[i],j!=2;      }其中val[i]为,十进制下,第i位的权值,在这里可以当作 如果 j是2 那会多计数几次来使用

令 work(x) 表示 0~x-1 中 '2' 的个数目标 work(r+1)-work(l);work()注意 在累加dp[i][j]的同时,统计之前出现了几次‘2’,记为t;每次再加上t*val[i];
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int len,dp[8][11],digit[8],l,r;
 4 int val[8]={0,1,10,100,1000,10000,100000,1000000};
 5 //dp[i][j]表示 有i位,且首位是j 的 ‘2’的个数
 6 void init(){
 7     dp[1][2]=1;
 8     for(int i=2;val[i]<=r;i++)
 9         for(int j=0;j<=9;j++){
10             for(int k=0;k<=9;k++)
11                 dp[i][j]+=dp[i-1][k];
12             if(j==2)dp[i][j]+=val[i];
13         }
14 }
15 int work(int x){
16     len=0;
17     for(;x;x/=10)digit[++len]=x%10;
18     digit[len+1]=0;
19     int ret=0,t=0;
20     for(int i=len;i;i--){
21         if(digit[i+1]==2)t++;
22         for(int j=0;j<digit[i];j++)
23             ret+=dp[i][j]+t*val[i];
24     }
25     return ret;
26 }
27 int main(){
28     cin>>l>>r;
29     init();
30     cout<<work(r+1)-work(l);
31     return 0;
32 }

转载于:https://www.cnblogs.com/1227xq/p/7078944.html

noip 2010 数字统计相关推荐

  1. ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: 当前在线: - ...

  2. [NOIP 2010普及组 No.3] 导弹拦截

    [NOIP 2010普及组 No.3] 导弹拦截 [题目描述] 经过11 年的韬光养晦,帝国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0 时,则 ...

  3. ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: 当前在线: 然后 ...

  4. 1949:【10NOIP普及组】数字统计

    /* 1949:[10NOIP普及组]数字统计 http://ybt.ssoier.cn:8088/problem_show.php?pid=1949 */ #include <bits/std ...

  5. 信息学奥赛一本通 1096:数字统计 | 1949:【10NOIP普及组】数字统计 | OpenJudge NOI 1.5 41

    [题目链接] ybt 1096:数字统计 ybt 1949:[10NOIP普及组]数字统计 OpenJudge NOI 1.5 41:数字统计 [题目考点] 1. 分离整数的各位数字 对于数字a,a% ...

  6. 信息奥赛一本通(1096:数字统计)

    1096:数字统计 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 26012     通过数: 18138 [题目描述] 请统计某个给定范围[L, R]的所有整数 ...

  7. 洛谷——P1179 [NOIP2010 普及组] 数字统计

    P1179 [NOIP2010 普及组] 数字统计 题目描述 请统计某个给定范围[L, R][L,R]的所有整数中,数字 22 出现的次数. 比如给定范围[2, 22][2,22],数字22 在数 2 ...

  8. POJ NOI0105-41 数字统计

    问题链接:POJ NOI0105-41 数字统计. 总时间限制: 1000ms 内存限制: 65536kB 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如给定范围[2, 2 ...

  9. Vijos P1784 数字统计【进制】

    背景 来自 NOIP2010 普及组 第一题 描述 请统计某个给定范围[L, R]的所有整数中,数字2出现的次数. 比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数2 ...

  10. 1021个位数字统计

    题目链接:个位数字统计 思路:1000位,肯定不能用数字表示,将字符串转换成数字-48 注意点: 实话说这是我达不到的水准,我已经弄混了,或者说根本就没有掌握,遇到类似的,直接凉了! 什么是字符数组? ...

最新文章

  1. powerDesign设计随笔
  2. python的执行效率没有c语言高,Python代码优化
  3. MVC %%与%=%与区别
  4. HDU-4277USACO ORZ深搜+set去重
  5. 利用反射动态创建对象
  6. 移动计算比移动数据更划算
  7. java中ArrayList类的操作
  8. linux那些事之 page translation(硬件篇)
  9. 阿里、腾讯 | 算法岗面试复盘
  10. 四线温度探头怎么接线_温度变送器接线详解
  11. jdbc教程_JDBC教程
  12. java 对象转json忽略某个属性
  13. 小程序微信登陆及账号绑定功能开发笔记
  14. 关于 Nginx 0day 漏洞,需要采取哪些措施?
  15. optuna自动调参框架对lgb的超参进行优化
  16. word怎么压缩文件大小,word压缩变小
  17. python中的dot是什么意思_Python 的NumPy 库中dot()函数详解
  18. 【游戏运营】【实战】首充分析——王国纪元
  19. 《科学管理原理》读后感
  20. 【python】用tkinter做一个最近很火的强制表白神器

热门文章

  1. 如何设置 Excel 文件打印时刚好是一页的宽度?让打印范围刚好是一页纸
  2. 区块链开发(三)以太坊客户端命令行选项汇总
  3. Artlantis studio 2021 for Mac(三维渲染工具)
  4. Zbrush 2022 for Mac(数字雕刻和绘画程序)
  5. 折腾Java设计模式之访问者模式
  6. 看雪CTF.TSRC 2018 团队赛 第八题 『二向箔』 解题思路
  7. 寻找互联网创业的时间点规律
  8. MOVE降低高水位 HWM
  9. 未来三年分布式光伏必然爆发
  10. MapXtreme 2005 学习心得 第八节Session问题澄清-两种配置方式致开发方式不同(九)...