日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1412: QAQ 君临天下 || 天行九歌 [区间]

發布時間:2024/3/26 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1412: QAQ 君临天下 || 天行九歌 [区间] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

QAQ & 君臨天下 || 天行九歌

Description

QAQ~生活之余喜歡看一些動漫,說到國產動漫,QAQ 最喜歡的就屬玄機了,玄機出品的動漫都很贊的說,君臨天下 和 天行九歌是 QAQ 最喜歡的兩部動漫了,每次看完 QAQ 對玄機的敬佩值都會分別增加 2 與 1,QAQ 記錄了自己每天看的動漫名稱 由 A ~ Z 26個字母代替,J :代表 君臨天下,T 代表 : 天行九歌。
有一天,ORZ 突發奇想想幫 QAQ 測試一下 L ~ R 天里 QAQ 對玄機的敬佩值增加了多少,看 QAQ 能否清楚記得?

問題來了 ORZ 怎么知道 QAQ 回答的對錯呢 ?所以 ORZ 想請你幫忙算出 L ~ R 天里 QAQ 對玄機的敬佩值增加的正確答案。

Input

第一行一個 T ( 1≤T≤101≤T≤10)代表有 T 組測試數據

第二行兩個數 n ,m (1≤n,m≤1051≤n,m≤105),分別代表看了 n 天動漫,和 m 次查詢

接下來 n 行一個 A ~ Z 的字母,表示第 i 天看的動漫名稱

接下來 m 行,每行兩個數 L,R (1≤L≤R≤n1≤L≤R≤n)

Output

對于每次查詢,輸出 L~R 天里,QAQ對玄機的敬佩值增加了多少

樣例輸入

Sample Input

1 3 3 J A T 1 1 1 2 2 3

Sample Output

2 2 1

題解:

這個大水題放上來的唯一原因是因為暴力能艸過去的讓蒟蒻寫成樹狀數組模板TAT

AC代碼

#include <bits/stdc++.h> using namespace std; #define N 500500 int a[N], c[N]; int n, m; int lowbit(int x) {return x&(-x); } void update(int p, int x) {while(p <= n) {c[p] += x;p += lowbit(p);} } int sum(int p) {int sum = 0;while(p > 0) {sum += c[p];p -= lowbit(p);} return sum; } int main() {int T;char str[10];int u, v;int k = 0;scanf("%d",&T);while(T--) {int x;memset(a,0,sizeof(a));memset(c,0,sizeof(c));scanf("%d%d",&n,&m);for(int i = 1;i <= n; i++) {scanf("%d",&x);scanf("%s",str);if(str[0] == 'J') x = 2;else if(str[0] == 'T') x = 1;else x = 0;a[i] += x;update(i,x);}while(m--) {scanf("%d%d",&u,&v);printf("%d\n",sum(v)-sum(u-1));}} return 0; }

總結

以上是生活随笔為你收集整理的1412: QAQ 君临天下 || 天行九歌 [区间]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。