原创 poj 1089

題目概述 給定N個閉區間,將有重疊部分的區間合併,求最後得到的(那些)區間 時限 1000ms/3000ms 輸入 第一行整數N,其後N行,每行兩個整數l,r,描述一個區間,輸入只有一組 限制 1<=N<=50000;1<=l<=r<=1

原创 hdu 5876

討論 圖論,廣搜,確切說是補圖的廣搜,對於給定的圖G,其補圖H中,原來G中存在的邊在H中都不存在,原來G中沒有的邊在H中都存在,把G和H拼在一起就是一個完全圖,算法很簡單,對於一個點,找出與其不直連的點,向這些點廣搜,重複這個過程即可

原创 hdu 5878

討論 水題,事先打好表,發現只有不到5200個不同的數,然後二分就可以了 怎麼打表?寫個四重循環,反正在本地跑,多跑一會也無所謂 所以下面給的代碼不是提交的代碼(5194個數,一點都不好看),而是生成的代碼 其實生成代碼裏的另一部分

原创 hdu 5879

討論 水題,首先要知道這個數的極限是收斂的,收斂於π26 ,得到估算值1.644934,然後打表找到這個數,不到12萬,然後對於前面12萬個數打表解決,往後的直接輸出1.64493,但煩人的是題目的輸入範圍是很隨便的,不但會有特別大的,而

原创 hdu 4112

討論 水題,只需要稍微開一下腦洞就能想到,人手和刀子的差別在於,人手一次只能把一塊掰成兩塊,而刀子可以一次把若干塊掰成兩塊,由於最後總是要弄成單位體積的,因而無可避免要將立體變平面,平面變線段,線段變成點這樣三個過程,因而每次只需要考慮掰

原创 poj 2104

討論 劃分樹,模版題,劃分樹的使用分爲構造和查詢兩步,構造是離線的,將一個大區間的數按照和中位數的大小關係被劃分到左右子區間(和中位數相等的有特殊處理),然後遞歸構造左右子區間,直到爲單元素,查詢時,也是從最大的區間出發,透過計算要查詢的

原创 hdu 5875

討論 單調棧,構圖,還有預處理,顯然樸素的思想不可能過的,需要一點優化,可以發現,如果某數先對一個較小的數取模,然後對一個較大的數取模,則對較大的數取模並不會影響結果,於是可想到令每次取模的操作數嚴格遞減,基於如此思路,可以構造一張圖,前

原创 hdu 1520 && poj 2342

討論 樹形dp,利用深搜處理每個人,對於每個人而言,都有自己來或不來所得到的活躍度,都要記錄下來,每個人的活躍度初始化到自己來的狀態上,對於每個人,如果自己不來,從每個直接下屬來或不來中取較大者加到自己身上,如果自己來,把每個直接下屬不來

原创 poj 2112

討論 圖論,最大流,isap+gap優化,floyd算法,二分思想,三者結合的好題,讀圖後以floyd求出多源最短路,這樣一次立方級預處理,往後讀取牛到擠奶器的最短距離都可以常數級查詢,後面會發現這絕對是值得的,然後二分走最遠的牛走的距離

原创 hdu 4104

討論 遞推,很巧妙,如果前i個價格,可以湊出1到S元,那麼對於第i+1個價格A,只要他的價格在1到S+1之內(含),就可以將可以湊出的價格擴充到1到S+A元,這實際上就是個不等式的加法,而若A不在這個範圍,則S+1就是第一個無法湊出的價格

原创 hdu 5877

討論 樹狀數組,離散化,深搜,比較樸素的思想就是深搜時對於每個節點都直接從樹上找滿足條件的祖先,鐵定超時,想到如何提升每次查找滿足條件的點數,線段樹/樹狀數組,以之將查詢複雜度降低到對數級,故樹上存每個點的值即可,但又數據規模巨大,再離散

原创 hdu 5873

討論 水題,只需要判斷總分夠不夠以及是否有明顯得分過多的隊就可以了 但是比賽的時候一着急就沒讀完輸入到底是怎麼結束的,然後就瘋狂的WA 所有隊總分是N(N-1),因爲完全圖是N(N-1)/2條邊,而每次比賽,都會產生2分,無論落在誰手

原创 hdu 5443

題目概述 給定由N個數構成的數列,進行Q次查詢,回答區間[l,r]中最大的數 時限 1000ms/1500ms 輸入 第一行整數times,其後times組數據,每組數據第一行整數N,下一行N個整數,下一行整數Q,其後Q行,每行兩個整數l

原创 hdu 5437

題目概述 你邀請了K個朋友參加派對,每個朋友都有名字name,來的時候都帶了價值v的禮物,但是你屋子太小沒法讓他們一次都進來,於是你讓他們在門口排隊,期間你會開M次門,每次開門發生在第T個朋友到來之後,你會讓至多P個朋友進來,在門口排隊的

原创 poj 2393

題目概述 一個工廠,每週可產任意多的貨,每個貨在該周生產單價爲c,貨可以在倉庫存放,每個貨每週貯存費S,工廠接了連續N周的訂單,每週要供貨y,求最低總成本 倉庫無窮大,貨可以永久存放 時限 1000ms/3000ms 輸入 第一行兩個整