原创 【題解】洛谷P2331 最大子矩陣(dp 前綴和)

對於m=1與m=2的情況分開單獨處理,m=2注意有4種不同的狀態 https://www.luogu.org/blog/ttt-ttt/solution-p2331 #include<cstdio> #include<iostream>

原创 萌彩T1

 

原创 【題解】洛谷P2354 [NOI2014] 隨機數生成器(貪心 模擬)

題面很長 但這道題最大的難度在於貪心和卡常 前面一大堆隨機數怎麼搞出來完全可以直接模擬,注意該long long該取模的地方要做到。然後我們就到了字典序最小的那一部分。這裏我們可以設兩個數組L[x]與R[x],代表第x行最左邊能取第幾列、

原创 【題解】洛谷P2323 公路修建問題(生成樹)

概括一下 就是最小生成樹問題對於連接兩個點的一條邊都可以選擇兩個權值(一級 二級),一級權值>=二級,要求必須選至少k條一級公路(因爲一級權值始終比二級全職大,所以我們就選k條一級公路),求這樣構建出來的最小生成樹最長的一條大小與選擇第幾

原创 【題解】洛谷P2731 騎馬修柵欄(歐拉回路)

https://www.luogu.org/blog/zbzhz111/ou-la-hui-lu-yu-ou-la-lu-jing 這裏有詳細的歐拉回路解釋 mark一下 noip複習用。  

原创 【題解】洛谷P1435 迴文子串(區間dp)

IOI 2000的題目 實際上是一道區間dp 我們設dp[i][j]代表字符串中第i個字符到第j個字符得到迴文串需要添加的字符數,初始化dp[i][i]爲0。這裏注意還應該初始化dp[i][i+1],如果s[i]==s[i+1]那麼dp[

原创 【題解】洛谷P3388 割點(模板)

https://www.luogu.org/blog/user15232/solution-p3388 mark一下 noip複習時使用

原创 【題解】洛谷P1262 間諜網絡(強聯通分量 縮點)

強聯通分量縮點的類似模板題(霧) 觀察題目我們可以用tarjan的縮點來解決,首先我們以每個受到賄賂且沒被打上時間戳過的人爲起點進行tarjan縮點操作,這裏順道記錄下在這個縮點的強聯通分量中的賄賂最小值(因爲賄賂一個人就可以將這裏一鍋端

原创 【題解】洛谷P1886 滑動窗口(單調隊列)

(之前從未聽說過這道題目 來到qbxt後大佬們都早就切掉此題了 倍感慚愧qwq) 題目大意就是給定一個序列A與要求的長度k,讓我們輸出A中所有長度爲k的區間的最大值和最小值。 看到數據範圍後我們發現暴力會炸掉,所以要考慮比較簡潔的方法。這

原创 【題解】洛谷P3946 小鳥的點心(spfa)

稍微思考可以發現這道題目是最短路問題,但我們有一些特殊的情況需要考慮。 當積雪增長速度q=0時,我們設每個點雪漲到無法通行的位置的時間(因爲南小鳥的速度是1m/s 實際上路程在數值上就是時間了)是最大值INF(因爲雪不能漲了嘛),否則用(

原创 【題解】洛谷P3879 閱讀理解(trie樹)

新學了字典樹算法,這個可以算是一個模板吧 在有n個單詞的字典中 對m個單詞詢問是否在此字典裏。對於這個問題,我們可以通過構建字典樹來解決。 trie樹的思路就是對於n個單詞,我們開一個數組to[maxn][26],代表編號爲maxn、字母

原创 【題解】洛谷P2678 跳石頭(二分)

1-1e9二分答案,設其爲最短距離。判斷如果該距離可以就向上二分(單調遞增,求最大值),注意判斷mid+1可以避免邊界問題。 判斷函數統計移走石頭個數,如果相鄰石頭之間距離比要的最短距離還小就移走。移走石頭個數小於M就返回true #i

原创 【題解】洛谷P3959 寶藏(生成樹 隨機化)

一開始可能大部分人的想法是這是個最小生成樹問題,用prim就能解決,然而實際上可以發現由於有倍數與深度的限制,這種算法是不一定正確的。那該怎麼辦呢?我們只需要在找最小點之前做一下判斷,用隨機數取模,保證其有很小的概率取出來的是次小、更小的

原创 【題解】洛谷P3953 逛公園(最短路 動態規劃)

NOIP2017最難的題目。。。 這裏給一種比較方便理解的做法。 拿到這個題目,啥也不用想,首先得把最短路求出來。然而求最短路時我們要反着建圖,也就是求出n到其他所有點的最短路。爲什麼這樣做呢?因爲這樣可以避免正向某個點無法到達n點的情況

原创 對拍的方法

當我們寫出一個解決某個問題的高端算法後不清楚自己寫的是否正確,而我們又能想到一種暴力做法,這個時候我們可以讓兩個程序對拍,判斷自己寫的是否正確。 這裏我們以洛谷P2152 SuperGCD爲例,當我們寫出了高精的做法又不敢確定是否寫對時,