当前位置:网站首页>Luogu p1836 number page solution
Luogu p1836 number page solution
2022-07-06 07:29:00 【q779】
Luogu P1836 Page number Answer key
Topic link :P1836 Page number
The question :
The page number of a book is from 1 ∼ n 1\sim n 1∼n Consecutive integer of number : 1 , 2 , 3 , ⋯ , n 1,2,3,\cdots,n 1,2,3,⋯,n. Please find the sum of all the individual numbers in all the pages , For example 123 123 123 page , Its sum is 1 + 2 + 3 = 6 1+2+3=6 1+2+3=6.
1 ≤ n ≤ 1 0 9 1\le n\le 10^9 1≤n≤109
It is easy to find that this thing can be transformed into
1 ∼ n 1 \sim n 1∼n How many numbers are there in each number
Consider digits dp, See link
Then multiply each number by one
Code :
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <iomanip>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define N (int)()
int x,mi[25],cnt[25],num[25],f[25];
void solve(int x,int *cnt)
{
int len=0;
memset(num,0,sizeof(num));
while(x)
{
num[++len]=x%10;
x/=10;
}
for(int i=len; i>=1; i--)
{
for(int j=0; j<=9; j++)
cnt[j]+=f[i-1]*num[i];
for(int j=0; j<num[i]; j++)
cnt[j]+=mi[i-1];
int res=0;
for(int j=i-1; j>=1; j--)
{
res = res * 10 + num[j];
}
cnt[num[i]]+=res+1;
cnt[0]-=mi[i-1];
}
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
// freopen("check.in","r",stdin);
// freopen("check.out","w",stdout);
mi[0]=1;
for(int i=1; i<=18; i++)
{
f[i]=f[i-1]*10+mi[i-1];
mi[i]=10*mi[i-1];
}
cin >> x;
solve(x,cnt);
int res=0;
for(int i=0; i<=9; i++)
res+=cnt[i]*i;
cout << res << '\n';
return 0;
}
Reprint please explain the source
边栏推荐
- Cookie Technology & session Technology & ServletContext object
- Yield method of tread
- leecode-C語言實現-15. 三數之和------思路待改進版
- Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume
- Uni app third party package configuration network request
- First knowledge of OpenGL es learning (1)
- word设置目录
- The way to learn go (I) the basic introduction of go to the first HelloWorld
- Résumé de la structure du modèle synthétisable
- Sharing of source code anti disclosure scheme under burning scenario
猜你喜欢

Detailed explanation | detailed explanation of internal mechanism of industrial robot

杰理之BLE【篇】

TypeScript接口与泛型的使用

Markdown 中设置图片图注

Sharing of source code anti disclosure scheme under burning scenario
![Ble of Jerry [chapter]](/img/d8/d080ccaa4ee530ed21d62755808724.png)
Ble of Jerry [chapter]

JDBC learning notes

Excel的相关操作

First knowledge of OpenGL es learning (1)

Oracle column to row -- a field is converted to multiple rows according to the specified separator
随机推荐
[CF Gym101196-I] Waif Until Dark 网络最大流
Typescript function definition
Sharing of source code anti disclosure scheme under burning scenario
Full Score composition generator: living on code
Basics of reptile - Scratch reptile
TypeScript 接口属性
mysql如何合并数据
可变参数重载时的内存错误
You deserve this high-value open-source third-party Netease cloud music player
Fundamentals of C language 9: Functions
杰理之BLE【篇】
jmeter性能测试步骤实战教程
Three no resumes in the software testing industry. What does the enterprise use to recruit you? Shichendahai's resume
OpenJudge NOI 2.1 1661:Bomb Game
Typescript interface properties
C intercept string
Uni app practical project
Path analysis model
Games101 Lesson 7 shading 1 Notes
After the hot update of uniapp, "mismatched versions may cause application exceptions" causes and Solutions