原创 ZOJ1234 Chopsticks

題目鏈接 題意: 給定n個筷子的長度,取k+8套筷子,每套有3個,長度分別爲A,B,C。 求組成k+8套筷子(A-B)^2的和的最小值,輸出這個最小值。 思路: 題目中所給的筷子長度是非降序排列的,所以最小的兩個A和B一定是相鄰的。 先不

原创 Codeforces Round #317 A.Lengthening Sticks

題目鏈接 題意: 給出a,b,c,L,要求 a+x, b+y, c+z 構成三角形,x + y + z <= L,問有多少中分法(x,y,z可爲0) 思路: 用容斥來做,結果ans=全部組合的情況 - 不符合三角形定理的情況。 1.求全部

原创 hdu 1005 Number Sequence(找規律)

題目鏈接 比較簡單的一道找規律題,一開始沒優化,果然超內存了... 對於公式 f[n] = A * f[n-1] + B * f[n-2] 只有7 * 7 = 49 種可能 因爲對於f[n-1] 或者 f[n-2] 的取值只有 0,1,2

原创 Codeforces Educational Codeforces Round 2 B. Queries about less or equal elements

題目鏈接 題意: a[n] 和 b[m],對於每個b[i], 求a[n]中有幾個元素 <= b[i] 思路: 看到<=,第一反應想到lower_bound,但是這是查詢第一個小於等於的元素的位置,但是有多個元素等於b[i],就會出錯 用u

原创 Codeforces Round #341 (Div. 2) B. Wet Shark and Bishops

題目鏈接 題意: 如果兩條鯊魚在同一對角線上就會攻擊對方(即使它們之間還隔着其他鯊魚) 問共有幾對? 思路: 對角線就兩種情況 斜率爲1:(x1 + y1) == (x2 + y2) 斜率爲-1: (x1 - y1) == (x2 - y

原创 POJ 3087 Shuffle'm Up(模擬)

題意: s1, s2兩堆拍,交叉洗牌組成s12(自下而上,最底下的一張是s2的第一張) 給出s1, s2, s12,問s1和s2是否可以經過多次洗牌後達到s12的狀態 思路: 簡單模擬,在找到最終狀態前,洗牌時若出現重複,則說明形成了環,

原创 UVA 11624 Fire!

題意: J要逃出迷宮,F代表火焰,點着後會向上下左右四個方向蔓延,火蔓延到的地方F都不能走,問F是否可以逃出去 思路: 可以先廣搜一遍標記火藥到達每個地方的最短時間,再跑F,F只能在標記的時刻之前走過(白書方法) 其實這題就是求J走出迷宮

原创 poj 1804 Brainman(歸併排序求逆序對)

題目鏈接 題意:給定一個序列a[],每次只允許交換相鄰的兩個數,問至少要交換多少次才能將它變爲非遞減序列 思路: 這題其實是在求逆序對數 每個點的左邊大於它的,右邊小於它的數的個數,就是當前點的逆序對數 一般來說會用樹狀數組去求逆序對 還

原创 hdu2973 YAPTCHA(威爾遜定理)

題目鏈接 題意:給出n,根據公式求和 思路:此處要用到一個數論定理——威爾遜定理 題解:這裏要用到一個數論定理——威爾遜定理 當且僅當p爲素數時:( p -1 )! ≡ -1 ( mod p ) 即:當P爲質數時,P可以整除(p - 1

原创 LightOJ1274(組合數)

題目好難懂~告訴你文章中有多少個單詞,只有單詞"Yes","No" , yes佔三個字節,no是兩個字節,共有 a個單詞,s個字節 那麼yes就是 n=s-2*a ,no就是m=(s-3*a)/2個 將yes看成1,no看成0 形成了01

原创 ZOJ 3929 Deque and Balls

題目鏈接 題意: 給你n個數,按照順序依次放入一個雙端隊列(可放在頭部,也可以放在尾部),求xi > xi+1的期望 * 2^n mod (1e9 +7) 思路: 實際上題目就是在求2 * 總遞減對數 那麼當放入第i個數的時候,遞減對數:

原创 POJ 3984 迷宮問題(bfs)

題意: 定義一個二維數組,它表示一個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫着走或豎着走,不能斜着走 要求編程序找出從左上角到右下角的最短路線 思路: bfs基礎題,在結構體內定義一個數組保存路徑即可 代碼如下: #include

原创 UVALive - 6469(博弈、記憶化搜索)

題意:q,p, r分別代表最底下一行,中間一行和最上面一行的格子數 A、B兩人拿格子,每次選中一個格子,則它的上面及右邊的格子全部被拿走 誰拿到(1,1)這個格子算輸 A先拿,問A是否能贏,若能贏則輸出拿的第一個格子的位置 思路:記憶化搜

原创 POJ3278 Catch That Cow(bfs)

題意:FJ有與牛在同一座標軸上,告之FJ與牛的座標 FJ有三種移動方式, + 1,- 1,* 2,求抓住牛的最短步數(牛不會動) 裸的bfs水題,將三種移動方式依次放入隊列即可 代碼如下:#include<cstdio> #inclu

原创 POJ1321 棋盤問題(dfs)

題目鏈接 基礎題,一行一行的擺下來,從第一行開始,枚舉所有情況,擺放好棋子後,該棋子擺放的列就用vis標記,不能再放置棋子 代碼如下: #include <cstdio> #include <cstring> int n, k, ans