题目名称 954. [河南省队2012] 莫比乌斯圈
输入输出 mobius.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-07-22加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:0, 通过率:0%
本题关联比赛
20120723
关于 莫比乌斯圈 的近10条评论(全部评论)

954. [河南省队2012] 莫比乌斯圈

★   输入文件:mobius.in   输出文件:mobius.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

莫比乌斯圈(Möbius strip)如下图

可以理解为一个纸带从某处剪断,扭一圈,然后再用胶水粘合的物体.

关于这个莫比乌斯圈有很多有趣的性质,当然也很复杂,这里不会赘述,但是需要说一点,如果你从圈上的某处出发并前进,那么如果你在走了N/2个单位距离发现起始点在你的背面,那么就称这个带的长度为N(也就意味着你需要绕N的距离才能返回原点

我们的问题是:

想象侠盗猎车手里面的任务骑着摩托车在一个长度为N的莫比乌斯带上踩加分点(我们认为每隔一单位长度就有一个加分点,这个加分点是个整数.我们想知道从位置a开始骑摩托吃分到位置b所有可能的得分之和,我们假设只要他经过得分点就一定能得到分,并且他可能骑车在c(a<=b<=c)停下来,而放弃b+1c之间的得分.可是这得分点的分值有时候会变,我们如果想知道从ab的总分值是多少,就会询问,所以

【输入】

第一行两个整数N,Q,Q是操作数

第二行N个整数表示随便从一个点开始,到之后N个单位长度之间N个加分点的分值,

第三行一个整数Command,表示操作数

接下来Command行每一行由一个指令类型(一个字符串,中间没有空格),后面跟相应的参数.

要么是C a b x表示从ab将键值修加x

要么是Q a b 表示询问从ab之间我们想询问的值,具体见题目描述.

【输出】

对于每个询问给出相应的回答一共Command

【输入输出样例1

mobius.in

mobius.out

4 5

C 1 4 2

C 1 2 -1

Q 1 2

Q 2 4

Q 1 4

3

9

13

【数据范围】 

40%的数据N<=10000 Q<=10000

100%的数据N<=100000 Q<=100000