題目目前看下來貌似我的做法的複雜度是比較優秀,是\(o(n^3)\)
當然,\(n=101\),首先,點的個數最多是邊的個數加一,這個很好理解。
我們開始思考,走這麼多邊,肯定是要走環的,對吧,那麼有乙個假想,如果他就是在一條最短路上的最小邊反覆橫跳呢?
我們用「表面否的演算法」(bellman - ford演算法)處理起點和終點到達各個點在走過\(k\)條邊時的最短路,當然\(k\)最大為多少呢?,我們假定這條路徑就在這裡反覆橫跳,不存在其餘的環,那麼\(k\)最大就為點的個數,但是,其實是有可能存在其他環的,因為我們這樣來回彈跳,只會造成偶數環,那麼如果剛好找個奇數環走一遍,然後改變所需要的邊數能讓答案更小呢,所以\(k\)要是最大點數的兩倍。當然,至於兩個環或者乙個偶數環的存在,你都可以把環去掉改成左右橫跳,權值更小,但是由於我們很難知道這個邊是不是路徑上最小的邊,所以我們需要假定他是,然後列舉所有的邊就行了。
#include#include#define n 110
#define nn 1100
#define m 210
using namespace std;
templateinline t mymin(t x,t y){return x當然,常數稍稍大了點,但是無所謂啦。
貪心 暴力 CF
題目不長 一種思想 因為可以模仿對手的行為,如果如果之前對手走了一步,自己可以不動 所以如果不是第一走的,那就肯定不會輸 所以對於先手者,有幾種情況 1.可一步到位,那就直接贏了 2.不可一步到位,這種情況下再看後手者,如果他不可以一步到位,那他肯定不會輸,因為他可以模仿,但是無論他怎麼做,對手也不...
NYOJ 208 貪心做法
題目鏈結nyoj 208 我原以為是取每個deadline的最大值。我還嘲笑為甚難度是4 結果直接wa。冷靜下來之後讀題,發現只要在deadline之前賣出去就行。所以正確的貪心策略是先從最值錢的貨物開始售賣,如果當前的貨物所在deadline已經 了東西,那就在1 deadline之間查詢哪天能賣...
C Laboratory Work 暴力或貪心
暴 力判 斷 color 暴力判斷 暴力判斷直接 暴力就行 了,畢竟 所有數隻 可能是m inn,minn 1,m inn 2直接暴力就行了,畢竟所有數隻可能是minn,minn 1,minn 2 直接暴力就行 了,畢竟 所有數隻 可能是m inn,minn 1,m inn 2 當 最大 值減去最 ...