曹文信息在线OJ
Home
ProblemSet
Source/Category
Contest
Status
Ranklist
F.A.Qs
Login
Register
2423: 可持久化01背包
Memory Limit:512 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:7
Solved:7
Submit
Submit Record
Statistics
Web Board
ShowOff!
Description
baobao学习了很多可持久化数据结构,例如可持久化线段树、可持久化平衡树、可持久化并查集.......
今天,baobao翻了一下pcf的博客,发现里面有个可持久化01背包的问题。他很乐意与你分享。
这个01背包问题只是在原有的基础上增加了查询功能。即在输出最优解后,还要输出选择了那些数。
同时,在这个问题中你必须得按顺序加入物品,若加入这个物品不会使当前答案变优,你就不应该记录下这个物品。
Input
第一行一个整数n和tot,表示总共的物品数和背包大小。(n≤100,tot≤100,000)
接下来n行,每行两个整数vi和wi,分别表示第i个物品的价值和重量。
【输出要求】
第一行一个整数,表示最优的答案。
第二行一个整数x,表示最有答案中选了x个物品。
第三行x个整数,按从小到大的顺序,表示物品的编号。
【输入样例】
【输出样例】
【解题提示】
Output
第一行一个整数,表示最优的答案。
第二行一个整数x,表示最有答案中选了x个物品。
第三行x个整数,按从小到大的顺序,表示物品的编号。
Sample Input
Copy
5 12 1 2 3 4 5 6 7 8 9 10
Sample Output
Copy
10 2 2 4
HINT
并不是按字典序,看清题意。
Source/Category
动态规划
背包动规
高级B