首页 > 其他分享 >T271298 [CoE R5] 暴龙的白菜

T271298 [CoE R5] 暴龙的白菜

时间:2022-10-15 18:22:51浏览次数:48  
标签:10 le 暴龙 int texttt 样例 T271298 CoE

[CoE R5] 暴龙的白菜

题目背景

暴龙爱吃白菜。

题目描述

给定一个字符串,由 \(1\) 个 \(\texttt{1}\),\(2\) 个 \(\texttt{2}\),\(3\) 个 \(\texttt{3}\),\(4\) 个 \(\texttt{4}\),\(5\) 个 \(\texttt{5}\),\(6\) 个 \(\texttt{6}\),\(7\) 个 \(\texttt{7}\),\(8\) 个 \(\texttt{8}\),\(9\) 个 \(\texttt{9}\),\(10\) 个 \(\texttt{10}\)……以此类推,依次拼接而成。

询问字符串第 \(l\) 位到第 \(r\) 位的数字之和。

输入格式

输入包含多组测试数据。

第一行一个正整数 \(T\)。

接下来 \(T\) 组问询,每次两个正整数 \(l,r\)。

输出格式

\(T\) 行,每行一个整数代表答案。

样例 #1

样例输入 #1

4
5 9
46 50
114 514
19 19810

样例输出 #1

18
3
1134
74924

提示

样例解释

字符串为:

\[\texttt{12233344445555566666677777778888888899999999910101010101010101010}\cdots\cdots \]

对于第一组询问,第 \(5\) 位到第 \(9\) 位的数字之和为 \(3+3+4+4+4=18\)。

对于第二组询问,第 \(46\) 位到第 \(50\) 位的数字之和为 \(1 + 0 + 1 + 0 + 1 = 3\)。


数据范围

本题采用捆绑测试。

  • \(\texttt{Subtask 1(10 pts):}T=1\),\(1\le l\le r\le 10\);
  • \(\texttt{Subtask 2(20 pts):}1\le T\le 10\),\(1\le l\le r\le 10^3\);
  • \(\texttt{Subtask 3(30 pts):}1\le T\le 10^3\),\(1\le l\le r\le 10^5\);
  • \(\texttt{Subtask 4(40 pts):}\)无特殊限制。

对于 \(100\%\) 的数据,满足 \(1\le T\le 10^5\),\(1\le l\le r\le 10^6\)。

思路

直接暴力获得拼得字符串,再用前缀和\(O(1)\)查询。

代码

#include <iostream>
using namespace std;
const int N = 1000010;
string s = "";
int sum[N];
int get (int x) {
	int t = 0;
	while (x > 0) t++,x /= 10;
	return t;
}
int main () {
	int cnt = 0;
	for (int i = 1;cnt <= 1000000;i++) {
		for (int j = 1;j <= i && cnt <= 1000000;j++) s += to_string (i),cnt += get (i);  //暴力
	}
	for (int i = 1;i <= 1000000;i++) sum[i] = sum[i - 1] + s[i - 1] - '0';
	int T;
	cin >> T;
	while (T--) {
		int l,r;
		cin >> l >> r;
		cout << sum[r] - sum[l - 1] << endl;  //前缀和
	}
	return 0;
}

标签:10,le,暴龙,int,texttt,样例,T271298,CoE
From: https://www.cnblogs.com/incra/p/16794725.html

相关文章

  • 【Coel.学习笔记】基环树动态规划
    引入基环树(又称环套树)是一种特殊的图,在原有的树形结构上添加一条边,就会形成一个环,看起来就像从环延伸出树。特别地,对于有向图而言,环上点所连接的边指向环外为外向树,反之为......
  • 【743】皮尔森相关系数(Pearson correlation coefficient)
    参考:皮尔森相关系数(Pearsoncorrelationcoefficient)两组数据一一对应,通过计算判断两组数据的相关性例如分析新冠确诊患者与城市人口的关系、与老年人口的关系等等。......
  • 【Coel.学习笔记】特殊的图 - 仙人掌与圆方树
    你是什么仙人?引入仙人掌是一种特殊的无向图,它的任意一条边至多只出现在一条简单回路(每个点只出现一次的回路是简单回路,特殊地,自环不算简单回路)。这里借用一下[SHOI2006......
  • 【Coel.学习笔记】随机化算法:模拟退火与爬山法
    简介模拟退火(\(\text{SimulateAnneal}\))和爬山法是随机化算法,二者的原理都在于通过随机生成答案并检查,把答案逐步缩小在一个可行的区间,尽可能地靠近正确答案。在考场......
  • 【Coel.解题报告】【没事找事】CSP-S2 真题解析
    昨天刚考完CSP-S1,反正没什么想做的(最近好颓废…),来复盘一下。本次比赛评价(转载):CSP-S1是由CCF自主研发的一款全新开放世界冒险游戏。游戏发生在一个被称作「基数排序......
  • 【Coel.学习笔记】后缀数组
    在学校补了几天的动规,算是把一些基本题型都弄完了。回来继续做NOI知识点~不过可能过几天又要补DP了引入后缀数组(\(\text{SuffixArray}\),简称\(\text{SA}\))通过利......