NKOJ4270 小奇挖礦2

2022-08-12 16:09:13 字數 1818 閱讀 5794

問題描述

【題目背景】

小奇飛船的鑽頭開啟了無限耐久+精準採集模式!這次它要將原礦運到泛光之源的礦石交易市場,以便為飛船公升級無限非概率引擎。

【問題描述】

現在有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 若選...