codevs3324 新斯洛克

2021-08-09 02:52:21 字數 725 閱讀 9288

本著快noip了,要複習一下基礎演算法的原則,去找了到分治的題目……結果……這題真是……好吧確實算是分治……

這題灰常巧妙,n^2賊好想,但是怎麼壓成nlogn就挺有難度的……不看題解真心想不到居然還可以這麼玩……

因為他說求平均數大於m的所有區間,也就是說,如果把每個數都減去m,其區間和大於0的就是我們要找的區間之一,所以先預處理一下,把每乙個數先減去m,求字首和,如果s[r]-s[l-1]大於0就ans++,但是這樣明顯n^2,所以我們需要更高效的找滿足i<=j&&s[j]-s[i-1]>0,這個性質是不是很像逆序對呢,所以可以歸併排序nlogn找(我第一次看到這種想法也是懵逼了,城裡人真會玩qwq)

記得排序從0開始,不然會錯

#include

#include

using namespace std;

long long ans;

int n,m,qw

q[100010],su[100010],cun[100010];

inline void m_st(int l,int r)

while(t1<=mid)

cun[++t3]=su[t1++];

while(t2<=r)

cun[++t3]=su[t2++];

for(int i=l;i<=r;i++)

su[i]=cun[i];

}int main()

3 3 2 TCP報頭結構

16位源埠 16位目的埠 32位序號 32位確認序號 4位 資料偏移 6位保留ur gack psur stsy nfin 16位視窗大小 16位校驗和 16位緊急指標 選項 資料 每個tcp都包含源埠號和目標埠號,加上ip頭中的源ip和目的ip,唯一確定乙個tcp連線。有時,乙個ip位址和乙個埠號...

編譯移植appweb 3 3 2

一 配置及編譯 1 修改環境變數 在終端輸入以下命令 export cc arm toolname gcc exportar arm toolname ar export ld arm toolname ld export nm arm toolname nm exportstrip arm too...

Python 33(2)程序理論

一 什麼是程序 程序指的是乙個正在進行 執行的程式,程序是用來描述程式執行過程的虛擬概念 程序vs程式 程式 一堆 程序 程式的執行的過程 程序的概念起源於作業系統,程序是作業系統罪核心的概念,作業系統其它所有的概念都是圍繞程序來的 作業系統理論 作業系統是什麼?作業系統是乙個協調 管理 控制計算機...