Time of Update: 2018-12-03
題意: 給定原矩陣和目標矩陣。http://acm.hdu.edu.cn/showproblem.php?pid=4306兩種操作: 選一橫行的兩元素交換(花費ca)。選一列的兩元素交換(cb)。連續一個操作只花費一次。問:從原矩陣到目標矩陣最小花費。官方解法:
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=4307我咋感覺就是網路流呢?不是最後轉化為網路流了嗎?這篇文章解釋地很好:http://www.cnblogs.com/staginner/archive/2012/08/13/2636826.html
Time of Update: 2018-12-03
又是一道很糾結的dp,我已經戰亡。不過這題好點,看還是看得懂的,理解著理解著,感覺半懂還是有的。題意:http://acm.hdu.edu.cn/showproblem.php?pid=4314
Time of Update: 2018-12-03
連續數字,前面p個和後面q個相加相等。 已知q,問p有多少種。a - p , ..... a - 1, a, ....... , a + q - 1;p(a - p) + (p - 1 ) * p / 2 = q * a + (q - 1) * q / 2;2a = p + q + 1 + 2 * q * q / ( p - q) ; 右邊肯定是個偶數。於是我們就討論已知q,p的取法。當q是偶數的時候,討論p的奇偶性,發現p - q的取值要不是2^0,要不是2 ^ (q裡面所有2的個數 + 1
Time of Update: 2018-12-03
我一直覺得狀壓就是暴搜,其實這題也就是暴搜。。。http://acm.hdu.edu.cn/showproblem.php?pid=4317題意:給你n個數,你可以在每個數加上一個值,使得最後的n個數的異或值為0,當然要求加的數的和最小,這之前有個小小的博弈障眼法呵呵。N非常小,狀態壓縮自然從N入手,用二進位表示這N堆的所有選擇。根據異或的性質,只要異或的這些數字對應二進位相同的位上有偶數個1,則這位異或的結果就為0。dp[i][j]:i代表由低到高的第幾位,j是第i位壓縮過後的狀態,表示第i位
Time of Update: 2018-12-03
題意:求相加小於等於n的積%p有多少個。解:記憶化搜尋。 假設已經求出i以及小於i 的答案,存於<set> factor[i]裡面,且i + j == n, 則j從0到i,乘以factor[j]裡面的東西,就是factor[i]裡面存的東西。因為LLwa了很多次。和這題很像,多校的。 不過這題是求相加小於等於n的質數的最小公倍數的個數。kaka#include <cstdio>#include <set>using namespace std;int T,
Time of Update: 2018-12-03
就是給了13張牌。問增加哪些牌可以胡牌。胡牌有以下幾種情況:1、一個對子 + 4組 3個相同的牌或者順子。 只有m、s、p是可以構成順子的。東西南北這樣的牌沒有順子。2、7個不同的對子。3、1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,7c.
Time of Update: 2018-12-03
http://acm.hdu.edu.cn/showproblem.php?pid=4318題目大意可大致表述為從節點s向節點t傳送電力,電力在傳送過程中會有所消耗,不同節點之間,電力傳送消耗的值有所不同。要求選擇一條使得電力消耗最小的線路。如果不能把電力從s點傳送到t點,或者電力損失殆盡,則輸出IMPOSSIBLE!如果從s出發,沒有到達t的路徑,則輸出IMPOSSIBLE!如果存在這樣一條路徑p = (s,p1,p2,p3,...,pn,t),那麼最後到達t的電力為M*(1-b1%)*(1-
Time of Update: 2018-12-03
給個序列,求 (Ai + Ai+1 + ... + Aj)^2 / (j - i + 1). (1 <= i <= j <= n)解:http://acm.hdu.edu.cn/showproblem.php?pid=4319難題。用分治法來做,關鍵在於O(n)時間完成合併操作。我們把要求的結果開方,答案不變,即求max{abs(a[i]+...+a[j]) / (j-i+1)}. 設函數f(x,y) = |y| /
Time of Update: 2018-12-03
對於任何正整數x,起約數的個數記做g(x).例如g(1)=1,g(6)=4.如果某個正整數x滿足:對於任意i(0<i<x),都有g(i)<g(x),則稱x為反素數.現在給一個N,求出不超過N的最大的反素數.比如:輸入1000 輸出 840思維過程:求[1..N]中約數在大的反素數-->求約數最多的數如果求約數的個數
Time of Update: 2018-12-03
真心不想去考證為啥這樣,就這樣吧!!!題意:http://acm.hdu.edu.cn/showproblem.php?pid=4320 問a進位下的小數能否轉化為b進位下的小數。解: 檢查A中的質因子 是否都在
Time of Update: 2018-12-03
題意:http://acm.hdu.edu.cn/showproblem.php?pid=4328 找最大的純0 純1 或01交叉的矩陣,01交叉的要是方陣。解: 純0或者純1的用的是懸線法, 01互動的是另外一個想想的dp。#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int maxn=1111;int
Time of Update: 2018-12-03
題意:http://acm.hdu.edu.cn/showproblem.php?pid=4321 給定a和b、n,讓你求b + a, b + 2 * a, .......b + n * a裡面有多少1.題解: 這個題解是以前做過多校之後看的。以前看了很久很久很久很久都沒看懂。 現在二十分鐘左右看懂了。 是我以前心不在焉嗎?按位統計計算,如果枚舉 那麼複雜度就是 64 * N第一條當統計第K位的時候 可以注意到 第 B+T*A 和 B+(T+2^(K+1))*A 位是相同的那麼
Time of Update: 2018-12-03
很噁心的題意,暫時就不說了。 就是題目怎麼說,你就怎麼寫。http://acm.hdu.edu.cn/showproblem.php?pid=4329#include<iostream>#include<algorithm>#include<string>#include<vector>#include<queue>#include<set>#include<map>#include<sstream>
Time of Update: 2018-12-03
題意:http://acm.hdu.edu.cn/showproblem.php?pid=4322 like[i][j]表示第i個孩子喜歡第j個糖果(總共m個孩子,n個糖)。 如果孩子拿到他喜歡的糖果,那麼他將會增加k個歡樂值;拿到不喜歡的,增加1。 如果孩子i的歡樂值大於B[i],那麼他才是開心的。 問,能否有一種分配方案,讓所有孩子都開心。解:首先聲明,由於被小孩子不喜歡的糖果的對小孩產生的效力是一樣的,所以我們在網路流的時候先不考慮。1 - 源點0到1~N個糖果,容量為1,費用為02
Time of Update: 2018-12-03
題意我覺得還是好理解的。 我感覺就是有n*n堆石頭,有n個人,每人挑個石堆站在後面。三種操作:http://acm.hdu.edu.cn/showproblem.php?pid=4304 1. 人全部右移(石頭不動)。 2. 人全部左移。 3. 將自己面前的石頭全部用腦袋砸碎。滿足條件: 1.左右移的時候不能移出去,就是每人面前都得有一堆石頭,無論是壞的還是好的。 2.砸的時候只能砸未砸過的石頭。最後將全部石頭砸碎就行。
Time of Update: 2018-12-03
這果然是類比。題意: 8 * 8方格,一個東西可以和上下左右換,相同顏色超過=3個就消掉。 消掉之後就掉下來。 掉下來之後空的地方會隨機填充東西(總共有5種東西), 問能消掉8個的機率是多少。解: 首先按照報告所說,不考慮新棋子的情況,暴力枚舉交換後消去的情況,如果能消去8個及以上就直接輸出100%。
Time of Update: 2018-12-03
題意:給你三個頂點,這三個點是一個正多邊形上的頂點,問這個正多邊形最少有多少個邊?思路:三個點,三角形–>外接圓–>必定也是該凸多邊形的外接圓-我們可以把三個點當做一個三角形放在它的外接圓上,然後求出每個角的度(即三角形分的三個弧度所對應的圓周角),設頂點數為n,我們只需計算,三角形任意兩點所對應的圓心角是否是2PI/n的倍數就可以了、、、並且i很小,可以枚舉。在計算圓心角是否是2PI/n的倍數的時候,有一個小技巧,具體看代碼(轉)枚舉是哪個角符合2 * PI / n,
Time of Update: 2018-12-03
題目描述:http://acm.hdu.edu.cn/showproblem.php?pid=4305平面上有N<300個點。每個兩個點如果距離小於R且之間沒有共線的另一個點,則這兩點之間有一條邊。求這個圖的產生樹的個數mod
Time of Update: 2018-12-03
題意:給定一個矩形,問在這個矩形當中半徑和圓心均為整數的相切圓有多少個。解:又是找矩形,給跪了。。。原來矩形這麼有用的。。先枚舉直角三角形直角邊,得到斜邊。枚舉端點在斜邊端點,在斜邊相切的圓半徑。由固定的斜邊、兩個圓得到固定的矩形。對於每個矩形,由於對稱,所以要加2。還有另外一種情況,即直角三角形的一條邊為0,那麼枚舉的斜邊與矩形邊平行,最後只加1.