原创 Codeforces C. Johnny and Another Rating Drop (二進制 / 貪心)(Round #647 Div.2)

傳送門 題意: 找到0 ~ n 的兩兩相鄰數的二進制數的差異位數總和。 思路: 不難看出其實二進制數的每一位都有一定規律的。 二進制第一位的貢獻度爲 n / (2 ^ 0) 二進制第二位的貢獻度爲 n / (2 ^ 1) 二進

原创 Codeforces E. Tree Shuffling (樹 & dfs) (Round #646 Div.2)

傳送門 題意: 有一棵n個節點的樹,每個節點都有其a[i]代價,b[i]現有值,c[i]目標值。每次可以選擇一個節點x作爲根節點,選其子樹的k個節點隨機排序以得到目標值,消耗k *a[x]。試問是否可以使得整棵樹變成目標值,並輸出

原创 HDU 1540 Tunnel Warfare (線段樹 / 求最大連續區間長度)

傳送門 題意: 抗日戰爭時期,華北平原廣大地區進行了廣泛的隧道戰爭。一般來說,通過隧道連接的村莊成一直線。除了兩端的兩個村外,每個村莊都與兩個相鄰的村直接相連。 入侵者經常對一些村莊發動襲擊,並摧毀其中的部分隧道。八路軍指揮官要求

原创 POJ 2253 Frogger (最短路 / 求路徑最大邊)

傳送門 題意: 有n個石頭,各個石頭之間都可以通過跳躍到達,試問從a[0]到a[1]的途中需要跳躍的最小最大距離爲多少。答案保留三位小數。 思路: 因爲a[1]到a[2]是絕對能到達的(至少可以直接a[0]跳到a[1]),所以

原创 Codeforces B. Subsequence Hate (二進制 / 思維) (Round #646 Div.2)

傳送門 題意: 求出最小刪除字符數,以使二進制串s不含有"101"和"010"這樣的子串。 思路: 可以看出,字符串不能出現’0’,'1’交替出現的情況。即只有"1111……",“0000……”,"1111……0000"和"

原创 Codeforces E. Maximum Subsequence Value (二進制 / 思維) (Round #648 Div.2)

傳送門 題意: 在給定的序列中選擇一個子序列,若子序列裏有k個數,當至少有max(1,k-2)個數在二進制第i位上爲1的時候,對答案就有2 ^ i貢獻,試問最大的答案是多少。 思路: 若選定了k個數,那麼假設有 >= k -

原创 HDU1542 Atlantis (線段樹 / 求總面積)

傳送門 題意: 給出許多島嶼的座標,試求出所有島嶼的總面積(島嶼面積的並)。 輸入: 描繪了每張地圖時,包含四個數字x1,y1,x2,y2(不一定是整數),(x1,y1)和(x2,y2)分別是地圖的左上角位置和右下角位置。 且注意

原创 Codeforces C. Celex Update (思維) (Round #645 Div.2)

傳送門 題意: 給出一張地圖,每次只能向右或向下移動並得到該位置數字的值,試問從(x1,y1)到(x2,y2)的路徑和有多少種? 思路: 不難發現地圖的規律,從右上角到左下角數字依次增加1 當然也會發現,若先選定一條路徑得到

原创 POJ 1797 Heavy Transportation (最短路 / 求路徑最小邊)

傳送門 題意: 有n個交叉口,m條路,每條路有三個屬性:起點,終點,最大載重。 假設從a到b的最大載重是從a -> b所能承載的最大重量,問從1 -> n的最大載重是多少? 思路: 其實和上一題非常相似,只不過上一題是求路徑最

原创 西科大第十六屆ACM程序設計競賽 E 呼蘭河傳 (數學)

傳送門 題意: 沿着河邊看一看清冷的夏夜,耳機裏是AR的《呼蘭河傳》。AR的呼蘭河並非一條河,而是一個故鄉小城的生活日記。靜謐的童年,孩子看世界的眼光,花開鳥飛間的自由,塑造了一方那個時代中少有的美好。 現在,你需要回答以下問題,

原创 Codeforces D. Solve The Maze (bfs & 貪心) (Round #648 Div.2)

傳送門 題意: 現有一個n * m 的迷宮,期間 '#'表示牆壁, '.'表示道路 , 'G’表示好人, 'B’表示壞人。試問是否能通過將某些道路改建爲牆壁,以使所有壞人不能從(n,m)出口逃出,而所有好人可以。 思路: 這題看

原创 Codeforces C. Game On Leaves (貪心 / “博弈”) (Round #646 Div.2)

傳送門 題意: 給你一個n個節點的無根樹和一個特殊節點x。Ayush和Ashish輪流在樹上進行遊戲:找到一個葉節點(度大於或等於零)將其刪除(包括以其爲端點的邊),刪除特殊點的就是贏家,且Ayush爲先手。輸出每個測試的贏家名字

原创 Codeforces C. RationalLee (思維) (Round #652 Div.2)

傳送門 題意: 給你n個數,有m個朋友,每個朋友要拿其中w[i]個數,每個人獲得的幸福值是他拿的數的最大值與最小值的和,如果只有一個數最大值最小值都是它,讓你求出所有人能獲得的最大幸福值是多少? 思路: 由於每個朋友的幸福值是

原创 SCPC :RGB (思維 / 線段樹)

傳送門 題意: 給你一個字符串。 字符串由:‘R’ , ‘G’ , ‘B’ 組成。 找一個區間,使得能獲得的價值最大。 價值計算公式:5 * r - 3 * g + b r , g , b 分別爲字符 R , G , B 的個數。

原创 Codeforces C. Number Game (數學 / 博弈) (Round #651 Div.2)

傳送門 題意: Ashishgup 與 FastestFinger 比賽,給出一個初值n,可進行一下操作: 如果n > 1,便 n – 除以一個大於 1 並且必須是奇數的因數,可以除以自己,如果自己是奇數的話 最先不能動的輸