2018.11.07 NOIP訓練 lzy的遊戲(01揹包)
傳送門 考慮對於每次最後全部選完之後剩下的牌的集合都對應著一種構造方法。 一個更接地氣的說法: 設消耗的牌數為t,如果使用的牌的l值之和也為t,則對應著一種構造方式讓這種情形成立。 於是做01揹包就可以了。 程式碼
相關推薦
2018.11.07 NOIP訓練 lzy的遊戲(01揹包)
傳送門 考慮對於每次最後全部選完之後剩下的牌的集合都對應著一種構造方法。 一個更接地氣的說法: 設消耗的牌數為ttt,如果使用的牌的lll值之和也為ttt,則對應著一種構造方式讓這種情形成立。 於是做0
2018.11.07【NOIP訓練】lzy的遊戲(01揹包)
傳送門 解析: 一個月前口胡了一下這道題,然後現在才在OJ上找到。。。 其實最困擾的是後效性的處理,我第一次口胡的時候總是覺得這個後效性環形怎麼處理都不太對,要麼不對要麼複雜度會爆炸,但是其實我們只需要知道一件事情,就是我們選擇的卡牌不超過總的張數,我們就總有辦法構造出
2018.11.07 NOIP模擬 分糖果(貪心)
傳送門 考慮 n = 2 時的情況:假定兩個人分別為(a, b),(c, d),則當且僅當min(a,d) ≤ min(b,c)時,把(a, b)放在前面更優,否則把(c, d)放在前面更優 然後把n
演算法訓練 裝箱問題(01揹包)
演算法訓練 裝箱問題 時間限制:1.0s 記憶體限制:256.0MB 問題描述 有一個箱子容量為V(正整數,0<=V<=20000),同時有n個物品(0<n<=30
NOIP 2012 國王遊戲(60分)
log print 題目 return -c 的人 iostream 所有 sort 題目描述 恰逢 H 國國慶,國王邀請 n 位大臣來玩一個有獎遊戲。首先,他讓每個大臣在左、右手上面分別寫下一個整數,國王自己也在左、右手上各寫一個整數。然後,讓這 n 位大臣排成一排,國王
2018.11.09【UVA11021】Tribles(概率DP)(不用全概率公式)
傳送門 強烈譴責: 對於懂全概率公式的人來說這是一道水題。 然而就是這群懂全概率公式的人寫著一篇篇題解與程式碼不符的部落格。連遞推陣列 f
2018-11-12單鏈表的實現(Java實現)
package singlelinklist; public class Node { int item; Node next; public Node(int item) { this.item = item; this.next = nul
2018.11.24 loj#111. 字尾排序(字尾陣列)
傳送門 字尾排序模板題。 終於會後綴陣列了(然而只會倍增並不會 D C 3
2018.11.30 bzoj3230: 相似子串(字尾陣列)
傳送門 字尾陣列入門題。 建立正反兩個字尾陣列算就行了。 程式碼: #include<bits/stdc++.h> #define ri register int using namespace std; typedef long long ll; const int N
2018.11.24 spoj New Distinct Substrings(字尾陣列)
傳送門 雙倍經驗(弱化版本) 考慮求出來 h e i
2018.10.02 NOIP模擬 矩陣分組(二分答案)
描述 有N行M列的矩陣,每個格子中有一個數字,現在需要你將格子的數字分為A,B兩部分 要求: 1、每個數字恰好屬於兩部分的其中一個部分 2、每個部分內部方塊之間,可以上下左右相互到達,且每個內部方塊之間
2018.10.03 bzoj1610:Line連線遊戲(計算幾何)
傳送門 計算幾何入門題,直接算出所有直線的斜率看有多少種不同就行了。 注意處理斜率不存在的情況。 程式碼: #include<bits/stdc++.h> #define N 205 usi
2018.10.09 NOIP模擬 好數(雙向搜尋)
傳送門 直接雙向搜尋出兩邊可行解,然後把兩邊的可行解合併起來得出答案就行了。 注意合併的時候可以利用排序和單調性優化時間複雜度。 直接列舉合併是O(siza∗sizb)O(siza*sizb)O(siz
採藥-動態規劃(01揹包)
採用一維陣列進行優化 #include<cstdio> #include<algorithm> using namespace std; int w[105], v[105]; int dp[1005]; int main() { int m, n; sca
B - Bone Collector (01揹包)
題目: 塗奧最近迷上了吃雞,房間有n個配件,每個配件有c(c<=1e3)的重量和v(v<=1e3)的價值,哇,塗奧撿了一個2級包,容量為s,所以塗奧最多當多肥的快遞員呢? Input 輸入的第一行是T, 表示有一共要打T場比賽. 每組資料由三行組成. 第1行包含兩個整數
和為K的組合(01揹包)
給出N個正整陣列成的陣列A,求能否從中選出若干個,使他們的和為K。如果可以,輸出:“Yes”,否則輸出"No"。 Input 第1行:2個數N, K, N為陣列的長度, K為需要判斷的和(2 <= N <= 20,1 <= K <= 10^9) 第2 - N + 1行
HDU 2602 Bone Collector(01揹包)
Bone Collector Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , s
NYOJ 289 - 蘋果(01揹包)
題目連結 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=289 【題目描述】 ctest有n個蘋果,要將它放入容量為v的揹包。給出第i個蘋果的大小和價錢,求出能放入揹包的蘋果的總價錢最大值。 輸入 有多組測試資料,每組測試資料
nyoj 325 - zb的生日(01揹包)
題目連結 http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=325 【題目描述】 今天是陰曆七月初五,acm隊員zb的生日。zb正在和C小加、never在武漢集訓。他想給這兩位兄弟買點什麼慶祝生日,經過調查,zb發現C小加和never
HDU 2602 - Bone Collector(01揹包)
題目連結 http://acm.hdu.edu.cn/showproblem.php?pid=2602 【思路】 01揹包問題 #include<bits/stdc++.h> using namespace std; const int maxn=1005; int