原创 poj3168(掃描線)

/* translation: 給出幾個長方形的位置以及邊長情況,問能擴張的長方形有幾個。 solution: 從上到下,從左到右掃描兩邊。預先對每條邊排序,掃到這條邊時,對其和這條邊位置相同的邊進行判斷,是否有 重合的點。如果有,

原创 la2678(前綴和,二分/尺取法)

/* translation: 有n個正整數組成一個序列。給定整數s,求長度最短的連續序列,使得他們的和大於等於s solution: 前綴和,尺取法/二分 這道題可用尺取法或者二分法。 無論是尺取還是二分

原创 poj2187(凸包)

/* translation: 給出n個點的位置,計算出距離最遠的一對點的距離。 solution: 求凸包然後枚舉凸包上的點計算即可。 note: * 旋轉卡殼法更加高效。 */ #include <iostream> #incl

原创 usaco2.1.4-----Healthy Holsteins(二進制枚舉)

/* ID:lvfuan11 PROG:holstein LANG:C++ translation: 給出每頭牛需要的維生素,現在有若干種飼料,每種各含有若干量的各種維生素,問最少用多少種飼料可以滿足一頭牛的每日所需 solution

原创 aoj2201(極限情況)

/* translation: 有n個寶石,寶石爲圓形。給出現在有根金屬棒,靠近寶石距離m之內就會吸附上去。現在給出每顆寶石的信息,求用這個棒子一次 能釣出最多多少個寶石? solution: 極限情況 每個寶石可以看成兩個圓(本

原创 poj3293(幾何掃描線+並查集)

/* translation: 給定N個點,問是否能組成直角多邊形(每個頂點都與另外兩個頂點構成直角,每條邊都平行於座標軸),並求出周長 solution: 掃描線,並查集 橫着掃描一遍,並將縱座標相同的相鄰兩個點連起來,如果到最後

原创 la3602(貪心)

/* translation: 給出若干條由A,G,C,T組成的字符串。現在求一個字符串,使得它到每個給出的字符串的hamming距離最小 haming距離定義爲兩個字符串不同字符的個數。 solution: 貪心 很明顯,對於要

原创 poj3608(旋轉卡殼求兩凸包間的最短距離)

/* translation: 求兩個凸包間的最小距離? solution: 旋轉卡殼法。 note: * 網上給出的資料都差不多,具體如下: 1. 計算凸包P在y軸方向上的最小值記爲yminP,和凸包Q在y軸方向上的最大值記爲y

原创 poj1113(凸包)

/* translation: 用一條線把若干個點包起來,並且線距離任何一個點的距離都不小於r。求這條線的最小距離是多少? solution: 直接求凸包,然後凸包的周長加上一個圓的周長即可。 */ #include <iostrea

原创 201604-4(遊戲)

/*ccf 201604_4 普通的bfs,但是注意當無路可走的時候是可以回到上一次走過的格子的,所以不能用普通的 標記像vis[i][j]來表示某個格子曾走過。應該採用拆點的思想,vis[i][j][t]表示t

原创 uva11464(遞推關係)

/* translation: 給出一個矩陣,每個數字要麼0要麼是1。可以將若干個0變換成1,問最少需要多少個這樣的變換才能使得矩陣變成 偶數矩陣。一個偶數矩陣裏面每一個數字的上下左右數字加起來的和都是偶數。 solution: 遞

原创 aoj1313(*simpson公式求三維體積)

/* translation: 三維座標系上有2個棱柱,分別平行與Z軸以及Y軸,現在分別給出它們在XY平面和XZ平面上的底面頂點,求兩個棱柱相交部分的體積。 solution: 主要思路是不難,但前提得知道simpson公式。利用該公

原创 poj1912(*判斷直線是否穿過凸多邊形)

/* translation: 給定一些點,再給出若干條直線,對於每一條直線,判斷其所有點是否都在同一側 solution: 很容易想到先求凸包,然後再對凸包上面的點做處理。 note: * 很明顯,只要直線不經過凸包即可。但是怎麼

原创 poj3246(*凸包)

/* translation: 給出n個點,求去掉一點後,再求凸包,所能得到凸包最小的面積是多少? solution: 很容易想到去掉的點肯定在凸包上面。所以對上面的點一一枚舉,然後維護最小答案即可。 note: * 想半天只想到去

原创 poj2079(*凸包內最大三角形面積)

/* translation: 給出一組點,從這些點裏面選擇三個點構成三角形。求這個三角形面積最大是多少? solution: 凸包 很容易想到三角形的三個點肯定在凸包上面,但是關鍵怎麼找出來三個點。一一枚舉肯定超時。 note: