原创 UVAlive6187【帶權值並查集】

思路: 利用並查集是顯然的。 如何處理權值,這個要想一下。 對於A->B->C->D這個集合,X->Y代表X是Y的祖先,每個點有一個權值num[p] 我們把權值放在最底端,這樣主要是方便合併(個人覺得) 首先在同一個集合的X

原创 UVALive-7267/UVALive-7261/UVALive-7269/UVALive-7263

UVALive-7267 題意: 給出4個矩形,問你是否用三個矩形組成一個新矩形 思路: 要麼就是三個矩形存在一條相同的邊 要麼就是兩個矩形有相同邊然後貼在一起組成新邊去貼另一個矩形的一條邊 //#pragma comme

原创 Lightoj 1158【記憶化+狀壓DP】

思路: 以前還對取膜餘數挺敏感的,現在好菜啊! DP[ i ][ j ]代表在狀態i下,這個狀態%d=j值的個數。 那麼不就是個狀壓DP呀!啪啪啪敲! memset(dp, 0, sizeof(dp)); int M

原创 Codeforces734E【縮點+樹的直徑】

思路: 想不到樹的直徑就GG了啊… 先縮點,然後縮成一棵相鄰兩層節點就是不同的個數,然後如果考慮一棵樹是 1-0-1-0-1-0-1-0-1-0 這樣的話其實就是中間開始搞,然後最少變node_num/2次變成同一種顏色。

原创 讓我們來寫Sg函數處理的博弈吧~

還未摘錄完全 什麼是SG函數 首先,所有的terminal position所對應的頂點,也就是沒有出邊的頂點,其SG值爲0,因爲它的後繼集合是空集。 然後對於一個g(x)=0的頂點x,它的所有前驅y都滿足 g(y)!=0。

原创 讓我們來寫數位DP吧~

HDU 2089 不要62 限制: 62 不能連號, 不能出現4 思路: 1. 對於當前位數字是 4 有限制,可以直接處理! 2. pre_num(前一個數字) 有限制; if(pre_num == 6) dp當前位不能

原创 Lightoj1577【數位DP】

題意: 求兩字符串LCS的個數。 思路: LCS的狀態轉移應用吧,如果當前字符種類相同的,dp[pos1][pos2]肯定是最長的。 根據求LCS的DP狀態轉移回溯,如果枚舉那些位置往前回溯肯定GG。 考慮對於兩個字符串

原创 最大流建圖習題

最大流 給定指定的一個有向圖,其中有兩個特殊的點源S(Sources)和匯T(Sinks),每條邊有指定的容量(Capacity),求滿足條件的從S到T的最大流(MaxFlow)。 最小割 割是網絡中定點的一個劃分,它把網絡

原创 CodeForces787A【exgcd求不定方程解(模板)】

思路: B+AX=D+CY => AX−CY=D−B 然後套exgcd保證X,Y都要>=0. //#pragma comment(linker, "/STACK:102400000,102400000") #include

原创 Codeforces830A【二分+貪心】

二分其實很好考慮對吧,時間越多,滿足的越多,如何judge呢,這個仔細想想還是挺有意思的. 1.左邊的人拿左邊的鑰匙能在這個時間段滿足,那就滿足,對於整體方案來說是最優的 2.如果左邊的對於某把鑰匙不滿足,之後出現了某個位置

原创 CodeForces770C【強連通分量+DFS序】

思路: 顯然按照他的意思建圖肯定不行。 對於u所需要先解決的v[], 建邊 u -> v[], 然後就是判斷一下每個main 課程是否在一個環裏,或者是不是他需要先修的課程在環裏,這樣子就不滿足。 然後我就很爆炸,窩很蠢地想

原创 Wannafly模擬賽3 E 絕對半徑2051【尺取】(可做模板)

思路: 題目本身不難,把值離散化一下,然後對每種值尺取一下。 比賽的時候因爲之前寫尺取又卡了,這一發過的很快,很清晰,做個模板好了。 模板: //尺取數組 int Left, Right; Left = Righ

原创 Java常用方法

//實現 BigInteger 任意進制之間的轉換 private static String change(String num, int from, int to) { return new jav

原创 Codeforces492C【模擬】

思路: 沒思路,模擬。 果然是要出去打鐵的隊… 這種破題wa5搞的我信心全無… 不打鐵我吃屎!!! //#pragma comment(linker, "/STACK:102400000,102400000") #inc

原创 HDU4049【狀壓DP】

這個題真的是水,但是題意有點迷。。。 旅遊順序已經定了,按順序 然後如果一個人要旅遊下一個景點,中途景點也要走。 否則,他將離隊,不再旅游下去/ N<=10, M<=10 思路: 狀壓遊客的組合,預處理出組合的額外值,人