問題描述
【題目背景】
小奇飛船的鑽頭開啟了無限耐久+精準採集模式!這次它要將原礦運到泛光之源的礦石交易市場,以便為飛船公升級無限非概率引擎。
【問題描述】
現在有m+1個星球,從左到右標號為0到m,小奇最初在0號星球。
有n處礦體,第i處礦體有ai單位原礦,在第bi個星球上。
由於飛船使用的是老式的跳躍引擎,每次它只能從第x號星球移動到第x+4號星球或x+7號星球。每到乙個星球,小奇會採走該星球上所有的原礦,求小奇能採到的最大原礦數量。
注意,小奇不必最終到達m號星球。
輸入格式
第一行2個整數n,m。
接下來n行,每行2個整數ai,bi。
輸出格式
輸出一行乙個整數,表示要求的結果。
樣例輸入 1
3 13
100 4
10 7
1 11
樣例輸出 1
樣例輸入 2
15 200
9896 156
6614 57
7 174
8529 5
6464 74
1171 74
9749 70
225 168
1175 115
8224 192
2968 92
9769 45
7025 150
9981 112
9337 172
樣例輸出 2
提示【樣例解釋】
第一次從0到4,第二次從4到11,總共採到101單位原礦。
【資料範圍】
對於20%的資料 n=1,m<=10^5
對於40%的資料 n<=15,m<=10^5
對於60%的資料 m<=10^5
對於100%的資料 n<=10^5,m<=10^9,1<=ai<=10^4,1<=bi<=m
【題目分析】
(作者懶,有緣再補)
【標程參考】
1 #include2 #include3#define rg register
4#define r rg int
5#define inf -999999999
6#define maxn 1000005
7using
namespace
std;
8int
n, m, a;
9int
f[maxn], ff[maxn];
10bool anterior[20] = ; //
打表 11
struct
node ;node planet[maxn];
14bool
cmp(node a, node b)
17 inline int
read()
25void
ini()
32 sort(planet + 1, planet + n + 2
, cmp);33}
34void
solve()
43if (planet[i].b - planet[j].b > 18
)44 f[i] = max(f[i], ff[j] +planet[i].a);
45 ff[i] = max(ff[i - 1
], f[i]);
46 a =max(a, f[i]);47}
48 printf("%d"
, a);49}
50int
main()
【傳送門】
小奇挖礦 2 題解
小奇挖礦 2 題目 題目背景 小奇飛船的鑽頭開啟了無限耐久 精準採集模式!這次它要將原礦運到泛光之源的礦石交易市場,以便為飛船公升級無限非概率引擎。問題描述 現在有m 1個星球,從左到右標號為0到m,小奇最初在0號星球。有n處礦體,第i處礦體有ai單位原礦,在第bi個星球上。由於飛船使用的是老式的跳...
小奇挖礦 Explo
題目背景 小奇要開採一些礦物,它駕駛著一台帶有鑽頭 初始能力值 w 的飛船,按既定路線依次飛過喵星系的 n 個星球。問題描述 星球分為 2 類 資源型和維修型。1.資源型 含礦物質量 a i 若選擇開採,則得到 a i p 的金錢,之後鑽頭損耗 k 即p p 1 0.01k 2.維修型 維護費用 b...
小奇挖礦 解題報告
小奇挖礦 題目背景 小奇要開採一些礦物,它駕駛著一台帶有鑽頭 初始能力值w 的飛船,按既定路線依次飛過喵星系的n個星球。問題描述 星球分為2類 資源型和維修型。1.資源型 含礦物質量a i 若選擇開採,則得到a i p的金錢,之後鑽頭損耗k 即p p 1 0.01k 2.維修型 維護費用b i 若選...