計蒜客 二次求字首和

2021-09-26 18:38:29 字數 922 閱讀 8953

傳送門

思路:二次求字首和

區間問題轉化為求字首和問題。

相減一定要先加mod再餘mod

第一次;sum[i]-sum[i-1]=t[i];

sum[j]-sum[l-1];

sum[j+1]-sum[l-1];

...sum[r]-sum[l-1];

相加在一起可歸結為

sum[j]+sum[j+1]+sum[j+2]+...sum[r]-(l-r+1)*sum[l-1]

對 sum[j]+sum[j+1]+sum[j+2]+...sum[r] 再求一次字首和

sum2[i]-sum2[i-1]=sum[i];

/*#include#include#include#include#include#include#include#include#include#include#include#include#define ll long long

#define n 100010

#define rep(i,n) for(int i=0;i<(n);i++)

const int maxn = 10;

int a[maxn][maxn], b[maxn][maxn];

*/#include

const

int mod=

1000000007

;long

long t[

100005

], sum[

100005

], sum2[

100005];

using namespace std;

intmain()

cout

return0;

}

計蒜客 天上的星星(字首和)

天上星星 在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入...

計蒜客 天上的星星 字首和

在乙個星光摧殘的夜晚,蒜頭君一顆一顆的數這天上的星星。蒜頭君給在天上巧妙的畫了乙個直角座標系,讓所有的星星都分布在第一象。天上有 nn 顆星星,他能知道每一顆星星的座標和亮度。現在,蒜頭君問自己 qq 次,每次他問自己每個矩形區域的星星的亮度和是多少 包含邊界上的星星 輸入格式 第一行輸入乙個整數 ...

計蒜客 打掃教室 差分 字首和

一天蒜頭君被要求打掃 n 間連續的教室 編號從 1 到 n 但是蒜頭君打掃教室有點隨心,想打掃哪間教室就打掃哪間教室,導致最後自己都不知道是否所有的教室都打掃了。現在告訴你蒜頭君打掃了哪些教室,你能告訴蒜頭君他還有多少間教室沒有打掃嗎?第一行輸入兩個整數 n,m 分別表示教室的個數和蒜頭君打掃教室區...