以题目的范例测试资料为例:
7 3
abacaba
1 3
2 5
1 7
例如范例中的歌曲abacaba, 可以先转成编号的array
a = [1, 2, 1, 3, 1, 2, 1] 接着回答每个问题时,需要频繁的计算subarray的值,
因此这里可以定义一个新的array表示方式,b[i] = sum[a[0] - a[i]],这样会比较好计算
// https://codeforces.com/problemset/problem/1539/B
#include <iostream>
#include <string>
using namespace std;
#define MAX_SIZE (int)(1e6+10)
int main(){
int n, q, strNum[MAX_SIZE];
string str;
cin >> n >> q;
cin >> str;
strNum[0] = 0;
int strSize = str.size();
for (int i = 1; i <= strSize; i++) {
strNum[i] = strNum[i-1] + str[i-1] - 'a' + 1;
}
int l, r;
for (int i = 0; i < q; i++) {
cin >> l >> r;
cout << strNum[r] - strNum[l-1] << endl;
}
return 0;
}
<<: App Inventor 学习笔记 3 : 读取csv档
>>: Python 演算法 Day 6 - 理论基础 统计 & 机率
1. 正则表达式搜集 (1) 0~20字元限制 /^\S{0,20}$/ a. 非空白开头 b. {...
分散式运算架构 MapReduce 利用函式语言程序设计的概念,将分散运算分为映射(Map)和归纳...
一、前言 上一篇文章提到了网页如何检测无障碍规范,但很多事情防范胜於未然,可以注意一下基本无障碍...
今天天气真好,最适合来学习新事物了!!在创建一个网页时,有可能会遇到需要把使用者输入的文字转成大小写...
我们先做登入的画面, 在app/Http/Controllers/UserAuthControlle...