Luogu 小Z的AK計畫

2022-05-13 09:42:09 字數 1001 閱讀 7850

luogu2107

一開始打了乙個60分的暴力dp,結果一分都沒得……本地調了好久才發現是沒開long long

由於我的dp方程沒有任何性質,就是乙個01揹包,所以就沒啥可優化的了。

這個題的正解其實不是dp,而是貪心……由於是單向的走,在每個位置選用時少的機房ak總是好的,這也就等價於不在用時多的機房ak,所以開個堆存一下ak了那些機房,超時了就把時間最長的機房去掉就行了。

dp:

#include #include #include typedef long long ll;

const int n = 1e5 + 10;

ll f[n];

ll n, m;

struct node

} a[n];

int main()

f[0] += a[i].x - a[i-1].x;

}printf("%lld\n", ans);

return 0;

}

貪心:

#include #include #include typedef long long ll;

const int n = 100000 + 10;

int n;

ll m;

struct node

} a[n];

std::priority_queueq;

bool cmp(const node& a, const node& b)

int main()

}std::sort(a+1, a+n+1, cmp);

int tmp = 0, ans = 0; ll t = 0;

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

if (t + a[i].x <= m) ans = std::max(ans, tmp);

}printf("%d\n", ans);

}

小Z的AK計畫

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

小Z的AK計畫

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

小Z的 AK 計畫 洛谷p2147

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