憂傷地吐槽&記錄
沒錯,今天已經day5了,因為day4有點失敗,沒寫,大概就是這麼意思,t1寫的正解,t2線段樹,乙個小時可以搞出來的結果非得去寫第三題正解,還寫掛了只得了十分,初三的大佬20行**貪心得了八十,只是感到心累,t4單調棧也沒寫,才得了150/400,離大佬們的距離越來越遠,上去講了兩道題的題解,t1竟然歪打正著把正解yy出來了,乙個大佬表示早就知道這種演算法,我還以為這演算法是我原創的,t3dp方程yy出來後,用單調佇列搞,二分查詢複雜度控制在nlogn,結果gyk大佬一句話就點出了其中乙個致命錯誤,怪不得正解寫掛,調了太久沒發現這個錯誤,其實也只需要fenwick維護一下即可,總之該拿的分好多沒拿,再加上前一天的100分扔掉,離大佬們的差距越來越遠,感到深深絕望,出來的時候答應了各位大佬要發部落格,所以還是發一下吧
【問題描述】
tom 喜歡研究各類質數問題,有一天他用人腦生成了[l,r][l,r]的所有質 數,但他的記憶力不太好,以至於忘記了生成了多少個質數,你的任務就是幫他 統計他一共生成了多少個質數。
【輸入格式】
從檔案 prime.in 中輸入資料。
輸入第一行包含乙個正整數 t,表示資料組數。
接下來 t 行。
每行兩個整數 l,r 分別表示你需要的統計的區間大小。
【輸出格式】
輸出到檔案 prime.out 中。
輸出僅包含 t 行,每行乙個整數,為最終答案。
【樣例輸入】
2 1 10 55 77
【樣例輸出】
4 5
【資料規模與約定】
對於 30%的資料,1≤l,r≤103。
對於 60%的資料,1≤l,r≤106,r−l≤1000。
對於 100%的資料,1≤l,r≤109,r−l≤1000000,t≤10。
資訊學奧賽校際聯訓
第 3 頁 共 7 頁
【問題描述】
oier 們最近的旅遊計畫,是到長春淨月潭,享受那裡的湖光山色,以及明 媚的陽光。你作為整個旅遊的策劃者和負責人,選擇在潭邊的一家著名的旅館住 宿。這個巨大的旅館一共有 n (1 <= n <= 50000)間客房,它們在同一層樓中順次 一字排開,在任何乙個房間裡,只需要拉開窗簾,就能見到波光粼粼的潭面。 所有的旅遊者,都是一批批地來到旅館的服務台,希望能訂到 di (1 <= di <= n)間連續的房間。服務台的接待工作也很簡單:如果存在 r 滿足編號為 r..r+di-1 的房間均空著,他就將這一批顧客安排到這些房間入住;如果沒有滿足條件的 r, 他會道歉說沒有足夠的空房間,請顧客們另找一家賓館。如果有多個滿足條件的 r,服務員會選擇其中最小的乙個。 旅館中的退房服務也是批量進行的。每乙個退房請求由 2 個數字 xi、di 描 述,表示編號為 xi..xi+di-1 (1 <= xi <= n-di+1)房間中的客人全部離開。退房前, 請求退掉的房間中的一些,甚至是所有,可能本來就無人入住。 你的工作,就是寫乙個程式,幫服務員為旅客安排房間。你的程式一共需要 處理 m (1 <= m <=50000)個按輸入次序到來的住店或退房的請求。第乙個請求到 來前,旅店中所有房間都是空閒的。
【輸入格式】
從檔案 hotel.in 中輸入資料。
第 1 行: 2 個用空格隔開的整數:n、m 第 2..m+1 行: 第 i+1 描述了第 i 個請求,如果它是乙個訂房請求,則用 2 個 數字 1、di 描述,數字間用空格隔開;如果它是乙個退房請求,用 3 個以空格隔 開的數字 2、xi、di 描述。
【輸出格式】
輸出到檔案 hotel.out 中。
第 1..??行: 對於每個訂房請求,輸出 1 個獨佔 1 行的數字:如果請求能被 滿足,輸出滿足條件的最小的 r;如果請求無法被滿足,輸出 0。
【樣例輸入】
10 6 1 3 1 3 1 3
資訊學奧賽校際聯訓
第 4 頁 共 7 頁
1 3 2 5 5 1 6
【樣例輸出】
1 4 7 0 5
【資料規模與約定】
對於 20%的資料, 1<=n<=100,1<=m<=200
對於 100%的資料,1 <= n <= 50000 ,1 <= m <= 50000,資料有梯度。
資訊學奧賽校際聯訓
第 5 頁 共 7 頁
【問題描述】
oier 們都喜歡打電腦遊戲,但每個人玩遊戲的能力上也存在著巨大的差距。
oier 們被分成兩個遊戲戰隊,處於公平考慮,要盡量使這個分配方案平均。那
麼,在分配前,你要計算出分配方案中,兩個戰隊遊戲能力的最小的差距是多少。
【輸入格式】
從檔案 share.in 中輸入資料。
第一行:乙個數字 t,表示有 t 組測試點。
對於每個測試點
第一行是乙個整數 n,代表 oier 的總數。 第二行若干個正整數 ai,分別 代表每個 oier 的遊戲戰力。
【輸出格式】
輸出到檔案 share.out 中。
t 行,每行乙個整數,為兩個戰隊遊戲能力的最小的差距
【樣例輸入】
2 4
1 2 3 4
3 1 2 4
【樣例輸出】
0 1
資訊學奧賽校際聯訓
第 6 頁 共 7 頁
【資料規模與約定】
對於 10%的資料,n≤15 對於 30%的資料, n≤1000,∑ai≤105
對於 50%的資料,n≤100,000 對於 100%的資料,n≤106,∑ai≤106,t≤3
資訊學奧賽校際聯訓
第 7 頁 共 7 頁
【問題描述】
oier 們經過了幾個月努力的學習,教練決定讓 oier 們放假。假期可以在 1…n 天內任意選擇一段(需要連續),每一天都有乙個享受指數 w。但是 oier 們的要求非常苛刻,假期不能短於 p 天,否則 oier 們不能得到足夠的休息; 假期也不能超過 q 天,否則 oier 就會有荒廢學業的危險。我們想知道 oier 們能獲得的最大享受指數。
【輸入格式】
從檔案 holiday.in 中輸入資料。
第一行:n,p,q. 第二行:n 個數字,中間用乙個空格隔開。
【輸出格式】
輸出到檔案 holiday.out 中。
乙個整數,oier 們能獲得的最大享受指數。
【樣例輸入】
5 2 4 -9 -4 -3 8 -6
【樣例輸出】
5 【資料規模與約定】
對於 50%的資料,1=
#include
#include
#include
#include
#define maxn 1000000+10
bool inp[maxn];
using
namespace
std;
int l,r,t;
int cnt(int l, int r)
if(l<=1)inp[1-l]=1;
if(l<=2)inp[2-l]=0;
int num=0;
for(i=0;iif(!inp[i]) num++;
return num;
}int main()
return
0;}
t3寫掛的資料結構優化dp
#include
#include
#include
#include
#define maxn 1000000+10
using namespace std;
int a[maxn],dp[maxn],q[maxn],cnt[maxn],head,tail,t,n;
inline int readin()
int find(int l,int r,double num)
int main()
printf("%d\n",dp[n]-(cnt[n]-dp[n]));
}return
0;}
t4的暴力
#include
#include
#include
#define maxn 1000000
#define minn 100
using
namespace
std;
int a[maxn];
int maxn=-100000000;
int cnt[maxn],n,p,q;
inline
int readin()
int main()
}printf("%d",maxn);
return
0;}
湖南集訓Day4
上午的數論感覺還可以,嗯,感覺。因為畢竟我數學弱,只聽懂一半什麼的,感覺證明還是比較顯然的。話說這金牌爺長得好像我某物理老師啊 下午的題終於不是clj出的了,沒辣麼虐了。第一題疑似回文自動機,然而並不會,於是dp水了60分。第二題想了下應該是樹鏈剖分,然後發現搞不出來,回去水第一題,然後水完回來繼續...
福州集訓DAY4
上午講的數論我基本都會 但是題目都不會做啊 有這些注意點 c 中的模運算和通常意義上的mod模運算是不一樣的。c 中 運算保留符號,也就是負數取模之後還是負數。但是通常意義上的mod運算得到的結果都是自然數。c 的 並不是向下取整,而是向0取整。先把符號去掉,再向下取整,再添上符號 原根的概念和用法...
雅禮集訓Day4
今天炸的1p。t1,給你100次詢問,每次l,r,選 l,r 中的若干數進行異或,求有多少種結果,1 l r 1e18.做法 暴力很顯然是將l,r這些數加入線性基,然後算一下線性基里有多少個數。我們可以考慮線性基的每一位最早在多久被加入。這個就可以看l了,它二進位制的最高位很顯然是一開始就加入線性基...