当前位置:网站首页>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
边栏推荐
- word怎么只删除英语保留汉语或删除汉语保留英文
- C # display the list control, select the file to obtain the file path and filter the file extension, and RichTextBox displays the data
- js對象獲取屬性的方法(.和[]方式)
- Brief explanation of instagram operation tips in 2022
- TypeScript 接口属性
- jmeter性能测试步骤实战教程
- How can word delete English only and keep Chinese or delete Chinese and keep English
- Ali's redis interview question is too difficult, isn't it? I was pressed on the ground and rubbed
- Jerry's ad series MIDI function description [chapter]
- TypeScript void 基础类型
猜你喜欢

word中如何删除某符号前面或后面所有的文字

杰理之如若需要大包发送,需要手机端修改 MTU【篇】

Bugku CTF daily question: do you want seeds? Blackmailed

【mysql学习笔记30】锁(非教程)

Google可能在春节后回归中国市场。

Fundamentals of C language 9: Functions

TypeScript接口与泛型的使用

杰理之BLE【篇】

Multi attribute object detection on rare aircraft data sets: experimental process using yolov5

(4) Web security | penetration testing | network security web site source code and related analysis
随机推荐
TS 类型体操 之 循环中的键值判断,as 关键字使用
Uni app practical project
[MySQL learning notes 32] mvcc
Cookie Technology & session Technology & ServletContext object
Ble of Jerry [chapter]
OpenJudge NOI 2.1 1661:Bomb Game
数字IC设计笔试题汇总(一)
[CF Gym101196-I] Waif Until Dark 网络最大流
Solution to the problem of breakthrough in OWASP juice shop shooting range
学go之路(二)基本类型及变量、常量
TypeScript接口与泛型的使用
Crawling exercise: Notice of crawling Henan Agricultural University
First knowledge of OpenGL es learning (1)
Scala语言学习-08-抽象类
Games101 Lesson 7 shading 1 Notes
Methods for JS object to obtain attributes (. And [] methods)
Typescript interface properties
You deserve this high-value open-source third-party Netease cloud music player
Simple and understandable high-precision addition in C language
Three treasures of leeks and Chinese men's football team