Contest Record

Contest 1135 at HZOI

Problem A: 優美的棋
發現一個能夠證實的規律就是了……
忘記給<<運算的左邊變量轉化爲long long類型了,結果掛了20分……
之後必定記得<<運算不會由於右邊變量是long long類型而把運算改成long long類型啊……
並且也要記得測試大數據來查錯啊……
Problem B: 優美的樹
50分的dp很好想……而後就是優化了……
咱們知道,咱們的dp狀態數組能夠看作是一個離散的函數,而二維的狀態數組即可以看作是n個函數,因此若是這個函數有一些特性的話,那這個角度又是一種優化dp的方法.
在這道題裏,咱們的函數是下凸的,那麼其累加的話,便會獲得新的下凸函數,咱們只要能讓其在合法時間內累加,而且,處理好隨後的後綴min操做就行了,咱們考慮一種高效的維護方法——維護拐點與初值.咱們考慮到每個節點只會形成一個拐點,因此拐點總數是O(n)級別的,並且每一個拐點只會讓函數斜率加1,因此咱們只要用可並堆維護咱們的拐點,每次累加,合併兩個堆,然後綴min操做就能夠直接pop堆頂.
PS:出題人管這種方法叫"一類用函數去壓縮狀態的dp題".
Problem C: 優美的串
比較好的後綴自動機dp吧……考試的時候沒仔細分析就一頓碼,結果碼完才發現本身是錯的,幸虧碼的東西能夠做爲部分分,要否則就完犢子了……之後仍是要"Think twice,code once."
在這道題目中,打破了以往在設計dp狀態時潛移默化造成的意識——讓咱們的狀態記錄更多的信息.這道題裏,設計狀態的時候,着重強調了信息的實用性,以及對轉移的便利,同時還利用後綴自動機的最簡狀態自動機特性來減小狀態數,而且利用對於不合法狀態的分析來剪掉不合法狀態(在這裏須要提到的是,dfs尋找合法狀態比迭代尋找合法狀態要剪掉更多的不合法狀態).html

 

Contest 1133 at HZOI

Problem A: 遮天蔽日
數據水到爆……出題人的題解也是各類考慮不全……
大概就是須要求個均勻質量多邊形的重心,而後再一波操做……這波操做必定程度上須要思惟的嚴謹性.
關於求重心的方法:
多邊形的重心
求任意多邊形的重心
Problem B: 三元組
不管你是用manacher仍是迴文自動機,這題都挺水.
經過zzh瞭解了一發迴文自動機的新科技——CodeForces #932G.Palindrome Partition
Problem C: 最有價值
比較水的最小割,我發現咱們建圖的時候只要建圖符合最小割原則就沒有問題……算法

 

Contest 1132 at HZOI

Problem A: 區間第K小
數據分治60分……
感受已經不會作如今的數據結構題了……
思路是差分+總體二分,就是從一個離線的部分分的方法引出在線的100分作法,這種從部分分啓發方法是第一次見到誒……
不是很會總體二分,這是第一次知道總體二分是什麼意思……不過這種思想與方法也是很好的誒.
數據結構也須要增強了.
寫可持久化數據結構的時候,一次區間修改所形成的空間花費比一次單點修改所形成的空間話費要大得多.
經過觀察程序運行過程來進行優化與剪枝也是不錯的一種思路.
Problem B: 求和
看到這道題會想到反演,而後就有了60分.
考慮容斥,獲得式子之後利用一些數論函數的性質的到咱們須要杜教篩,利用通常杜教篩的思路進行有意識的構造就能夠了.
發現目前式子沒法繼續優化或推導的時候,能夠退一步海闊天空啊.還有,在實現的時候,有一些小的細節可能會給你的程序帶來意想不到的優化,雖然到如今我也不知道那個小細節爲何影響那麼大,再有就是能用整型就少用浮點數了,畢竟精度嘛.
Problem C: C
這題真是尼瑪吊.
做爲一隻苣蒻,只能想到10分作法……
首先,利用指望的線性性來分解指望,從而達到減少問題困難程度的目的.在這裏利用了指望的本質——它反映隨機變量平均取值的大小.
而後,燒腦一波來化簡狀態,同時獲得轉移方程.
最後,利用一種高科技來解這個方程——對於像這樣的方程,咱們能夠利用左邊的已知推導出全部狀態關於初始未知狀態的表達式,再利用右邊的已知列出小規模的線性方程組來解得初始未知狀態的答案,從而獲得全部狀態的答案.
燒腦題……數組

 

Contest 1131 at HZOI

仍然是數學專項測試……
Problem A: 猜拳遊戲
考試的時候覺得是水題,最後發現本身是錯的.
notes:
  I.利用改換定義來獲得式子,這能夠在「山重水複疑無路」的時候達到「柳暗花明又一村」的效果.
  II.分數規劃有妙用,在這道題裏利用他,能夠把機率轉化爲指望,感受好流弊啊~~~
  III.使用高斯消元的時候,經過觀察並利用矩陣特色來優化消元是一種常見的優化方法.
  IV.if的常數比max函數小多了啊……
  V.一般狀況下指望比機率要容易處理,因此把機率問題轉爲處理指望也就算的上是一種有效的優化了.
Problem B: inequ
TMD數據範圍和題面都不全!!!不過也是我沒有夢想……
數據範圍和題面若是是全的話,60分仍是很好拿的啊……
正解不會……看不懂題解……
分段打表大法吼~~~
Problem C: 生成樹
之前作過的題,忘記了……
因此說多項式+Matrix-Tree來進行有關生成樹的計數是一種套路,並且尤爲是在對邊有一些限制的時候,而後利用高斯消元來解係數就是這個套路的全部了……
並不會拉格朗日,只會高斯消元……數據結構

 

Contest 1130 at HZOI

又是一次數學專項測試……
Problem A: B
看一眼就是傻逼杜教篩,只不過只能拿到80分,不過度析一下,若是預處理前1e6的組合數就能夠過掉了……這個預處理其實動動腦子就能夠想到,仍是太菜……對於預處理的優化還有待研究啊.正解的方法好像不太同樣,還沒看……
Problem B: B君的回憶
思考一下就會發現須要向上推模數,打了個表發現有循環節,並且和p同階,因此考慮如何找循環節,我想到了BSGS,由於感受BSGS能夠解決這個問題(因此說BSGS只不過是一種分塊方法,不必定是去解那種方程的啊,像這種找循環節的題目也是蠻適合BSGS的嘛).可是這玩意只能拿到60分,不過若是你強力wqs一波,是能夠拿到80~100分的啊.正解是大力結論一波,個人BSGS作法固然是個部分分,在這個部分分的基礎上加上兩個結論,基本就能夠過了,再加上一個強力小結論,就能夠飛快了,若是把map改爲unordered_map,那就更快了哈.題解裏還給了一個結論,可是不知道有啥用……因此這道題就給了我一羣"知其然而不知其因此然"的結論……感受十分不爽,可是又沒有什麼辦法,畢竟人菜啊……不過這個東西彷佛能夠經過打表獲得,可是和普通的打表找規律不同的是,這個東西的規律自己就是分狀況的規律,再加上一個特判……還尼瑪有這種操做……
Problem C: sanrd
這題真是挺流弊的……
具體見ryf's NOI前的考試日誌中 4.22 T3.
就是畫柿子的能力與意識,其中有幾個比較好玩的技巧:
  I.把2xy變成(x+y)^2-x^2-y^2.
  II.若是關於i,知足k=i+j的k、j的乘積是咱們要求的值,那麼這也能夠fft.
  III.由簡到易、維數擴展、從新構造的思想. 函數

 

Contest 1129 at HZOI

(考完才發現這是數學專項測試……)
Problem A: 解方程
  打了個50分作法,結果因爲壓內存而翻車了……壓成1維的楊輝三角,必定要注意數組裏沒有空的地方啊……可是我若是打個對拍也就出來了……之後考試仍是儘可能打對拍吧,雖然有時候自信也不是錯.
  正解是容斥,首先你動一下腦子就會發現n2部分很智障,因此就能夠把n1往這個方向容斥了,固然求組合數須要exLucas(我才知道我之前就會的那個方法是exLucas……那個階乘看狀況處理).
  調試的時候,必定要注意隱式數組越界啊!!!
  我考試的時候彷佛連腦子都沒用動……
Problem B: 宇宙序列
  會了fwt就果斷50分了,可是因爲不會fwt,因此考試推了2.5h+才把這東西搞定……菜死算了……
  而後你會發現你能夠利用fwt的線性性來優化他,然而這並不會多一些分數……可是這會啓發你一件事——因爲咱們是對應位相乘,因此每一位都獨立的,因此咱們能夠單獨算每一位的,因而咱們的計算對象就從數組變爲了單個數字,這個時候,你會發現,咱們能夠倍增他,這在必定程度上利用了模意義以及模數很小,若是不是這樣的話彷佛不行?
  思想:優化算法(優化部分分也會有必定的啓發的嗎?)、fwt的線性性、倍增、利用題目性質——模數小.
Problem C: exp
  一道比較牛逼的指望機率dp.
  主要思想——指望機率(廢話)、環問題轉爲序列問題、倒序考慮問題(考慮最後一步)、區間dp的區間分割(分割爲獨立的兩個區間來轉移)、特判(尼瑪個人作法特判AC,不特判0分).
  主要是處理好dp的邊界,我仍是有一些邊界比較迷啊.測試

 

Contest 1128 at HZOI

考試的時候不是很專一,就直接GG了,仍是太菜了……
LOJ#6031.「雅禮集訓 2017 Day1」字符串
思想:數據分治、根號分類處理、觀察數據性質.
LOJ#6033.「雅禮集訓 2017 Day2」棋盤遊戲
一眼就是裸的二分圖博弈,可是因爲個人博弈論和匈牙利都太菜,因此我猜了半天結論才猜到結論,還打錯了……
考試的時候還想寫個暴力拍一下,結果因爲不專一打錯了個變量,並且有因爲後來太慌了,也沒有調出來……
菜死了……
LOJ#6032.「雅禮集訓 2017 Day2」水箱
考試沒怎麼想這道題,可是這題真的不難啊……
我一開始想到的是分治,可是不太會實現,看了題解,發現能夠打重構樹,因而最後就碼出來了一個樹形dp.
思想:重構樹.大數據

相關文章
相關標籤/搜索