原创 Luogu P1314 [NOIp提高組2011]聰明的質監員

題目描述 小T 是一名質量監督員,最近負責檢驗一批礦產的質量。這批礦產共有 n 個礦石,從 1到n 逐一編號,每個礦石都有自己的重量 wi 以及價值vi 。檢驗礦產的流程是: 1 、給定m 個區間[Li,Ri]; 2 、選

原创 BZOJ 1096 [ZJOI2007]倉庫建設

題目描述 傳送門 L公司有N個工廠,由高到底分佈在一座山上。如圖所示,工廠1在山頂,工廠N在山腳。由於這座山處於高原內陸地區(乾燥少雨),L公司一般把產品直接堆放在露天,以節省費用。突然有一天,L公司的總裁L先生接到氣象部門的

原创 UVa10970 Big Chocolate

題目描述 哈哈哈超級大水題~~ 代碼 #include<cstdio> using namespace std; int main(){ int a,b; while(scanf("%d%d",&a,&b

原创 Luogu P2679 [NOIp提高組2015]子串

題目描述 有兩個僅包含小寫英文字母的字符串 A 和 B。現在要從字符串 A 中取出 k 個互不重疊的非空子串,然後把這 k 個子串按照其在字符串 A 中出現的順序依次連接起來得到一 個新的字符串,請問有多少種方案可以使得這個新

原创 UVa10285 Longest Run on a Snowboard

題目描述 DP 代碼 #include<cstdio> #include<iostream> #include<algorithm> #include<string> #include<cstring> using na

原创 LA3882 And Then There Was One

題目描述 傳送門 藍書上的例題,遞推法求之。 設f(n) 爲0~n-1個數字圍成一圈,從0開始每k個刪一次最後刪的數。 f(n)=(f(n−1)+k)%n 最終答案是 (f[n]+m-k+1)%n 注意可能是負數,還要處

原创 UVa 10859 Placing Lampposts

題目描述 傳送門 根據藍書的思路: 設d(i,j) 爲以i 爲根節點的子樹,i 的父節點是否放燈(j =0,1分別爲放和不放)的最小方案數。 因爲在放置街燈a 相等的情況下還有第二個比較條件,把條件統一爲恰好被一盞燈照亮的

原创 BZOJ 1010 [HNOI2008]玩具裝箱toy

題目描述 傳送門 P教授要去看奧運,但是他舍不下他的玩具,於是他決定把所有的玩具運到北京。他使用自己的壓縮器進行壓縮,其可以將任意物品變成一堆,再放到一種特殊的一維容器中。P教授有編號爲1…N的N件玩具,第i件玩具經過壓縮後變

原创 Luogu P2827 [NOIp提高組2016]蚯蚓

題目描述 傳送門 哎…開三個隊列,可證單調性,我怎麼就想不到呢QWQ. 代碼 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm>

原创 UVa10635 Prince and Princess

題目描述 傳送門 求兩序列的LCS,當序列元素兩兩互不相等可轉化爲LIS。 LIS可以用O(nlogn) 的算法求解。 (但我還是理解不透徹,總感覺在背模板…) 代碼 #include<iostream> #include

原创 BZOJ 1911 [APIO2010]特別行動隊

題目描述 因爲是從別人博客裏斜率優化分類一欄找的題目,所以…這題被我秒了。 顯然先預處理前綴和s(i)=∑ik=1xi 設d(i) 爲將前i 個士兵分組的最大修正後戰鬥力。 d(i)===max{ d(j)+a(s(i

原创 UVa10524 Wavio Sequence

題目描述 傳送門 最長上升子序列和最長下降子序列,O(nlogn) 算法理解的還不是很透徹。 代碼 #include<cstdio> #include<iostream> #include<cstring> #include<

原创 Luogu P1282 多米諾骨牌

題目描述 傳送門 多米諾骨牌有上下2個方塊組成,每個方塊中有1~6個點。現有排成行的上方塊中點數之和記爲S1,下方塊中點數之和記爲S2,它們的差爲|S1-S2|。例如在圖8-1中,S1=6+1+1+1=9,S2=1+5+3+2

原创 LA3983 Robotruck

題目描述 藍書上的例題,我重新推導一遍。 設d(i) 表示撿完前i 個垃圾需要走的最短距離。 d(i)=min{d(j)+dist0(j+1)+dist(j+1,i)+dist0(i) | w(j+1,i)<=c}

原创 Luogu P1969 [NOIp提高組2013]積木大賽

題目描述 傳送門 一道水題搞了半個多小時,無語了… 這道題告訴我:NOIp第一題一定不要想複雜,不要腦子抽了!!! 仔細想想可以發現這樣做:從前往後掃,如果當前積木高度大於上一個積木高度h>hlast 答案增加hlast−