原创 poj1360(完全揹包+多重揹包+鴿巢原理)

題意,fj去買價格爲t的物品, shopkeeper只接受n種貨幣,價值分別vi,對於每種貨幣fj有ci個,但 shopkeeper都有無數個這種貨幣。求最少使用多少貨幣完成交易。 對於fj,進行一次多重揹包, 對 shopk

原创 poj3207 Ikki's Story IV - Panda's Trick(2-sat)

看了半天,看不懂題意。 題意 在一個圓上分佈有n個點,現在要在這n個點之間連上m條邊,每條邊可以從圓內連接,也可以在圓外連接,每個點只能連接一條邊,求是否存在連接方案能使得這m條邊不相交。 看圖容易懂題意。。。。。。

原创 cf645c Money Transfers(貪心)

想了很久,隔了一段時間,又想了很久,還是不會,看別人的代碼,簡直嚇哭了。。。。。。 妙, 題意相當於: 給定一個區間[1,n],區間首尾相連,最多把它分成幾塊,使得每一塊的和都是0.(假設答案是p,那麼n-p就是這道題的答案)

原创 逼乎zhihu網頁保存後打開不斷刷新解決方案

二分法查找的結果 打開 html 後找到 columnAutocomplete 刪除這個變量和變量值即可。

原创 2-sat入門(例題hdu1814,poj3648)持續更新

2-sat問題描述 2-sat問題是這樣的:有n個布爾變量xi,另有m個需要滿足的條件,每個條件的形式都是“xi爲真/假或者xj爲真/假”。比如“x1爲真或者x2爲假”。注意這裏的“或”是指兩個條件至少一個是正確的。 由於在2-S

原创 poj2296 Map Labeler(2-sat+二分)

由於每個點要麼在label的頂邊或者在label的底邊且在中間,並且有且只有一個在label上,所以就可以轉化爲2-sat問題。 建圖如下: 不妨設 點yi<=yj。(i表示向下,!i表示向上) if(|xi-xj|>=d)

原创 hdu3535AreYouBusy(分組揹包問題)

常見的有三種, 一,每組最多取一個, 一維數組的僞代碼 for 所有的組k for v = V to 0 for 所有的i屬於組k f[v] = max{f[v], f[v

原创 hdu2732Leapin' Lizards(Dinic)

剛開始想這道題想了很久,然後就有個思路,沒立即敲。 然後敲的時候將起跳後忍受能力減1,記爲降落時忍受能力減1。 增加一個源點n*m * 2和匯點n *m *2+1。 首先,對於每個點node,將其分爲兩個點node1和no

原创 hdu5114 Collision(一元同餘方程)

推了一晚上,還是沒發現問題會轉化成同餘方程。 爲了避免小數,所有點座標*2 對於這種題,感覺應先考慮一維的情況, x1,x2,[0,x0],方向1 那麼if x1==x2,就直接相撞 else 設移動tx步

原创 poj3678Katu Puzzle(2sat入門)

這道題算是2sat建圖入門題。 把6種邏輯表達式轉化爲有向圖 2-sat就是合取範式 1.a&&b=1就相當於是a和b兩個析取式的合取範式,而a又可以寫成a||a。 2.a&&b=0 ==》 !a||!b=1 3

原创 hdu2819棋盤遊戲(二分圖匹配)

看完這道題,沒什麼思路,只知道求如何求第二問。看了別人題解突然恍然大悟。由於不能放車的地方不影響車的互相攻擊,所以就相當於是列去匹配行,題目中給出的點(x,y),轉化爲g[x}[y}=1(只需要x->y即可),其他位置都是0。而求

原创 hdu3949xor(高斯消元)

看了半天題,沒想出怎麼用高斯消元解題,看完別人ac明白。 首先,用二進制去看待每一個數,因爲xor其實就是二進制的不進位加法。 比如 (十進制)2^0 2^1 1

原创 acm-圖論的一些概念及性質

圖論的一些知識點,先mark一下 網上的東西,也不知道誰是原創。 §1圖論點、邊集和二分圖的相關概念和性質 點覆蓋、最小點覆蓋 點覆蓋集即一個點集,使得所有邊至少有一個端點在集合裏。或者說是“點” 覆蓋了所有“邊”。。極小點

原创 poj3685Matrix(二分)

看到題完全沒想到是二分(太弱,太渣了),別人告訴本弱這道題是二分依舊不會做。 思路:二分答案ans,然後枚舉j,然後再二分i,求出矩陣中小於等於ans元素的個數…… 注意二分時如果l或r出現負數,最好直接向下取整,否則如(-1

原创 cf-64d(Parking Lot)成段更新+區間合併

題目看了一個小時,想了半個小時,敲了一個小時,debug將近三個半小時。。。。。。//還是看數據的 將停車分成兩個操作,先找出停車的起始點位置,然後再成段更新。 這裏用線段樹維護區間最多能停多長的車(包括前距和後距) 找其實