如你所見,b組題,除了nc亂入直奔t2搶了我乙個首殺以外a層學過fft的人都沒有參加。
競爭壓力很小,題又簡單,所以就造就了6個ak。
然而並不計入總分,我仍然穩在第二機房。
t1lyl16分鐘切掉我也是佩服,我沒看資料範圍打錯複雜度(多了個二分)23分鐘碼完,t30。
思路都不是很毒瘤,**也很好打,加起來都沒有2k。
47分鐘時乾掉t3後我覺得差不多ak了,去廁所聽到隔壁聽講fft的聲音,有些難過。
回來之後開啟題庫翻看fft的題目看了半個小時左右。
然後自覺無聊,重新算了一下t1複雜度發現會被卡,改了。
過了一會,教練叫我去隔壁聽了一會講。。。
因為t1的失手導致了少聽了33分鐘的課。。。吸取教訓
一定要認真算好複雜度再開始打。
t1:x國的軍隊
考慮貪心並逆推。把b陣列都減去a陣列的量表示戰後至少剩下多少人。
考慮每個任務放進優先佇列裡,只要戰後剩餘人數足夠就繼續,否則就補人。
1 #include2 #include3view codeusing
namespace
std;
4 priority_queueint,int>,vectorint,int> >,greaterint,int> > >q;
5int a[100005],b[100005];6
intread()
12int
main()
22 printf("
%lld\n
",ex+tot);23}
24 }
t2:排列組合
考慮式子的實際含義,把每一項的第二個組合數改寫一下就是$\sum\limits_^c_n^i c_n^$
那麼就是在2n個物品裡選n個的全部可能。
陣列開2倍。肯定有人出鍋了。
1 #include2view code#define int long long
3#define mod 1000000007
4int fac[2000005],invv[2000005],inv[2000005];5
main()
t3:回文
發現串長很小,準備亂搞。
可以s2處理所有回文串。暴力即可。記錄每乙個回文串的兩端點。
每次詢問就是求有多少個回文串左端點比l大右端點比r小。
普通的二維偏序,值域只有5000*5000,樹狀陣列解決。
1 #include2view codeint l,t[5005][5005];char s[5005];3
void add(int x,int y)
4int ask(int x,int y,int a=0)
5int
main()
考試反思 1114csp s模擬測試115 零遲
最後一次了,允許自己混進榜裡吧。沒有心態,原題不會做 真的忘了 t2的搜尋沒有分。零 遲 酷刑 只有在最後的時刻才開始意識到,一切的一切都已經晚了。就在眼前了。沒有機會了。退役,告別oi,粉碎夢想,這,就是最嚴苛的酷刑。生存,生存!hzoi2018!所有人!一年走來,我們還要繼續走下去!csp s,...
考試反思 1112csp s模擬測試111 二重
還是ak場。考前信心賽?而且t3的部分分還放反了所有80的都其實只有50。總算在ak場真正ak了一次。手感好,整場考試很順利。要不是因為t3是原題可能就沒這麼好看了。20mint1,50mint2,去趟廁所回來70min想到t3,110min寫完調完對拍完,然後去學skyh寫平衡樹了。然後我發現我不...
考試反思 1110csp s模擬測試108 消遣
是套廢題。t1題面錯了,t2細節多而暴力 部分分,t3題目錯了。t1 打表 題面應該是輸出差值期望而不是答案值期望。看到題目,果斷打表。答案就是所有值差之和除2的k次方。1 include2 int k,a 333333 long long ans 3int main view code t2 蛇 ...