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 每個機房的學生數量不同...