博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小Z的课堂检测(test)
阅读量:5786 次
发布时间:2019-06-18

本文共 1616 字,大约阅读时间需要 5 分钟。

【题目描述】

大家都知道小Z的课总是十分快的(鬼知道为什么),然后我们阿M同学总是在上课时处于神游状态亦或是休眠状态,所以她对小Z到底讲了什么是一无所知。然而,小Z总是很坏地打断阿M的休眠状态,并问她问题。作为阿M的开黑好伙伴,你当然不希望阿M同学翻车(不然下一个回答问题的人就是你啦)。所以你需要编写个程序帮助阿M求小Z对于知识点到底讲的档次有多深。已知小Z在课上总会扯到涉及到N个知识点,小Z会进行M个动作(讲课或是提问阿M)。由于小Z比较古灵精怪,所以小Z的讲课时只会讲连续的知识点,并且对于这段区间内的知识点都提升一样的档次。而且,小Z也比较懒,所以小Z只会问阿M关于某一个知识点的了解程度。

【输入描述】

第一行读入N,表示小Z要涉及到N个知识点

第二行读入A[1],A[2]……A[N-1],A[N]表示小Z上几节课已经把第i个知识点的       难度提升到A[i]的难度

第三行读入M,表示小Z要进行M个动作

接下来M行,读入Choice

若Choice=1,则表示小Z要讲课啦

接下来读入L,R,X 表示小Z要对L到R这些连续的知识点提升难度X

若Choice=2,则表示小Z要提问啦

接下来读入K,表示小Z问阿M第K个知识点他已经讲到哪个难度了

【输入描述】

每行输出一个数表示阿M应该回答的正确答案

样例输入1

10

1 2 3 4 5 6 7 8 9 10

5

1 2 3 4

2 3

1 3 4 5

2 5

1 5 8 5

【样例输出1

7

5

【样例输入2

7

5 3 7 7 5 8 5

9

1 2 7 -1

2 1

2 2

1 2 3 1

1 2 7 2

2 2

1 3 3 -1

2 3

2 1

【样例输出2

5

2

5

8

5

 

【数据范围】

对于50%的数据,N<=1000,M<=1000

对于100%的数据,N<=100000,M<=100000 |X|<=50000

|A[i]|<=50000;

#include
#include
#include
using namespace std;int n,m,bl[100005],block;long long a[100005],tag[100005];void change(int l,int r,int x){ for (int i=l; i<=min(bl[l]*block,r);i++) a[i]+=x; if (bl[l]!=bl[r]) for (int i=block*(bl[r]-1)+1; i<=r; i++) a[i]+=x; for (int i=bl[l]+1; i<=bl[r]-1; i++) tag[i]+=x;}int main(){ freopen("test.in","r",stdin); freopen("test.out","w",stdout); scanf("%d",&n); block=sqrt(n); for (int i=1; i<=n; i++) scanf("%d",&a[i]),bl[i]=(i-1)/block+1; scanf("%d",&m); while (m--){ int st; scanf("%d",&st); if (st==1) { int l,r,x; scanf("%d%d%d",&l,&r,&x); change(l,r,x); } else{ int x; scanf("%d",&x); printf("%lld\n",a[x]+tag[bl[x]]); } } return 0;}

  

转载于:https://www.cnblogs.com/zqzxwdm/p/6931716.html

你可能感兴趣的文章
被遗忘的CSS
查看>>
Webpack中的sourcemap以及如何在生产和开发环境中合理的设置sourcemap的类型
查看>>
做完小程序项目、老板给我加了6k薪资~
查看>>
java工程师linux命令,这篇文章就够了
查看>>
关于React生命周期的学习
查看>>
webpack雪碧图生成
查看>>
搭建智能合约开发环境Remix IDE及使用
查看>>
Spring Cloud构建微服务架构—服务消费基础
查看>>
RAC实践采坑指北
查看>>
runtime运行时 isa指针 SEL方法选择器 IMP函数指针 Method方法 runtime消息机制 runtime的使用...
查看>>
LeetCode36.有效的数独 JavaScript
查看>>
Scrapy基本用法
查看>>
PAT A1030 动态规划
查看>>
自制一个 elasticsearch-spring-boot-starter
查看>>
软件开发学习的5大技巧,你知道吗?
查看>>
【人物志】美团前端通道主席洪磊:一位产品出身、爱焊电路板的工程师
查看>>
一份关于数据科学家应该具备的技能清单
查看>>
机器学习实战_一个完整的程序(一)
查看>>
Web框架的常用架构模式(JavaScript语言)
查看>>
如何用UPA优化性能?先读懂这份报告!
查看>>