操作格子
有n個格子,從左到右放成一排,編號為1-n。
共有m次操作,有3種操作型別:
1.修改一個格子的權值,
2.求連續一段格子權值和,
3.求連續一段格子的最大值。
對於每個2、3操作輸出你所求出的結果。
輸入格式
第一行2個整數n,m。
接下來一行n個整數表示n個格子的初始權值。
接下來m行,每行3個整數p,x,y,p表示操作型別,p=1時表示修改格子x的權值為y,p=2時表示求區間[x,y]內格子權值和,p=3時表示求區間[x,y]內格子最大的權值。
輸出格式
有若干行,行數等於p=2或3的操作總數。
每行1個整數,對應了每個p=2或3操作的結果。
樣例輸入
4 3
1 2 3 4
2 1 3
1 4 3
3 1 4
樣例輸出
6
3
資料規模與約定
對於20%的資料n <= 100,m <= 200。
對於50%的資料n <= 5000,m <= 5000。
對於100%的資料1 <= n <= 100000,m <= 100000,0 <= 格子權值 <= 10000。
大一的可以用來練手,控制如何輸入輸出,參考程式碼如下:
#include <stdio.h>
int main()
{
int n,m;
int *a;
int i,j,k;
int p,x,y;
int sum, max;
int **input;
scanf("%d%d",&n,&m);
a=new int[n];
input=new int *[m];
for(k=0;k<m;k++)
input[k]=new int [3];
for(i=0;i<n;i++)
scanf("%d",a+i);
for(i=0;i<m;i++)
scanf("%d%d%d",&input[i][0],&input[i][1],&input[i][2]);
for(i=0;i<m;i++)
{
p=input[i][0]; x=input[i][1]; y=input[i][2];
switch(p)
{
case 1: a[x-1]=y; break;
case 2:
sum=0;
for(j=x-1;j<y;j++)
sum+=a[j];
break;
case 3:
max=a[x-1];
for(j=x;j<y;j++)
if(a[j]>max)
max=a[j];
}
switch(p)
{
case 2:
printf("%d\n",sum);
break;
case 3:
printf("%d\n",max);
}
}
return 0;
}
相關文章
- 藍橋杯 演算法訓練 操作格子 (線段樹)演算法
- 格子刷油漆javaJava
- win10如何建立桌面格子_win10怎麼建立桌面檔案管理格子Win10
- bootstrap深入理解之格子布局boot
- 程式設計師剛實習VS幾年後,格子衫還是格子衫,網友:請找回髮量!程式設計師
- [譯] 格子拼貼 — 關於模組化的故事
- excel一個框裡怎麼換行 excel換行同一個單元格子裡面怎麼操作Excel
- 一個格子衫女孩的成長史——面試篇面試
- 還在用canvas畫格子嗎?文字煙花效果更不錯噢Canvas
- 【杭州】格子箱誠邀Java工程師、Android工程師Java工程師Android
- 瑞安辦公:再見格子間!青年理想工作空間什麼樣?
- 2617. 網格圖中最少訪問的格子數(困難)
- 【藍橋杯】試題 歷屆試題 剪格子(python解法+java解法)PythonJava
- 判斷優秀程式設計師的標準?放棄女朋友,穿上散發魅力的格子衫!程式設計師
- BZOJ 1647 [Usaco2007 Open]Fliptile 翻格子游戲:部分列舉 位運算
- JQ操作標籤--樣式操作、 位置操作、尺寸、 文字操作、 獲取值操作、 屬性操作、文件處理、事件事件
- sqlite相關--------adb shell操作,工具操作,程式操作SQLite
- Go 操作 Redis 的基本操作GoRedis
- 常用操作 / 資料庫操作資料庫
- 原子操作 vs 非原子操作
- 操作
- 坐下坐下,基本操作(ZooKeeper 操作篇)
- JavaScript騷操作之操作符JavaScript
- Java檔案操作 讀寫操作Java
- Hive高階操作-查詢操作Hive
- 使用java操作ranger,hdfs ranger授權操作,hive ranger授權操作JavaRangerHive
- Go 語言操作 MySQL 之 CURD 操作GoMySql
- Oracle並行操作——並行DML操作Oracle並行
- js操作JS
- gorm 操作GoORM
- firewalld操作
- DOM 操作
- docker操作Docker
- Jedis操作
- Git 操作Git
- BOM操作
- mongoDB操作MongoDB
- DOM操作