51Nod 1009 传送门

模板orz 好难记的感觉……

#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
typedef long long ll;
using namespace std;
ll n, res;
ll dp[20];
void init()
{memset(dp, 0, sizeof(dp));for (int i = 1; i <= 10; i++)dp[i] = dp[i - 1]*10 + pow(10, i - 1);
}
ll DP(ll n)
{ll ans = 0, len = 0, crt = 0;ll l = 0, r = 1;while (n)  //比如n=12345,当前计算到crt=3 {crt = n % 10; n /= 10;len++; //len为数位,len=3,r=100if (crt > 1)ans += r + crt*dp[len - 1]; //前导1产生r个+其余的crt*dp[len-1]个(当前位前导1产生100个,其余位前导(1,2,3)产生3*dp[2]个)else if (crt == 1)ans += l + 1 + dp[len - 1]; //高位1产生l+1个+其余的dp[len-1]个l += crt*r; //l表示当前计算到的数,比如12345,当前计算到crt=3,l=345;r *= 10;    //r=1000}return ans;
}
int main()
{init();scanf("%d", &n) ;printf("%lld\n", DP(n));return 0;
}

转载于:https://www.cnblogs.com/Egoist-/p/7628965.html

51Nod 1009 数字1的数量 数位dp相关推荐

  1. 51nod 1009 数字1的数量

    1009 数字1的数量 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数. 例如:n = 12,包含了5个1.1,10,12共包含3个1,11包含2个1,总共5个1. ...

  2. 51nod 1009 数字1的数量(数学)

    题目描述: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1009 给定一个十进制正整数N,写下从1开始,到N的所有正数, ...

  3. 数字0-9的数量 (数位dp ,技巧)

    给出一段区间a-b,统计这个区间内0-9出现的次数. 比如 10-19,1出现11次(10,11,12,13,14,15,16,17,18,19,其中11包括2个1),其余数字各出现1次. 收起 输入 ...

  4. mysql dp.cal 显示汉子_计算1到N中各个数字出现的次数 --数位DP

    题意:给定一个数n,问从1到n中,0~9这10个数字分别出现了多少次.比如366这个数,3出现了1次,6出现了2次. 题解:<剑指offer>P174:<编程之美>P132 都 ...

  5. AcWing1081.度的数量(数位DP)题解

    题目传送门 求给定区间 [X, Y] 中满足下列条件的整数个数:这个数恰好等于 K 个互不相等的 B 的整数次幂之和. 例如,设 X=15,Y=20,K=2,B=2X=15,Y=20,K=2,B=2, ...

  6. 51Nod-1009 数字1的数量【数位DP+记忆化搜索】

    1009 数字1的数量  给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数. 例如:n = 12,包含了5个1.1,10,12共包含3个1,11包含2个1,总共5个1. ...

  7. 牛客网dp专题 数位dp

    文章目录 数位dp 例题: NC116652 uva11038 How many 0's NC15035 送分了QAQ NC20669 诡异数字 NC20665 7的意志 NC17385 Beauti ...

  8. hdu3652(数位dp)

    要求找出范围内含有"13"且能被13整除的数字的个数 可以使用数位dp dp[i][j][0] 表示长度为i,余数为j,不含13的数字的个数 dp[i][j][1] 表示长度为i, ...

  9. poj 3208 Apocalypse Someday(数位dp)

    题意:给定n,输出第n大包含666的数字. 分析:数位dp,详见<算法竞赛进阶指南>P342-344. 代码: #include<iostream> #include<c ...

最新文章

  1. 图书管理系统(源码)
  2. c读取ini配置文件_Go-INI - 超赞的Go语言INI文件操作库
  3. LeetCode--33. 搜索旋转排序数组(二分法)
  4. Bootstrap 和 LESS
  5. 实验13——结构体、文件的基本应用
  6. 日常的SQL 语句使用
  7. day12 装饰器的进阶
  8. 【C++】 29_类中的函数重载
  9. 获取稳定的西刺代理IP
  10. 立体声音频效果插件:TBProAudio ST1 for Mac
  11. python通过周数得到日期_python中根据时间获取周数,通过周数获取时间
  12. 【TWVRP】粒子群算法求解带时间窗的车辆路径规划问题【含Matlab源码 334期】
  13. geany怎么创建文件夹_安装 Geany
  14. 基于java个人空间博客网站系统
  15. VMwareWorkStation虚拟机安装RHEL7.0Linux操作系统
  16. python对新媒体运营的帮助_一年新媒体工作积累的经验
  17. 使用路由器DDNS功能+动态公网IP实现外网访问(花生壳)
  18. php支付回调怎么写_php如何接入微信支付回调接口?PHP如何验证微信支付签名?PHP处理微信支付回调的函数...
  19. 决策树,基尼系数,泰勒级数
  20. 第19天笔记,js(递增递减运算符、if语句)

热门文章

  1. 1.5 编程基础之循环控制 09 奇数求和
  2. 最大尺寸分辨率_未来就在眼前!全球最大尺寸、最高分辨率硅基OLED显示屏在肥点亮...
  3. Linux基础学习六:Nginx的使用教程
  4. 【Ant Design Vue】之Grid栅格和Space间距
  5. python虚拟环境和pyenv_Python多版本管理器pyenv和虚拟环境pyenv-virtualenv的安装设置...
  6. Qt工作笔记-QSS中关于QScrollBar的设置
  7. Linux 禁用msi模式,禁用MSI模式支持
  8. 周期均方根和有效值的区别_买羊肉,“羔羊肉”和“羊肉”有啥区别?口感差别大,别再乱买了...
  9. python中的fstring的 !r,!a,!s
  10. 要不要选 qt tool_小户型儿童房要不要做高低床?优劣都告诉你,自己选