递推dp数位
1-n里有多少个1
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int n=10;
cin >> n;
int f[10];
int x[10];
f[0] = 0;
f[1] = 1;
x[0] = 0;
x[1] = 1;
for (int i = 2; i < 10; i++) {
x[i] = x[i - 1] * 10;
f[i] = f[i - 1] * 10 + x[i];
}
int y = n;
int s = 0;
int k = 0;
int len = 0;
int rd[10];
while (y != 0) {
rd[len++] = y % 10;
y /= 10;
}
for (int i = len - 1; i >= 0; i--) {
if (rd[i] == 0) {
continue;
}
if (rd[i] == 1) {
s += n%x[i+1] + 1;
}
else {
s += x[i+1];
}
s += (rd[i]) * f[i];
}
cout << s << endl;
}
1-n里有多少包含1的数
#include <cstdio>
#include <iostream>
using namespace std;
int main() {
int n=10;
cin >> n;
int f[10];
int x[10];
f[0] = 0;
f[1] = 1;
x[0] = 0;
x[1] = 1;
for (int i = 2; i < 10; i++) {
x[i] = x[i - 1] * 10;
f[i] = f[i - 1] * 9 + x[i];
}
int y = n;
int s = 0;
int k = 0;
int len = 0;
int rd[10];
while (y != 0) {
rd[len++] = y % 10;
y /= 10;
}
for (int i = len - 1; i >= 0; i--) {
if (rd[i] == 0) {
continue;
}
if (rd[i] == 1) {
s += n%x[i+1] + 1;
s += f[i];
break;
}
else {
s += x[i+1];
s += (rd[i]-1) * f[i];
}
}
cout << s << endl;
}
递推dp数位的更多相关文章
- 递推DP URAL 1167 Bicolored Horses
题目传送门 题意:k个马棚,n条马,黑马1, 白马0,每个马棚unhappy指数:黑马数*白马数,问最小的unhappy值是多少分析:dp[i][j] 表示第i个马棚放j只马的最小unhappy值,状 ...
- 递推DP URAL 1017 Staircases
题目传送门 /* 题意:给n块砖头,问能组成多少个楼梯,楼梯至少两层,且每层至少一块砖头,层与层之间数目不能相等! 递推DP:dp[i][j] 表示总共i块砖头,最后一列的砖头数是j块的方案数 状态转 ...
- 递推DP URAL 1260 Nudnik Photographer
题目传送门 /* 递推DP: dp[i] 表示放i的方案数,最后累加前n-2的数字的方案数 */ #include <cstdio> #include <algorithm> ...
- 递推DP URAL 1353 Milliard Vasya's Function
题目传送门 /* 题意:1~1e9的数字里,各个位数数字相加和为s的个数 递推DP:dp[i][j] 表示i位数字,当前数字和为j的个数 状态转移方程:dp[i][j] += dp[i-1][j-k] ...
- 递推DP URAL 1119 Metro
题目传送门 /* 题意:已知起点(1,1),终点(n,m):从一个点水平或垂直走到相邻的点距离+1,还有k个抄近道的对角线+sqrt (2.0): 递推DP:仿照JayYe,处理的很巧妙,学习:) 好 ...
- 递推DP 赛码 1005 Game
题目传送门 /* 递推DP:官方题解 令Fi,j代表剩下i个人时,若BrotherK的位置是1,那么位置为j的人是否可能获胜 转移的时候可以枚举当前轮指定的数是什么,那么就可以计算出当前位置j的人在剩 ...
- 递推DP HDOJ 5328 Problem Killer
题目传送门 /* 递推DP: 如果a, b, c是等差数列,且b, c, d是等差数列,那么a, b, c, d是等差数列,等比数列同理 判断ai-2, ai-1, ai是否是等差(比)数列,能在O( ...
- hdu1978(递推dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1978 分析: 递推DP. dp[][]表示可以到达改点的方法数. 刚开始:外循环扫描所有点dp[x][ ...
- 递推DP URAL 1031 Railway Tickets
题目传送门 /* 简单递推DP:读题烦!在区间内的都更新一遍,dp[]初始化INF 注意:s1与s2大小不一定,坑! 详细解释:http://blog.csdn.net/kk303/article/d ...
随机推荐
- python与pycharm的爱恨情仇
首先大家应该区别 这两者是什么? python 是一门语言 pycharm 是工具 还得交待的是 可以编译python的工具 不止这一款 比如说--eclipse idea ... eclipse中 ...
- Linux集群配置离线ntp时间同步服务
集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase.mongodb副本集等,Hbase当时间差别过大时就会挂掉,mongodb如果副本时间过快,会出现时间栈帧溢出提 ...
- 基于索引的QA问答对匹配流程梳理
知识库(主要是标准的QA信息)匹配需求是对已经梳理出的大量标准QA对信息进行匹配,找出最符合用户问题的QA对进行回复,拆分主要的处理流程主要为如下两点: 标准QA信息入库索引: 通过对用户提出的问题进 ...
- Pandas和常见数据处理小模块
文章目录 前言 Pandas部分 根据某一列找另一列 根据条件变换每一列 按照标签保存为DataFrame 数据处理 切分数据集和测试集 其他 计时 前言 pandas 确实很好用, 但是网上的教程参 ...
- 《T-GCN: A Temporal Graph Convolutional Network for Traffic Prediction》 代码解读
论文链接:https://arxiv.org/abs/1811.05320 博客原作者Missouter,博客链接https://www.cnblogs.com/missouter/,欢迎交流. 解读 ...
- 题解 洛谷 P1553
字符串入门题,读入一行字符,先将第一个数读入翻转,读入下一个字符(如果没有则退出),再将下一个数读入翻转 #include<iostream> #include<cstdio> ...
- Android EditText判断输入的字符串是否为数字(包含小数点)
有时候项目需要获取EditText所输入的字符串为纯数字(含小数),一般情况下在xml中设置EditText的的属性(我是直接设置digits为数字和小数点,即digits="0123456 ...
- 走正确的路 - IT业没有护城河 - 机器翻译新锐Deepl
最近发生了一件很令我震惊的事情:新的一个机器翻译网站出现了 - www.deepl.com (DeepL 或许会成为你今年首选的翻译工具) 机器翻译早就是红海市场了.我就不从1954年IBM发布俄翻英 ...
- Scala集合操作中的几种高阶函数
Scala是函数式编程,这点在集合操作中大量体现.高阶函数,也就是能够接收另外一个函数作为参数的函数. 假如现在有一个需要是将List集合中的每个元素变为原来的两倍,现在来对比Java方式实现和Sca ...
- adb命令将抓包工具证书从用户目录移动至系统目录,解决反爬对于本地证书认证
代码和注释 adb shell #连接手机进入shell模式 #su root #如果你不root权限可以试着这个一般都是root cd /data/misc/user/0/cacerts-added ...