P2-2017級演算法第二次上機 G 陣列優美和值
題目描述
給定一個數組a,一位不願透露姓名的帥氣(至少名字帥)的同學想要詢問滿足i≤j 且L≤a[i]+a[i+1]+...+a[j]≤R 的點對 (i,j) 的數量。
考點為第一次上機C、H題知識點的綜合(字首和+歸併排序)。
輸入
第一個數為資料組數T,每組資料兩行。
第一行為整數n, L, R,表示序列長度,L,R;
接下來一行為空格分隔的n個整數。
1≤T≤5.
1≤n≤1e6.
0≤a[i]≤1000.
0≤L,R≤1e9.
輸出
對於每組資料,輸出一行,點對的數量
輸入樣例
1
3 1 2
2 1 1
輸出樣例
4
HINT
樣例4組分別為(1, 1), (2, 2), (3, 3), (2, 3)
思路
一個區間[l, r]的和,可以表示成sum[r] – sum[l – 1],sum為字首和陣列。所以即為上次上機CH題。做一遍字首和,陣列第一項新增一個0,複製一遍上次上機H題程式碼即可。
參考程式碼
相關推薦
P2-2017級演算法第二次上機 G 陣列優美和值
題目描述 給定一個數組a,一位不願透露姓名的帥氣(至少名字帥)的同學想要詢問滿足i≤j 且L≤a[i]+a[i+1]+...+a[j]≤R 的點對 (i,j) 的數量。 考點為第一次上機C、H題知識點的綜合(字首和+歸併排序)。 輸入 第一個數為資料組數T,每組資料兩行。 第一行為整數n, L, R
P2-2017級演算法第二次上機 A ModricWang's Real QuickSort Query
題目描述 羊瑞大佬說:"現在的年輕人啊,寫個快排都能寫錯,比如那個辣雞的ModricWang"覺得他說的情況是真的,決定幫自己複習一下快排的寫法。 快排的一個基礎操作就是劃分(partition),就是將當前的陣列分為前後兩個部分。 一種較為經典的partition方法是,將陣列中處於中間位置(注意,只
P2-2017級演算法第二次上機 B 女媧加農炮
題目描述 (請不要帶著科學的視角去看待題幹故事,因為這本來就是以遊戲為背景的) 女媧加農炮是中國陣營的專屬T3戰車單位。這種裝備了250mm口徑核裂變重磅炮的鋼鐵巨獸是一種極為恐怖的屠戮機器,常常被安置在中國大批機械化部隊的最前端,形成一堵堅不可摧、勢不可擋的鋼鐵長城。 表面上女媧加農炮是由東北重工集團
P2-2017級演算法第二次上機 C 第k順序統計量
題目描述 給定3個整數A, B, C, 和陣列第一個數a[1]。陣列a由如下方式得到。詢問a中第k小的數是多少。 for(int i = 2; i <= 3000000; ++i) a[i] = ((1LL * a[i - 1] * A ^ B) + C) % 1000000007; 輸入
P2-2017級演算法第二次上機 D 天秤的煩惱
題目描述 天秤是厄普西隆陣營的實際統治者——尤里大人的掌上明珠。從為數不多的情報上來看,天秤堪稱厄普西隆陣營中擁有最強心靈力量的人。然而那些犧牲了多名情報人員換來的情報似乎暗示,出於某些自身的原因,她並不能運用自己的心靈力量去穩定地控制目標。 事實上,天秤的脊柱上被永久固定了一個名為CAS的系統,以防止天
P2-2017級演算法第二次上機 F 女媧加農炮II
題目描述 (請不要帶著科學的視角去看待題幹故事,因為這本來就是以遊戲為背景的) 女媧加農炮是中國陣營的專屬T3戰車單位。這種裝備了250mm口徑核裂變重磅炮的鋼鐵巨獸是一種極為恐怖的屠戮機器,常常被安置在中國大批機械化部隊的最前端,形成一堵堅不可摧、勢不可擋的鋼鐵長城。 表面上女媧加農炮是由東北重工集團
P2-2017級演算法第二次上機 E SkyLee的圖書整理
題目描述 SkyLee在圖書館幫忙整理圖書,同學們在借閱時都比較隨意,導致SkyLee面前有一堆順序混亂的書。 圖書館管理員要求SkyLee整理出某本書的個數,可是面對這麼多的書,SkyLee實在不知道如何下手,聰明的你能幫幫他麼? 輸入 多組資料輸入 第一行兩個數字,分別為書的總數量nn,查詢次數
P2-2017級演算法第二次上機 I 堆積糖果
題目描述 本題作為補充介紹的題目(附加題),大家有興趣有時間再來研究這道題,如果完成前面所有題目即使沒完成這道題目也可以保證滿分,即使有800分的人。 昕教留有n*m個抽屜的櫃子,n⋆m≤1000000。昕教的女朋友(莫不是ljh)要往這個櫃子裡放T次糖果T≤1000000,每次會在所有滿足 x1≤x≤x
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
2017級演算法第二次上機-E.SkyLee的圖書整理
這道題考察了map函式的使用,map最簡單的理解就是把一個數對映到一個數。然後使用map也類似hash陣列的方法即可 map的標頭檔案是<map> map<int,int> 將一個數對映到一個數 #include <algorithm> #includ
2017級演算法第二次上機-C.芸如的入學測試
這道題考察的實際就是一個簡單的字首和問題。值的注意的還是取模的問題。兩個數取模,以防萬一,出現對負數取模的問題 可以先加上mod然後再對mod取模。 能long long就不int #include <algorithm> #include <iostream> using
2017級演算法第一次上機-C.芸茹的課堂測試
Horner Ruler 霍納規則沒什麼好說的 要注意的更多的還是細節的問題 取模運算 迴圈的邊界問題 #include <algorithm> #include <iostream> #include <cstring> using namesp
P1-2017級演算法第一次上機 A 水水的斐波那契數列
題目描述 相信大家都學過斐波那契數列,雖然很簡單,但是斐波那契數列卻是很重要的哦,那麼讓我們來複習一下斐波那契數列吧! 輸入 多組資料輸入 每行一個整數n (0<n<=30) 輸出 對於每組資料,輸出一行,為斐波那契數列第n 項的值 輸入樣例 1 2 3 4 輸出樣
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不斷更
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只能通過畫圈圈詛咒那些威脅世界和平的人來安慰自己,他不是隨便的畫圈