数组练习

斐波那契数列

输入&输出

输入一个正整数\(n(n\leq10^6)\)
输出斐波那契数列的第\(n\)项。

打麻将

题目描述

小J从小就喜欢麻将。
但实际上他并不会打,只会把麻将摞起来玩。
现在三岁的小J面前有\(n\)摞麻将,编号为\(1..n\),其中第\(i\)摞有\(a_i\)个。他将对这些麻将进行如下几种操作:

  • 操作1:在编号属于\([L,R]\)的麻将摞上再放置\(x\)个麻将。
  • 操作2:将编号属于\([L,R]\)的麻将摞上的麻将数变为\(x\)
  • 操作3:数一数编号属于\([L,R]\)的麻将摞上总共有多少麻将。
    小J将总共操作\(m\)次。由于小J年龄太小不太会数数,请你来帮助他完成操作3。

输入&输出

输入第一行包含两个正整数\(n,m\)
接下来一行包含\(n\)个正整数,分别表示\(a_1 .. a_n\)
接下来\(m\)行,每行表示一次操作,格式如下:
操作1:1 L R x
操作2:2 L R x
操作3:3 L R
对于每次操作3,输出一行一个正整数表示编号属于\([L,R]\)的麻将摞上总共有多少麻将。

数据范围

  • \(n,m\leq5000\)
  • 只有操作3。\(n,m\leq10^6\)

打麻将2

题目描述

小J从小就喜欢麻将。
但实际上他并不会打,只会把麻将摞起来玩。
现在五岁的小J面前有\(n\times n\)摞麻将,其中第\(i\)行第\(j\)摞有\(a_{ij}\)个。他将对这些麻将进行如下几种操作:

  • 操作1:在以\((Lx,Ly),(Rx,Ry)\)为顶点的矩形中的麻将摞上再放置\(x\)个麻将。
  • 操作2:将以\((Lx,Ly),(Rx,Ry)\)为顶点的矩形中的麻将摞上的麻将数变为\(x\)个麻将。
  • 操作3:数一数以\((Lx,Ly),(Rx,Ry)\)为顶点的矩形中的麻将摞上总共有多少麻将。
    小J将总共操作\(m\)次。由于小J年龄太小不太会数数,请你来帮助他完成操作3。

输入&输出

输入第一行包含两个正整数\(n,m\)
接下来\(n\)行每行包含\(n\)个正整数,表示\(a\)
接下来\(m\)行,每行表示一次操作,格式如下:
操作1:1 Lx Ly Rx Ry x
操作2:2 Lx Ly Rx Ry x
操作3:3 Lx Ly Rx Ry
对于每次操作3,输出一行一个正整数表示以\((Lx,Ly),(Rx,Ry)\)为顶点的矩形中的麻将摞上总共有多少麻将。

数据范围

  • \(n\leq100,m\leq1000\)
  • 只有操作3。\(n\leq1000,m\leq10^6\)
posted @ 2019-07-04 23:12  VisJiao  阅读(131)  评论(0)    收藏  举报