原创 poj 3311 和餅一起喫 題解

題目鏈接 知識點: floyd、狀壓DP 講解: 對於這一題其實就是旅行商問題。我們很容易就想到首先我們要處理出每兩個點之間的最短路,這就是floyd,處理完後我們就可以開始DP了,因爲最多有10個送貨點所以我們狀壓每個送貨點是否

原创 砍樹枝 衝刺noip

砍樹枝 代碼測試區 題目: 這天,CD 作爲moreD 的寵物,又被殘酷地訓練爬樹了,moreD 保證了這棵樹滿足從任意一個點出發,CD 都能走到所有的點,CD 每天都要爬過所有的點才能回家吃飯。經過一天又一天殘酷的訓練以後,CD

原创 郵局 題解

題目 這一題是一道很不錯的題目,也是我很喜歡的一道題目,對於區間DP這一題可以好好看看。 首先我們分析題目,對於這個題目應該會很有感覺,這就是區間DP, 我們要做到以下幾點: 1、清楚狀態轉移方程的框架是什麼? 2、清楚操作是什麼?

原创 noip2018 day1 T3 賽道修建題解

題目 知識點: 二分、樹、貪心 講解: 對於這一題在考場上是一臉懵逼,先理解一下題目吧。 給你一個數要求你從這個樹上摳出m條鏈,要求:最小的鏈最長 這個題目最大的困難是怎麼摳? 首先想到的就是二分,爲什麼?最小的鏈最長不就是二分的經典

原创 noip 2018 day2 T2貨幣系統

題目 知識點: 揹包DP 講解: 這一題不算太難,可以說是送分題。 我們考慮最多要選的肯定只有那n個嘛。 然後我們繼續考慮,一個貨幣不需要用當且僅當這個貨幣可以被已經選了的貨幣表示出來,這樣這個就是完全揹包了。 我們定義dp[i]表示

原创 離散化解析

對於離散化一開始聽了感覺很高大上,可是學了發現也不會太難。 首先我們講講爲什麼要用離散化? 對於有一些數據結構例如:並查集。就要以數字編號作爲下標,可如果題目數字給的很大呢? 涼涼。 對於這種題目都會有個特點,數字很大,可數量不多,那

原创 逆元

對於逆元其實說難不難,說簡單也不簡單。 概念: 對於a * x≡b(mod m)這個方程如果我們要求解的話其實是比較複雜的,可是如果我們可以求出a * y≡1(mod m)中的y的話,在上面那個方程上同乘以y就可以得到,x=b *

原创 拓展歐幾里得算法

拓展歐幾里得算法其實也不難,主要是要去記公式、代碼、必要的話連推導也記下來。 好了,不扯了,將正話。 概念: 要求解這樣的方程: 推導: 對於這個我們其實就是利用輾轉相除法,我們可以知道,我們輾轉相除法的邊界是a=d,b=0,(a

原创 約數詳解

約數這個還是數論比較熱門的考點(這邊是提高組,省選大佬出門右轉)。 首先約數是什麼? 聽起來好高大上,其實就是因子,而對於約數要掌握的就是約數和以及約數個數,我們先看一下籠統的計算公式。 對於一個數我們可以質因數分解,所以對於每個數n

原创 組合數詳解

概念: 組合數我們用C(n,m)表示,它代表在n個數中取m個數的方案。(這個概念主要用於將問題抽象到組合數上)。 公式: 組合數的公式也不多, 1、C(n,m)=C(n,n-m)。 2、C(n,m)=C(n-1,m-1)+C(n-1,

原创 災後重建題解

題目 這一題真的是好題,floyd的經典好題。 對於這一題我們只需要前置技能floyd就好了。 我們先講一下這一題好在哪吧。這一題好就好在這一題經典地利用了floyd的一個特徵,首先我們回顧floyd,它是三重循環,其中最外層是枚舉每

原创 數列詳解

對於數列這一個個人覺得很有可能會考(因爲昨天剛考),結果今天才看,(哭死在廁所) 好了,不扯了,首先我們講講什麼是數列,其實就是一串數字,像我們的數組一樣,只不過我們討論的是數列中比較特殊的幾個,分別是等差數列和等比數列。 等差數列:

原创 Play the Dice 題解

題目 知識點: 數論、期望計算 解析: 這一題有點坑,scanf忘記加~,結果死循環,哭死。 好了,不扯了。 因爲他們的概率是一樣的,所以期望退化成了數值平均,說人話就是因爲概率相同,所以數學期望就變成了可能值和的平均,我們用sum

原创 保送 題解 概率DP

題目背景: czk赫赫有名,爲什麼呢?因爲他參加了超多競賽,所以認識了無數OIer。而無數OIer也都認識他,爲什麼呢?因爲czk實在是太牛了~ 所以我們經常可以聽到OIer之間的典型談話: 小A:你知道czk嗎? 小B:當然認識啦,

原创 Eden的新揹包問題 題解

題目 知識點: 多重揹包DP 講解: 對於這一題其實就是多重揹包的變式問題,我們發現就是在多重揹包問題上加上了有一種不可以選,我們思考一下去掉這個物品不能選後會怎麼改變,也就是把原本連續的一串物品分成了兩塊,而我們如果正常地做多重揹包