給定長度為n的數列a,然後輸入m行操作指令。
第一類指令形如「c l r d」,表示把數列中第l~r個數都加d。
第二類指令形如「q x」,表示詢問數列中第x個數的值。
對於每個詢問,輸出乙個整數表示答案。
輸入格式
第一行包含兩個整數n和m。
第二行包含n個整數a[i]。
接下來m行表示m條指令,每條指令的格式如題目描述所示。
輸出格式
對於每個詢問,輸出乙個整數表示答案。
每個答案佔一行。
思路:
code
#include #define mem(a, b) memset(a, b, sizeof a)
#pragma warning (disable:4996)
#pragma warning (disable:6031)
using namespace std;
typedef long long ll;
const int n = 1e5 + 10;
ll n, m;
ll a[n];
int lowbit(int x)
void add(int x, int d)
}ll query(int x)
return res;
}int main()
while (m--)
else
} return 0;
}
Acwing 242 乙個簡單的整數問題
給定長度為n的數列a,然後輸入m行操作指令。第一類指令形如 c l r d 表示把數列中第l r個數都加d。第二類指令形如 q x 表示詢問數列中第x個數的值。對於每個詢問,輸出乙個整數表示答案。輸入格式 第一行包含兩個整數n和m。第二行包含n個整數a i 接下來m行表示m條指令,每條指令的格式如題...
AcWing 242 乙個簡單的整數問題
原題鏈結 考察 樹狀陣列 確實簡單.就是差分 樹狀陣列即可.本蒟蒻還以為又有什麼神乎其神的優化.思路 我們先看第乙個指令 第一類指令形如c l r d,表示把數列中第 l r l r 個數都加 l r l r d d l r d l r區間內 d l r d l r d 單看這個操作容易想到差分.即...
一天乙個演算法題 簡單的 求乙個整數的反序列整數。
例如 現在有整數1234,輸出4321整數,問題摘自 演算法實現的不夠好.package com.jue.numberreverse public class numberreverse public static int getreversedatanumber int old int newda...