CDQ分治 寒假作業

2022-01-17 07:49:30 字數 811 閱讀 1932

給定乙個長度為n的序列a以及k,問a中有多少個子序列的平均值不小於k

n<=1e5; 1<=a[i],k<=1e4

做題心路歷程:

emm,看到這道題目,我當時有點懵逼(這也是cdq?!),然後我特別疑惑

仔細思考,根據套路先將原序列中的每個數減去乙個k,求序列k中有多少子串行之和大於0

然後我也沒啥頭緒了,就來了個字首和,想打暴力了,然後靜坐五分鐘,woc,n^2暴力不是有個這樣的式子嗎:

if( sum[i] - sum[j] >=0 )total++;( i > j )

昂?wtf?!這不是二維偏序嗎?乙個偏序對(i,sum[i]),如果存在乙個偏序對(j,a[j])使得i > j && sum[i] >=sum[j]不就可以答案+1了嗎

哦吼,這道題就沒了啊.

1.首先將原序列中的每個數減去乙個k

2.然後求一次字首和

3.cdq分治做乙個二維偏序(每次統計答案要統計已經插入了多少序列1的數)*(序列1元素的陣列下標小於序列二元素的陣列下標)

#include using

namespace

std;

#define ll long long//這道題一定要開long long,不然是90分ll n,k;

ll a[

100005],b[100005],sum[100005],ans=0

;ll cdq(ll l,ll r)

for (ll i = l ; i <= r ; i ++)sum[i]=b[i];

return0;

}int

main()

寒假 作業2

大話物聯網 讀書心得 物聯網是繼計算機 網際網路與移動通訊之後的世界資訊產業的第三次浪潮。但是對於我這種連計算機都還不太懂的菜鳥新手和科技無知者來說,物聯網 三個字真的是乙個新興詞彙。在之前我連 物聯網 三個字好像都不太聽到過,更加不可能了解。殊不知我已經和這個世界如此的脫軌,已經被時代遠遠地落在了...

寒假作業9

1.請寫出網頁的基本標籤 作用和語法。basic tags 基 本 標 籤 creates an html document 創 建 一 個html 文 檔sets off the title and other information that isn t displayed on the web...

寒假作業4

今天所敲的 public class daang public class daang2 菜品名稱 double prices new double 菜品單價 int praisenums new int 3 點讚數 建立訂單物件 daang oset new daang 初始化兩條訂單 publi...