原创 HDU2491 Priest John's Busiest Day

題目鏈接 題意: 有n個人要進行乒乓球比賽,每個人都一個能力值,每個人出現的次序就是他們住的位置 現在要求進行一場比賽,三個人,裁判的能力值在兩個選手之間,住的位置也在兩個人的之間 問這種比賽一共可以進行多少次 思路: 用樹狀數組做,否則

原创 hdu1003 最大連續子序和

題目鏈接 代碼如下: #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> using namespace st

原创 zoj3905 Cake (簡單dp)

題目鏈接 題意:n個蛋糕(n一定爲偶數),第i個蛋糕對A的價值爲a[i],對B的價值爲b[i],A任取兩個蛋糕,B總是把這兩個蛋糕中對於他來說價值較大的那個拿走,剩下的一個給A,問A可以拿到的最大價值總和是多少? 思路:將蛋糕按b[i]從

原创 Codeforces Educational Codeforces Round 2 A. Extract Numbers

題目鏈接 題意: 給你一串字符串 s; ‘,’ 和';'作爲分隔符,其他被視作word,word可以爲空; 將這些words分離出來,整數(不包括前導0和浮點數)保存到 string a, 其餘保存到 string b; 輸出 strin

原创 Codeforces Round #323 (Div. 2) C.GCD Table

題目鏈接 題意: 用n個數,組成一個n*n的gcd矩陣 矩陣元素由這n個數和它們兩兩之間的最大公約數構成 g(i,j) = gcd(a[i], a[j]) 現給你這個gcd矩陣的所有元素,求這n個數 思路: gcd矩陣中最大的那個數一定是

原创 Codeforces 580D Kefa and Dishes

題目鏈接 題意: n個點 m條有向邊 選恰好k個點 下面n個數給出點權 下面m行給出邊和邊權 設上一次選的點是u這一次選的點是v,則可以獲得邊權u->v的價值。 問:使得選出的權和最大,問最大的權和 思路:顯然是狀壓dp,每個點只有兩種情

原创 CODEFORCES ROUND #321 (DIV. 2) E.Kefa and Watch(線段樹+hash)

題目鏈接 題意: 給定n, m, k 長度爲n的數字串 m+k個操作 1 l r c :把[l,r]的所有字符改成c 2 l r d :詢問[l, r]的週期是否爲d 所謂週期 x 就是 (1 ≤ x ≤ |s|), if si  = 

原创 UVALive 3971 Assemble(二分 + 貪心)

題意: t 組測試數據,n個零件,b元錢; n個零件的信息:種類、名稱、價格、質量; 每種零件買一個,組裝電腦,電腦性能由所有配件中質量最小的那個決定,求b元錢能組裝的電腦的最大性能 思路: 二分性能範圍,然後利用貪心,儘量拿錢數最小的去

原创 Codeforces Round #331 (Div. 2) C. Wilbur and Points

題目鏈接 題意: 輸入n,然後給出n組 (x, y); 給出n 個w[i]; 要求:將n組(x, y)排序,要求x[i] <= x[i + 1] || y[i] <= y[i + 1] 並且w[i] = y[i] - x[i] 若存在,輸

原创 Codeforces 580C Kefa and Park(dfs)

題目鏈接 題意:給定n個點的數 常數m 下面n個數給出點權(點權爲0或1) 要求從根走到葉子節點的最短路徑上 連續1的個數不超過m個 的葉子節點有多少個 思路:dfs搜一遍 代碼如下:#include<cstdio> #include<c

原创 ZOJ 3777 Problem Arrangement(壯壓dp)

題目鏈接 題意:給定一個n*n的矩陣,在矩陣中選n個數字(每行每列只能選一個數字),問選出的數字和>=m的方法數 思路: 設滿足條件的方案書爲ans, 總方案數爲 n!,那麼期望就是 n! / ans 1、矩陣較小可以狀壓 2、每次轉

原创 ZOJ 3778 Talented Chef(計算器模擬)

題目鏈接 該題是求三個數之間的加減乘除取餘,其實就是模擬計算器,下面給出用stack容器寫的普遍通用的代碼: #include<cstdio> #include<cstring> #include<cmath> #include<cstd

原创 HDU5478 Can you find it

題目鏈接 題意:給定 C,k1, b1, k2 找出所有的(a, b)滿足 ak1⋅n+b1+ bk2⋅n−k2+1 = 0 (mod C)(n = 1, 2, 3, ...)  (1<=a, b <C) 思路:n = 1時,找出(1,

原创 CodeForces 555A Case of Matryoshkas

題目鏈接 題意,俄羅斯套娃,數字小的在裏面,數字大的在外面,n個套娃,k組,求將1——n個套娃套在一起的最小步數,簡單模擬 代碼如下: #include<cstdio> #include<cstring> #include<iostrea

原创 HDU 5400 Arithmetic Sequence

題目鏈接 題意: n個數,兩個公差d1, d2 求符合要求的子序列 [l, r](1≤l≤r≤n) 數量 要求:存在點i(l <= i <= r)使得a[l] ~a[i]是公差爲d1的等差數列,a[i]~a[r]是公差爲d2的等差數列 思