当前位置:网站首页>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
边栏推荐
- Typescript interface properties
- LeetCode Algorithm 2181. Merge nodes between zero
- 可变参数重载时的内存错误
- TS 类型体操 之 extends,Equal,Alike 使用场景和实现对比
- Methods for JS object to obtain attributes (. And [] methods)
- Typescript indexable type
- 杰理之AD 系列 MIDI 功能说明【篇】
- TypeScript 可索引类型
- 成为优秀的TS体操高手 之 TS 类型体操前置知识储备
- Jerry's general penetration test - do data transmission with app Communication [article]
猜你喜欢

The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower

ORACLE列转行--某字段按指定分隔符转多行

The way to learn go (I) the basic introduction of go to the first HelloWorld

QT color is converted to string and uint
TS 类型体操 之 extends,Equal,Alike 使用场景和实现对比

合规、高效,加快药企数字化转型,全新打造药企文档资源中心

leecode-C語言實現-15. 三數之和------思路待改進版

软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历

Fundamentals of C language 9: Functions

TS 类型体操 之 循环中的键值判断,as 关键字使用
随机推荐
TypeScript 函数定义
Word setting directory
【mysql学习笔记29】触发器
Related operations of Excel
Path analysis model
杰理之BLE【篇】
Seriously recommend several machine learning official account
NiO programming introduction
Do you really think binary search is easy
[online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
Typescript function definition
[CF Gym101196-I] Waif Until Dark 网络最大流
Relevant introduction of clip image
[MySQL learning notes 29] trigger
Is the super browser a fingerprint browser? How to choose a good super browser?
Typescript void base type
C - Inheritance - hidden method
Full Score composition generator: living on code
Uni app third party package configuration network request
Openjudge noi 2.1 1749: Digital Square