A1-2017級演算法上機第一次練習賽 H 模式尋對
概念回顧
逆序對:數列a[0],a[1],a[2]…中的任意兩個數a[i],a[j],
如果i<j, 並且a[i]>a[j],
那麼我們就說這兩個數構成了一個逆序對。
逆序數:一個數列中逆序對的總數。
題目描述
輸入一個正整數n,隨後給出一個長度為n的整數序列 a[0],a[1],a[2],...,a[n-1] ,再給定多組陣列下標範圍,求給定序列的逆序數。
輸入
多組測試資料(不超過10組),以EOF結尾。
每組測試資料第一行為陣列長度n,正整數,代表陣列長度,資料範圍為0<n<=10000
第二行為n個整數,為陣列
第三行為一個整數t,代表t次查詢,0<t<=1000
接下來t行,每行兩個數x,y,代表陣列下標區間,保證0<=x<=y<=n-1
輸出
對於每次查詢,輸出一行,每行一個數,代表所求逆序數。
具體參見樣例。
輸入樣例
5
4 8 4 0 0
3
0 4
2 4
0 2
輸出樣例
7
2
1
提示
使用時間複雜度為O(n2)O(n2) 的演算法會超時。
聯絡下歸併排序~
思路
相關推薦
A1-2017級演算法上機第一次練習賽 H 模式尋對
概念回顧 逆序對:數列a[0],a[1],a[2]…中的任意兩個數a[i],a[j], 如果i<j, 並且a[i]>a[j], 那麼我們就說這兩個數構成了一個逆序對。 逆序數:一個數列中逆序對的總數。 題目描述 輸入一個正整數n,隨後給
A1-2017級演算法上機第一次練習賽 D 水水的Horner Rule
題目描述 霍納(Horner)規則是一種將一元n次多項式的求值問題轉化為n個一次式的演算法。採用最小的乘法運算策略,用於求多項式A(x)=a0+a1x+a2x^2+...+an-1x^n-1+anx^n在x處的值,轉化為A(x)=a0+x(a1+x(a2+...+x(an-1+xan)···))。其虛擬碼如
A1-2017級演算法上機第一次練習賽 K 畫個圈圈詛咒你
題目描述 AlvinZH最近很慌,先是被宋老師一句 "和我們有關係嗎" 嚇的不行,然後又被原老師批判了一番 "害怕" ,小日子整天過的提心吊膽的,沒準兒這題就是你們做的AlvinZH的最後一題(不會的,後面還有一題)。 不安的AlvinZH只能通過畫圈圈詛咒那些威脅世界和平的人來安慰自己,他不是隨便的畫圈
A1-2017級演算法上機第一次練習賽 J 怠惰的園丁王木木
題目描述 Magry同學家裡請了一個怠惰的園丁王木木,主要工作就是除草,現在有高度為1,2,3...n的草,王木木很懶,想找到一種最簡單的方式把所有草全除光。 王木木每點體力可以將一根或者多根草減掉相同的任意高度,求王木木同學所消耗的最少的體力值。 輸入 多組測試資料。 每組輸入資料為一個正整數n,
A1-2017級演算法上機第一次練習賽 I jhljx學位運算
Problem Description jhljx在C++程式設計課程中學習了位運算這個高階的知識,現在他開始上演算法課,決定活學活用。。 位運算中異或是一個比較神奇的操作,有0^1=1,1^0=1,0^0=0,1^1=0。 於是jhljx給你了一個長度為n的陣列,讓你求出該陣列的某個子陣列(陣列中下
A1-2017級演算法上機第一次練習賽 M AlvinZH的兒時夢想——坦克篇
題目描述 AlvinZH兒時有很多夢想,這一次他想開坦克。小時候,他很喜歡看《舒克與貝塔》。 "貝塔貝塔,我是舒克,你的坦克呢?" "舒克舒克,我是貝塔,我的坦克不見了!" 原來是AlvinZH把貝塔的坦克開走了,秋名山車神上路了。擋在他面前的是一座城市,AlvinZH決定直線衝過去爽爽,但是又怕
A1-2017級演算法上機第一次練習賽 L Bamboo的OS實驗
題目描述 每週五Bamboo都要"戀戀不捨"的早退OS的上機實驗千里迢迢來看望大家上機 :) 於是第二天Bamboo就要著手趕OS的ddl。 是這樣,這次的OS實驗給了x個編號為1-30的命令(比如5個命令1 2 3 3 3 ),要求在小黑窗上自己應用。 假設Bamboo每1分鐘能完成一個命令,完成
A1-2017級演算法上機第一次練習賽 O AlvinZH的兒時夢想——運動員篇
題目描述 AlvinZH兒時有很多夢想,這一次他想成為一名運動員。他開始每天跑步,刻苦訓練。他報名參加了一個"奇怪"的跑步比賽,下面是比賽的"奇怪"規則: 參賽選手將在環形跑道的隨機位置出發。為了加快比賽程序,在比賽過程中,如果兩個人相遇,裁判將立即測定雙方耐力值,耐力值低的選手會被淘汰。當比賽人數為1時
A1-2017級演算法上機第一次練習賽 N Bamboo的餅乾
題目描述 深夜趕ddl的Bamboo已經非常飢餓了,而Bamboo的舍友還點了外賣。。。 有原則的Bamboo不想加入深夜增肥大軍,但還是翻箱倒櫃的找出了兩盒小餅乾。 這些小餅乾是充滿智慧的小餅乾,因為它們是0-9數字形狀的。 Bamboo用這些餅乾隨便擺了兩行數,然後突發奇想,從這兩組數中各取一個數
A1-2017級演算法第一次上機練習賽 C AlvinZH去圖書館
題目描述 AlvinZH最近在看《冰與火之歌》系列,這天,他又看完了一本書,於是決定去圖書館再借一本。大家知道,在去圖書館的路上,有一條"扯蛋路"。大概是這個樣子的(秀一波拍照技術): AlvinZH從第一塊石磚出發,接下來他可以走到第二塊石磚或第三塊石磚,有時候走的很不爽,甚至可以直接跨過兩個石磚,
2017級演算法第三次上機-B.SkyLee逛漫展
ALS 一道動態規劃最經典的題目 動態規劃實質上其實就是表格法,利用表格來記錄每個子問題的解。 DP所關注的其實是遞迴 即一個較小問題的解和一個較大問題的狀態轉移問題。 其次還要關注的其實還是是初始值的設立,這個決定了後續的遞推能否順利的進行。 還有要思考好dp陣列所代表的具體的含義 這樣在狀態轉移的
2017級演算法第三次上機-C.SkyLee組裝電腦
將兩條流水線的問題移植到n條流水線的問題,本質上的DP狀態轉移方程沒有太多變化。 兩個trick小技巧分享給大家: 在n個數中求最小值或者是最大值的情況下。可以採取n=max(n,x)的形式。 自己對memset函式的一點理解: memset函式的設定的是位元組層面的東西,而不是整個整數。 所以一般
2017級演算法第三次上機-F. SkyLee炒股票
這道題其實是股票系列的一道很經典的題目,即只可以買賣一次所帶來的最大收益。 題目給定的是每天相對於前一天的的收益,所以這道題可以簡化為連續n個數的最大值問題。 這道題的演算法有一點貪心的思想。就是設定curnum和maxnum從開始到末尾掃描,curnum不斷加加,同時利用curnum不斷更
2017級算法第一次上機-C.蕓茹的課堂測試
spa strlen \n color con col std for mes Horner Ruler 霍納規則沒什麽好說的 要註意的更多的還是細節的問題 取模運算 循環的邊界問題 #include <algorithm> #include <io
P3-2017級演算法第三次上機 B SkyLee逛漫展
題目描述 求陣列中數字xx所在的位置(保證陣列嚴格遞增) 輸入 多組資料輸入 第一行一個整數nn,為陣列元素個數(1<n<=1e6) 第二行nn個整數,為陣列元素 第三行一個整數,為請求查詢的次數tt(1<t<=1e6) 第四行tt個整數,分別為要求查詢的數字xx(保證陣
P3-2017級演算法第三次上機 A 水水的二分查詢
題目描述 求陣列中數字xx所在的位置(保證陣列嚴格遞增) 輸入 多組資料輸入 第一行一個整數nn,為陣列元素個數(1<n<=1e6) 第二行nn個整數,為陣列元素 第三行一個整數,為請求查詢的次數tt(1<t<=1e6) 第四行tt個整數,分別為要求查詢的數字xx(保證陣
2017級演算法第一次上機-C.芸茹的課堂測試
Horner Ruler 霍納規則沒什麼好說的 要注意的更多的還是細節的問題 取模運算 迴圈的邊界問題 #include <algorithm> #include <iostream> #include <cstring> using namesp
P1-2017級演算法第一次上機 A 水水的斐波那契數列
題目描述 相信大家都學過斐波那契數列,雖然很簡單,但是斐波那契數列卻是很重要的哦,那麼讓我們來複習一下斐波那契數列吧! 輸入 多組資料輸入 每行一個整數n (0<n<=30) 輸出 對於每組資料,輸出一行,為斐波那契數列第n 項的值 輸入樣例 1 2 3 4 輸出樣
2017級演算法第二次上機-A.ModricWang's Real QuickSort Query
其實這道題更多的是模擬題的感覺。按照題目給定的思路寫即可。C++ 可以直接使用STL裡面的sort。 #include <algorithm> #include <iostream> using namespace std; const int maxlen=1e6 + 10
2017級演算法第二次上機-B.女媧加農炮
這道題本質上還是最經典的優先佇列的使用的例題:合併果子。 借用這道題總結複習一下優先佇列。 優先佇列的標頭檔案:<queue> 升序佇列priority_queue <int,vector<int>,greater<int> > q;降序佇列priorit