小Z的AK計畫

2022-07-07 13:42:12 字數 928 閱讀 5551

洛谷鏈結

在小z的家鄉,有機房一條街,街上有很多機房。每個機房裡都有一萬個人在切題。小z剛刷完codechef,準備出來逛逛。

機房一條街有 n 個機房,第 i 個機房的座標為 xi ,小z的家座標為 0。小z在街上移動的速度為1,即從 x1 到 x2 所耗費的時間為 |x1 − x2|。 每個機房的學生數量不同,acm 題目水平也良莠不齊。小z到達第 i 個機房後,可以花 ti 的時間想題,然後瞬間 ak;當然,也可以過機房而不入。

小z現在只有 m 個單位時間,之後他就該趕著去打 codeforces 了。現在他想知道自己最多能在多少個機房 ak,希望你幫幫他。

第一行包含兩個整數 n,m。

接下來 n 行,每行包含兩個整數 xi,ti 。

第一行包含乙個整數,表示小z最多能 ak 的機房數量。

2 10

1 100

5 51

思路:看見這道題,再一看標籤,就感覺是貪心,但有乙個問題,就是如何保證選取哪乙個,可以想到每一次都用堆記錄,如果當前的時間超過了m,那麼就減去最大的那乙個任務的用時,注意:一定要先新增入堆,再取出最大的值,因為有可能新增的值最大,這樣就減少了判斷。詳情看**;

#include#include#include#define int long long

using namespace std;

struct lx a[100005];

bool cmp(lx l, lx r)

int min(int x, int y)

priority_queueq;

signed main() sort(a + 1, a + 1 + n, cmp);//按距離排序

for(int i = 1; i <= n; i ++)

} printf("%lld", ans);

}

小Z的AK計畫

洛谷鏈結 在小z的家鄉,有機房一條街,街上有很多機房。每個機房裡都有一萬個人在切題。小z剛刷完codechef,準備出來逛逛。機房一條街有 n 個機房,第 i 個機房的座標為 xi 小z的家座標為 0。小z在街上移動的速度為1,即從 x1 到 x2 所耗費的時間為 x1 x2 每個機房的學生數量不同...

Luogu 小Z的AK計畫

luogu2107 一開始打了乙個60分的暴力dp,結果一分都沒得 本地調了好久才發現是沒開long long。由於我的dp方程沒有任何性質,就是乙個01揹包,所以就沒啥可優化的了。這個題的正解其實不是dp,而是貪心 由於是單向的走,在每個位置選用時少的機房ak總是好的,這也就等價於不在用時多的機房...

小Z的 AK 計畫 洛谷p2147

題目描述 在小z的家鄉,有機房一條街,街上有很多機房。每個機房裡都有一萬個人在切題。小z剛刷完codechef,準備出來逛逛。機房一條街有 n 個機房,第 i 個機房的座標為 xi 小z的家座標為 0。小z在街上移動的速度為1,即從 x1 到 x2 所耗費的時間為 x1 x2 每個機房的學生數量不同...