原创 topcoder SRM500 div1 Level3

Problem Statement   NOTE: This problem statement contains superscripts that may not display properly if viewed outsi

原创 poj 1830 異或方程組

【題意】 有N個相同的開關,每個開關都與某些開關有着聯繫,每當你打開或者關閉某個開關的時候,其他的與此開關相關聯的開關也會相應地發生變化,即這些相聯繫的開關的狀態如果原來爲開就變爲關,如果爲關就變爲開。你的目標是經過若干次開關操作後使得最

原创 topcoder SRM500 DIV1 level2 500分

Problem Statement   Nick likes to draw fractals. For the special occasion of Single Round Match 500, he decided to d

原创 SRM 492 div1level1

There are N trees arranged in a straight horizontal line. They are numbere

原创 topcoder SRM 501 div1 level1

Problem Statement   Fox Ciel was very bored, so she invented a single player game. The rules of the game are: You

原创 POJ 2057 The lost house

這道題求的是期望。 首先,一看到期望,就會想到可以將問題分成若干個子問題,再分開算期望,所以這道題可以使用動態規劃。 注意到每個葉子有房子的概率是均等的。所以答案就是遍歷每個葉子最少的步數/葉子的總數。 所以問題劃歸爲求遍歷所有葉子的最少

原创 poj 1038 狀態壓縮dp 四進制壓縮

黑書上的牛逼題 狀態壓縮,每個格子有0,1,2三種狀態。0表示這個格子爲空,1表示這個格子到下一行爲空。2表示這個格子到下下一行爲空。 如果以(x,y)這個格子爲左上角放2*3的矩形,則(x,y)=(x,y+1)=(x+1,y)=(x+1

原创 poj 2817 wordstack

數據規模很小,不免讓人想到搜索。但10!=3628800還是不夠優秀。 考慮到每次選擇只與前一次選擇有關,且N<=10,可以通過狀態壓縮的dp求解。 注意理解題意,允許兩個單詞中位置相同的字母不同,只是要求位置相同的字母相同的數目最大即可

原创 並查集練習---poj 1182 食物鏈

經典的並查集題目。 主要是節點之間的關係的維護。 首先看路徑壓縮部分: int find(int x) { if (fa[x]==x) return x; int t=fa[x]; fa[x]=find(fa[x]

原创 poj 2938 Economic Phone Calls

此題的核心就是選擇,按時間順序進行選擇的話,可以發現每次選擇只和當前選擇的集合中時間最晚的電話有關。 所以可以dp。 令f[i][j]爲處理了前i個電話,當前選擇的電話中最晚的電話爲j時,選擇的最少電話數。 對於i而言,如果選擇i,則有f

原创 線段樹典型例題--poj3667 hotel

題目很像內存分配。 線段樹維護這樣幾個量: col:節點的顏色(0--沒有覆蓋,1--全覆蓋,-1--有多種顏色) dl:從左邊開始的最長連續段 dr:從右邊開始的最長連續段 dm:節點中的最長連續段 dp:節點中最長連續段的開始位置 具

原创 poj 貪心小結(一)

本次貪心題的練習題有:2325,3258,3122,2393,1065,1323,1328,1700 1700:經典的過河問題。兩種貪心策略,一種是最快的+最慢的,最快的回來,再最快的+次慢的,最快的回來,第二種是最快的+次快的,次快的回

原创 APIO2007 數據備份 貪心+堆實現

【算法分析】 n,k都有10^5,所以考慮貪心算法 最基本的貪心就是任意一對數必須是相鄰的,這是顯然的。 考慮到一重要結論: 假設現在有三條相鄰的線段a1,a2,a3;a1>a2,a3>a2,如果a2小於等於最優解集中的最大元素,並且最優

原创 線段樹典型例題--poj2777

這到題我認爲網上有些人的算法是不對的。 void solve(int l,int r,int root) //詢問 { if(tree[root].col>=0) //如果父節點有單一的顏色,就直接更新,不需要找到子節點更新

原创 線段樹典型例題--poj2482

【題意】 Assume the sky is a flat plane. All the stars lie on it with a location (x, y). for each star, there is a grade ra