1. 程式人生 > >【ReView】 學習日誌 from18/11/24 to now

【ReView】 學習日誌 from18/11/24 to now

father $2 模板 P20 排列 努力 pts 錯題 無效

### 日誌持續至:

- 訂正NOIP提高組全部可做題目

- 通過洛谷提高試煉場

開始嘗試自己做dp...$P1220$關路燈,好不容易把模型建起來框架寫起來,代碼一個i寫成j調了兩個小時...後來才發現....(交代碼三次沒註釋freopen...)[查看代碼](https://www.luogu.org/paste/j7jms48w)

## 2019/1/28

自閉了對於$P1084$疫情控制,我花了半天時間建模,自認為是一個還是不錯的模型,可是不光代碼寫了一個小時,而且改小BUG改了近10個,一個一個對著數據手玩過來,然後大數據還是WA,自己的代碼拿了50pts(裸奔),查不出錯去看題解,題解貪心的方式始終感覺有點問題卻不能hack掉,然後hack我自己的也不能hack掉,貪心方式改成題解的還是WA,拿了60pts(O3),可能有什麽小地方寫掛了,始終調不出來...... [查看代碼$50$](https://www.luogu.org/paste/8cibg1g1) $/$ [查看代碼$60$](https://www.luogu.org/paste/7ccuic5a)

白天調到黑夜,經過慎重考慮,放棄該題...期間調了一下以前寫錯的LCA題目倒是直接找到錯了...

## 2019/1/27

回家的第一天,什麽事也不想幹就讓自己頹了一天,先寫掉了一個離散化處理過河$P1502$,有點搞笑不斷RE,真的不是很熟悉離散,沒考慮到很多東西[查看代碼](https://www.luogu.org/paste/2g77khi2)

然後找到蒟蒻的圖原題$P2746$了,一直想寫一遍$tarjan$,然後靠記憶碼人生第一個$tarjan$求強聯通分量,掛了,簡單查了一下寫出來了[查看代碼](https://www.luogu.org/paste/0vmo4gnq)

接著去寫圖論題$P3119$,縮點+跑最長路,WA了兩次,一次是$dijkstra$在跑最長路時不可標記,改寫$SPFA$還是WA,原來是少考慮了一號節點不往前走直接後退的特殊情況[查看代碼](https://www.luogu.org/paste/8w8uaxc1)

最後寫掉了一道DP小水題,通過普及試煉場多維DP,打開更有技巧的DP發現都做了...通過...通過提高試煉場強聯通分量

接下來兩天完成$NOIP2011$~$2015$除華容道全部題目吧~大部分也寫掉了

## //2019/1/20

智推5藍,頹廢告辭,期末考試,感覺不妙

## //2019/1/19

不停測試lower_bound,好難用啊!

手玩了了不少樣例,不停的調給我調處來了,對拍器瘋狂跳沒有差別的時候挺開心的,$P1393$這道題的n上限是$50,000$,m上限是n/2。而$P3157$的數據量是他的兩倍,而且後者輸入的是刪除數的權值不是位置要離散,分塊前一題是水過了,後面的題開始調塊的SIZE卡時限,最後卡到90分,最後一個測試點下下來測了一下1.2s,優化不了了,開O2屈辱過(這篇代碼和上一篇可能是千差萬別了)[查看代碼](https://www.luogu.org/paste/0gwzlmm1)
$/$

沒什麽用的咕值一直在$rank1k$左右浮動,明天又要掉了,翻了下日誌原來分塊在一個月以前就想動手做了嗎?

誒 P3469 $int*int$ 把int爆掉了,加開longlong無效,一怒之下把所有的int改成longlong就過了...[查看代碼](https://www.luogu.org/paste/tjwthidf)

附: 學會了markdown寫公式 $\color{green}\sum_{i=1}^{n} \sum_{j=1}^{m} x_{i}^{y_{j}^i}+\frac{NOIP}{RP++} $


## //2019/1/13

先是研究了一下markdown,還是不怎麽會,然後去逛了一下wordpress,想買個域名?之前說要把博客搬到博客園現在也沒搬也就不搬了,然後去寫樹上差分的筆記了,發現忘記帖開車旅行的博客了現在貼也不要緊,然後去把這篇文章裏掛掉的鏈接都修復了一下/換了個頭像感覺極好/開始寫題/下周就期末考試了就不寫題了/ [ 查看博客 ](https://heydarling.blog.luogu.org/post-zong-jie-ci-fen-ji-xiang-guan-ying-yong) $/$ [查看博客](https://heydarling.blog.luogu.org/post-ti-xie-noip2012-post)

然後回頭看了一遍$tarjan$的求強聯通分量感覺也不那麽晦澀難懂了,以後就不用$kosarajo$了,然後順便把tarjan的無向圖求割點的模板給寫掉了,感覺可以做一點割點的題目[查看代碼](https://www.luogu.org/paste/t8ozhac2)

研究了一點離散化感覺挺好的...然後去寫分塊題目動態逆序對,第一次寫暴力數據結構寫的比較慢今天也沒調出來寫了一大堆偽代碼,下周回來調幾個小時應該就出來了[查看代碼](https://www.luogu.org/paste/czy3cxdl )

## //2019/1/8

在學校機房切掉了P1351和P1516,一個是樹的遍歷的水題,可先是被菊花圖卡爆了時間,然後又被菊花圖子節點權值和卡爆了int,讀了讀EXGCD終於能完全理解了就把1516做掉了...[查看代碼](https://www.luogu.org/paste/wrox5xyy) $/$ [查看代碼](https://www.luogu.org/paste/2ahqzjgz)

## //2019/1/6

做了一個NOIP1998進制位,一看內容感覺和蟲食算差不多?題目居然沒有求多解判斷情況,$n<=9$,大膽推測搜索不需要叠代,對於進制只可能是n-1,手推了一下是正確的,打個O(2n)全排列過掉了,WA了一次因為沒寫輸出ERROR...閉著眼睛交[查看代碼](https://www.luogu.org/paste/ekceldjd)

去做了$NOIP2015D2T3$,求LCA...也不熟悉了,板子打爆了,用自己的方法求路徑和給我寫WA了也沒調出來,乖乖用樹上前綴和....

題面很簡單...但我確實沒寫過樹上二分,我知道要找的肯定是類似於公共邊的東西...然後yy了一些類似枚舉法的東西復雜度和實現難度太大給我放棄了,然後就去學了一波樹上差分求公共邊非常有收獲...[查看代碼](https://www.luogu.org/paste/qfxn361s)

自己打WA的方法沒調出來....而且一直做NOIP題所以日推天天推小凱的疑惑.....順手寫掉了不貼代碼....

## //2019/1/1

註冊了一個博客園賬號,有空給內容搬個家

看了一下$NOIP2018D1T1$,發現這貪心有點奇怪確實正確的...

去寫了$NOIP2011D2T3$,是一個大貪心,貪心是好想的,對於任何一個乘客,他到目的地的等待時間其實是卡死的..對他有有影響的往往只有一小段區間...或只有一個車站...然後只要統計一下每個車站用加速器可以影響到的乘客總數然後貪心就可以了...

問題是有些到達以後無需等待的車站在前方使用了加速器以後變為需要等待了,這是一個動態的!

然後在想什麽數據結構可以維護這個狀態,然後就自閉了...因為在$k<=1,000,000 n<=1,000$下我不可能寫$O(k^{n})$,和$O(n^3)$沒有本質區別,就是大暴力

當然或許加一點常數優化可以過?想了想常數優化然後沒寫看題解去了...結果第三篇的思路和我一模一樣而且就是$O(k^n)$...並且沒有任何常數優化....借鑒了一下區間處理的細節交上去最慢的點都只跑了100ms[查看代碼](https://www.luogu.org/paste/rktiq0dx)

## //2018/12/25

發現倍增和樹狀數組都沒有寫掛倒是內容判斷寫掛了,而且最後還被卡了常數?心態難受,更新到V1.2就AC了(不想改常數
[查看代碼](https://www.luogu.org/paste/kk1xf5g2)

後記:....原來是我暴力枚舉被卡了.....不過我的暴力常數不是很大加個優化就過了....

## //2018/12/22

恢復狀態開始學習,休息期算是完了,翻了幾篇遊記,然後把我的隱藏了

起早切了一道最大字段和,居然沒思路!翻了一眼題解....原來最大字段和還可以用DP做....雖然簡單題目要簡單做簡單做不了就套一個算法上去也不是不可以[查看代碼](https://www.luogu.org/paste/kqdionxm)

事後發現這是我一道**沒加using namespace stdAC**的題...

本來想切掉NOIP開車旅行然後去練分塊來著,結果遇到了兩個月以來第一次調不出來的情況,元旦回來接著改,畢竟手碼了3.6k的代碼要好好調一下[查看代碼](https://www.luogu.org/paste/8iqldb9e)

本來有一段簡單的解題思路來著,復制黏貼到題解裏提交居然過了就刪掉了貼文章[查看博客](https://heydarling.blog.luogu.org/post-ti-xie-noip2012-post)

## //2018/12/18

記一下提交3952題解寫成3592了....

後記:第一篇沒過的題解...

## //2018/12/17

微機課順手把昨天沒寫完的強連通分量裸題P3387切掉了,太久沒敲板子導致有點生疏,縮點的$s[point[i]].push_back(point[e])$寫成了$s[i].push_back(e)$,交了居然還拿到了40分,第二次交因為忘記註釋freopen分數歸零了 [查看代碼](https://www.luogu.org/paste/mlgyd9t8)

## //2018/12/16

做了道題放松一下....

歷史遺留的題目P1196並查集,看完樣例簡單模擬了一下,只要維護兩個數據就OK了,一個是在戰艦x頂端的戰艦數量,一個並查集內數據總量,每一次合並時實際上是合並i,j的father,而接到別人後邊的頂端數量為另一個集合的戰艦數,任何一個在原集合裏的頂端數量的維護只要再加上這個數就ok了科科,同理另一個集合只要數量要更新,最終的根頂端數量肯定是為0的,輸出就簡單多了,直接調用頂端數量相減就ok了,第一次寫有點呵呵,想著不會爆0吧就交上去了...AC了...看了看題解原來叫帶權並查集 [查看代碼](https://www.luogu.org/paste/rabpit7e)

月考真的很差,感覺文化課不在狀態,每周回來寫一道題對明年比賽也是杯水車薪,不過感覺OI狀態還行?因為已經很久沒有為了找BUG而煩了,寫簡單的藍題多是一遍碼過...

再次測試了讀入輸出,和汝佳說的不太一樣我本地並沒有優化到2/3只有1/2的感覺,記錄一下因為太久沒寫scanf而忘記加取地址了......然後被一道樹狀數組卡住了,P1972,看了一下離線才開始能寫。看到請復習這道題[查看代碼](https://www.luogu.org/paste/6labf220)

## //2018/12/9

一覺醒來紅名了!難道luogu看到了我的努力?所以要保住紅名就要做題!下午也是去學校前寫了一直想寫的大模擬時間復雜度!一直沒有調試模擬的耐心,這次好好調了一回爽了一下,第一次提交過了9個點,下了一個點看了一下為什麽錯了發現正確性出了大錯誤!然後開始調特判調了一個多小時....第二遍AC,3k的碼量,貌似占下遊了[查看代碼](https://www.luogu.org/paste/l9dlw807)

這麽好的題怎麽能不寫題解[查看博客](https://heydarling.blog.luogu.org/post-ti-xie-p3952-shi-jian-fu-za-du)

## //2018/12/2

下午去學校前寫了個奶酪,一口氣寫完然後一測50分,就這樣找了兩個小時的錯,之後發現是輸入數據裏面含有負數可是讀優沒有寫負數處理,這是第一次遇到讀優出鍋:< [查看代碼](https://www.luogu.org/paste/xnz22wwn)

## //2018/12/1

寫了個道簡單路徑的搜索,P1535動蕩的奶牛,簡單寫了下加了個剪枝,如果不是標簽有搜索我覺得應該是DP...這個數據範圍就是給寫搜索的,然後交上去第7個點被卡了,卡常數我就不修改了,於是加個O3 [查看代碼](https://www.luogu.org/paste/dz3h0uft)

做掉了P1119,感覺完全不會寫Floyd,而且要保證正確要將k點放在第一層循環?寫了一半發現正確性錯了,沒辦法先交一遍,然後T了6個點,再開個O3試試?沒想到就A了...跑去寫第二遍,隨便看看發現有一個地方理解錯了,然後改了一個變量就A了,效率是前面一段代碼的10倍..... [查看代碼](https://www.luogu.org/paste/awlcd2ps)

學到了一點就是floyd求最短路只要不把某點放第三層循環那麽這個圖裏他等同於不存在的.....

隨機跳題寫了個P2798,感覺還是很好做的,只是一些簡單的圖論,然後開討論一看雙倍經驗?跑到P2323去寫了寫,居然...因為它輸入太坑導致我直接爆0了,m要減一後才能使用.....[查看代碼](https://www.luogu.org/paste/t7m6wzix)

寫寫P2798題解好了,在家大部分時間是在摸~做題效率極其低下![查看博客](https://heydarling.blog.luogu.org/post-ti-xie-p2798-bao-tan-nve-chang)

想瞬切P1325然後不僅失敗了還沒想出正解

## //2018/11/30

在學校閑的時候想了很多東西,比如說要不要堅持寫博客啊,以後要怎麽發展啊,怎麽進行學習啊之類的問題。研究了一下我還是決定NOIP2019前先用著洛谷,畢竟各方面服務都比較全,逛了一下BZOJ和POJ實際上是不適合我的,洛谷也有CF,UVa和USACO的題目看紫書藍書的時候還是可以做習題測評的,然後想了一下要不要遷出去寫博客,想想還是算了,因為一是我沒有搭建和維護網站的能力也沒有相關事件去學習(暫時),二是我寫博客目的也不追求瀏覽量畢竟並沒有多強,只是記錄一下(因為我發現寫這種沒有什麽實際的東西反而可以成為我學習下去的動力之一),所以想到什麽東西都寫一下,畢竟打字比寫代碼快多了。

然後從今天開始博客就盡量不說廢話好了orz,順便吐槽一下信息學奧賽一本通寫的是真的爛x

看洛谷白色背景不爽做了張背景,想去剪個K-ON的MAD但是掙紮了一下還是推到寒假去做好了

先寫了個二位差分的博客雖然實際上我並沒有做到二維差分的題目... [查看博客](https://heydarling.blog.luogu.org/post-zong-jie-ci-fen-ji-xiang-guan-ying-yong)

## //2018/11/25

就從今天開始整理代碼風格吧!

先花了點時間整理了一下博客,然後寫了一遍D1T2,結束後的第一題~因為這十幾天來對正解的耳濡目染所以就直接開始寫完全背包,很久沒碰代碼碼力很低所以寫錯了一個細節還查了挺久的,不過題目還是一遍過掉了,話說終於理解考試的時候為什麽理解錯題目了,原題寫的是對於一個x都有n個t[i]使得x能夠表示而我理解的是對於x會有某一個a[i]與t[i]相乘使得x被表達 [查看代碼](https://www.luogu.org/paste/hkxglgk2)

拿P2921測了一下讀入優化,想想看看了那麽多篇題解沒用過但也不知道看過多少遍了就自己手打了一份,然後發現讀100k個int居然比scanf慢了100ms!趕緊找了一份標準讀入優化,成功比scanf快了10ms...不過總算可以寫讀優了w

然後開始碼了試機時發下來的T1,HNOI2003操作系統,說來慚愧這題試機前試機時試機後不知道看過幾遍題面了都沒有成功做出來,隱隱約約的思路總是抓不住,所以翻題解有一種就差一點點的感覺....和上方的D1T2挺相似的.....剛寫的快讀在這題不能用XD[查看代碼](https://www.luogu.org/paste/jbq83fno)

說實話今天還是不是很想做題的,在學校待了那麽久回家人都懵逼了.....

寫篇題解好了,兩天前上某節無聊的課把一個一直不理解的題目自己研究出來了[查看博客](https://heydarling.blog.luogu.org/post-ti-xie-poj1236-di-tu)

今天是寫日記的第一天?

【ReView】 學習日誌 from18/11/24 to now