原创 [noj 1552] Minecraft Server Bug

題意是:有一排的水或者熔岩,你需要先拿水再拿熔岩,問有多少種拿的方式。 依次統計每次的W,然後每次碰到L就加一次W的數量即可。 #include<iostream> using namespace std; int main() {

原创 [hdu 3264] Open-air shopping malls(二分+兩圓相交面積)

題目大意是:先給你一些圓,你可以任選這些圓中的一個圓點作圓,這個圓的要求是:你畫完以後,這個圓要能夠覆蓋之前給出的每個圓一半以上的面積,即覆蓋1/2以上每個圓的面積。 例如樣例數據,選左邊還是選右邊沒區別,紅色的圓爲答案(選了左邊的圓點

原创 [模板] 求兩圓相交面積(模板)

兩圓相交分如下集中情況:相離、相切、相交、包含。 設兩圓圓心分別是O1和O2,半徑分別是r1和r2,設d爲兩圓心距離。又因爲兩圓有大有小,我們設較小的圓是O1。 相離相切的面積爲零,代碼如下: double d = sqrt((a.x-

原创 [noj 1554] Lord of Minecraft

出題人果然又一次出了錯誤的題目,這道題先mark一下,過幾天有空再來補上。

原创 [hdu 1398] Square Coins(母函數) + 母函數小解析

關於母函數網上有一大堆解析,不過解析具體代碼的好像不多,這裏就簡要介紹一下好了。僅供初學者參考,老鳥請路過-.- 這篇博客雖然寫的是hdu 1398,不過我們還是從hdu 1028開始比較好,因爲這道題是最赤裸裸的母函數模板。 母函數說白

原创 [noj 1561] Set Time

簡單模擬題。這代碼長度應該還行,挺短了。 #include<iostream> #include<cstdio> using namespace std; int getyear(int x) { if((x%4 == 0 && x%

原创 [筆試題] 不使用庫函數sqrt實現求一個數的平方根

看到這題第一想法就是二分,並且很快就能寫出代碼來: double SQRT_Binary(double n) { double s = 0, t = n; if(n < 1) t = 1; while(t - s

原创 Treap小解析(Part 2 of 2)

上文中我們熟悉了treap的旋轉操作,接下來可以開始正文的書寫了。 首先看如何插入結點,樹形結構上遞歸的代碼總是最好寫的: void Insert(node *&t, int x) { if(t == nul) { t = new

原创 [算法淺析] 如何在O(1)的時間裏刪除單鏈表的結點

題目是這樣的:給你一個單鏈表的表頭,再給你其中某個結點的指針,要你刪除這個結點,條件是你的程序必須在O(1)的時間內完成刪除。 由於有的同學對鏈表還不是很熟悉,本文儘量描述的通俗易懂,老鳥請直接跳過前面一大段。 鏈表結構如下: stru

原创 [藍橋杯] 第五屆藍橋杯總決賽 - 燈泡問題

題目大意是說,給你n個燈泡,初始時都是燈滅的狀態。 第一次挑選序號爲2、4、6。。。的燈泡並撥動一次開關,也就是亮變滅,滅變亮。 然後挑選序號爲3、6、9.。。。的燈泡撥動一次開關。 然後是4、8、12.。。。 一直到 n。 每次輸入三個

原创 [hdu 1085] Holding Bin-Laden Captive!(母函數版)

題目大意是說,有1 2 5三種硬幣,各有x[0] x[1] x[2]個。 問這些錢不能湊出來的最小數值是多少。 比如1 1 3,指的是1元有1個,2元有一個,5元有3個,用它能湊出1元2元3元(1元+2元),卻湊不出4元,所以輸出4。

原创 [noj 1555] The Sum of F(x) and G(x)

簽到題。不知道校內賽新生們做的怎麼樣,雖然有着最高話語權的那個人毀掉了13新生們,不過我帶的幾個人不被污染就行了,其他就與我無關了-。- 按照指數加一下就行,由於太懶就直接開了個map #include<iostream> #inclu

原创 [noj 1557] Team of Slime

不知道爲什麼同一組數據要豎着寫,這樣看起來有點彆扭。 題意是:給你一個n,然後給你1~n的一個排列。每次可以挑一個數放到數組的開頭,問經過最少多少次這樣的操作,可以將這個數列從小到大排好。 樣例解釋: 2 1 3 2 4 先將2移到開頭,

原创 [noj 1522] 分蛋糕(dp+滾動數組優化)

題意:m個相同的東西放進n個相同的盤子中,求方案數。 我們設dp[i][j]表示i個蛋糕放在j個盤子中的方案數。 這題本身比較簡單,我們分兩種情況考慮: ①蛋糕數量大於等於盤子數量:因爲蛋糕比較多,所以我們繼續分兩種情況,一是所有盤子都不

原创 [noj 1559] Jump to the Top of Mountain

題意是:給你一個n*m的矩陣,上面的數字代表了這個位置的高度,你現在站在矩陣外面,問能不能走到矩陣的最高處,走法與現實遊戲一樣,往上爬只能爬一個高度,或者水平走,或者往下跳都可以。 有兩種方案,一個是從矩陣的邊緣依次進入後dfs,判斷能不