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;
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值