原创 【題解】LuoGu4568:[JLOI2011]飛行路線

原題傳送門 很妙的套路,分層圖 跟以前的一道題目比較比較 建立(k+1)(k+1)(k+1)層圖,相鄰兩層的點之間可以互相走到就是走一條免費邊 起點是sss,終點是k∗n+tk*n+tk∗n+t Code: #include <b

原创 【題解】LuoGu1941:飛揚的小鳥

原題傳送門 此題暴力dp可過 dpi,jdp_{i,j}dpi,j​表示到(i,j)(i,j)(i,j)的最小點擊數 非常naivenaivenaive的轉移方程 dpi,j=min(dpi−1,j−xi,dpi,j−xi)+1d

原创 【題解】LuoGu4822:[BJWC2012]凍結

原題傳送門 分層圖最短路套路 可以去看這道題目 Code: #include <bits/stdc++.h> #define maxn 100010 using namespace std; struct node{ int v

原创 【題解】LuoGu3620: [APIO/CTSC 2007]數據備份

原題傳送門 首先轉化題意,可以用貪心策略證明肯定是相鄰的兩個點建立電纜 然後把問題轉化成ai=si+1−sia_i=s_{i+1}-s_iai​=si+1​−si​,a1,a2,...,an−1a_1,a_2,...,a_{n-1

原创 【題解】LuoGu3694:邦邦的大合唱站隊

原題傳送門 暗示明顯,狀壓dpdpdp 狀態設計簡單,當前有多少樂隊已經排好隊爲1,其餘爲0,壓成二進制iii dpidp_idpi​表示狀態iii的答案 本來還一直在想如何來是最優策略,突然靈機一動 我這不是DPDPDP嘛,那我

原创 【題解】LuoGu4561:[JXOI2018]排序問題

原題傳送門 轉化問題:每次令[l,r][l,r][l,r]中出現次數最少的數出現次數加1,加mmm次 模擬題 先統計出不在[l,r][l,r][l,r]中的答案 再統計出[l,r][l,r][l,r]的數各出現了幾次,然後就是一層

原创 【題解】LuoGu5465: [PKUSC2018]星際穿越

原題傳送門 重要性質:對於某個點xxx,必定是xxx到[y,x)[y,x)[y,x)中所有點的距離爲1,xxx到[z,y)[z,y)[z,y)中所有點距離爲2…… (滿足z<y<xz<y<xz<y<x) 首先想70分暴力做法(性質

原创 【題解】LuoGu1084:疫情控制

原題傳送門 需要用mmm個點封死一棵樹 答案滿足二分性,直接二分 本題難點在於checkcheckcheck 貪心思想:駐紮到深度越小的點越優 通過倍增上提軍隊,有些軍隊在二分的mid範圍內走不到根節點,那麼他就駐紮在能走到的最上

原创 【題解】LuoGu5020:貨幣系統

原題傳送門 水博客~~ 若是系統中的某一個數可以被系統中的其他數表示,這個數就是無關緊要的 所有不能被其他數表示的數的個數就是答案 用DP\text{DP}DP解決即可 Code: #include <bits/stdc++.h>

原创 【題解】LuoGu5664:Emiya 家今天的飯

原題傳送門 每行最多取一個告訴我們可以枚舉行 所以這道題目總體複雜度裏肯定有行的複雜度O(n)O(n)O(n) 考場上寫的是m=2/3m=2/3m=2/3的暴力,直接把每一列分別取了幾個寫到狀態裏面去 正解需要考慮正難則反 我們寫

原创 【題解】LuoGu5323:[BJOI2019]光線

原題傳送門 這是一道很有趣的題目 大家都會非常直覺的想出dpdpdp fif_ifi​表示從第iii塊玻璃射出的光有多少 gig_igi​表示從第iii塊玻璃往前面反射回去的光有多少 得到轉移方程 fi=aifi−1+bigi+1

原创 NOIp歷年真題整理解答

有時間的話再寫幾道吧,個人準備聯賽的方式就是刷歷年題目,主要是熟悉一下思維模式,算法方面 NOIp2012 擺花:普通DP,DP水平到一個層次就不用煩惱的題目 文化之旅:拋去數據水的槽點,n<=100\text{n<=100}n

原创 【題解】LuoGu3953:逛公園

原題傳送門 NOIp2017tgD1T3NOIp2017tgD1T3NOIp2017tgD1T3 當然是先跑個dijkstradijkstradijkstra把最短路求出來 然後想到dp求答案 dpu,ddp_{u,d}dpu,d

原创 【題解】LuoGu2296:尋找道路

原題傳送門 細節挺多的,如果心情浮躁的話就很難調出來 從終點跑反向邊跑出能達到的點,這樣就知道了哪些點無法到達終點 用這些點跑反向邊跑出出點無法和終點聯通的點,這些點也是不能到達的 剩下的點就是可以走的點,用bfsbfsbfs就可

原创 【題解】LuoGu5021:賽道修建

原題傳送門 二分答案 樹形dp驗證 對於每個點的兒子中儘可能兩兩組合(貪心)達到最大值,最好在這個基礎之下還能選擇一個儘可能長度大的路徑和自己組合起來上傳到父親上去 把兒子的值存下來,排序,首先用貪心(頭尾指針掃描)求出最大賽道值