時間限制: 1 sec 記憶體限制: 128 mb
提交: 112 解決: 49
[提交] [狀態] [討論版] [命題人:admin]
題目描述
小bo有n個正整數a1..an,以及乙個權值序列w1…wn,現在他定義
現在他想知道
你只需要輸出答案對109+7取模後的值
輸入第一行乙個正整數n
第二行n個正整數a1..an
第三行n個正整數w1..wn
1≤n≤3×105
1≤ai≤107
1≤wi≤107
輸出輸出答案對109+7取模後的值
樣例輸入
3樣例輸出1 1 1
1 1 1
10方法:因為要將每乙個區間的和加起來再與w相乘,所以可以求出對應的區間和。
ac**
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
#define rep(i,l,r) for(int i=l;i<=r;i++)
#define lep(i,l,r) for(int i=l;i>=r;i--)
#define ms(arr) memset(arr,0,sizeof(arr))
//priority_queue,greater>q;
const int maxn = (int)3e5 + 5;
const ll mod = 1e9+7;
ll a[maxn];
ll w[maxn];
ll suma[maxn];
ll sumaa[maxn];
int main()
rep(i,1,n)
int start=0,end=n;
sumaa[1]=(suma[end]-suma[start])%mod; //求出區間為1的所有區間的和
start++;
end--;
int j;
for(j=2;j<=(n+1)/2;j++)
for(;j<=n;j++)
sumaa[j]=sumaa[n-j+1]; //區間為n的區間和與區間為1的區間和相等,一次類推
ll ans=0;
rep(i,1,n)
cout<
return 0;
}
區間權值 字首和
時間限制 c c 1秒,其他語言2秒 空間限制 c c 1048576k,其他語言2097152k 64bit io format lld 小 bo 有 n 個正整數 a1.an,以及乙個權值序列 w1 wn,現在他定義 現在他想知道 你只需要輸出答案對 109 7 取模後的值 第一行乙個正整數 n...
動態規劃 帶權值區間排程問題
存在單一資源r,有n個需求,每個需求指定乙個開始時間bi與乙個結束時間ei,在時間區間 bi,ei 內該需求想要占用資源r,資源r一旦被占用則無法被其他需求利用。每個需求i帶有乙個權值vi,代表該需求被滿足之後能夠帶來的價值或者貢獻。如果兩個需求的時間區間不重疊,那麼它們是相容的。帶權值的區間排程問...
問題 G 區間查詢
食堂有n個打飯視窗,現在正到了午飯時間,每個視窗都排了很多的學生,而且每個視窗排隊的人數在不斷的變化。現在問你第i個視窗到第j個視窗一共有多少人在排隊?輸入的第一行是乙個整數t,表示有t組測試資料。每組輸入的第一行是乙個正整數n n 30000 表示食堂有n個視窗。接下來一行輸入n個正整數,第i個正...