洛谷P2831 憤怒的小鳥 狀壓dp

2021-09-07 20:19:43 字數 709 閱讀 3821

題目鏈結

這題。。。。我樣例沒過就a了??。。算了,就當是樣例卡精度吧。。

直接狀壓dp一下,\(f[sta]\)表示乾掉\(sta\)這個集合裡面的鳥的最小運算元

轉移的時候判斷一下一次能乾掉多少鳥。。

#include#define ll long long 

using namespace std;

const int maxn = 100001;

inline int read()

while(c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();

return x * f;

}int n, m, a[maxn], block, siz[maxn], flag[maxn], rak[maxn], tp[maxn];

vectorv[maxn];

sets[maxn];

int comp(const int &x, const int &y)

int main()

ll ans = 0;

for(int i = 3; i <= n; i++) else

s[x].insert(to);}}

cout << ans;

return 0;}/*

2 113 17

2 1*/

洛谷 P2831 憤怒的小鳥 狀壓DP

一.浮點數判相等 二.拋物線的判斷 題目中的拋物線有兩個未知數,在正常情況下,每兩點便可確定一條拋物線,但以下情況除外 1.兩點所在的直線經過原點 2.兩點橫座標相等 3.a 0 注 本題可用隨機化。include include include int para 650 int tot defin...

洛谷P2831 憤怒的小鳥 貪心?狀壓DP

題目 一開始想 n 3 貪心來著 先按 x 排個序,那麼第乙個不就一定要打了麼?在列舉後面某乙個,和它形成一條拋物線,選能順便打掉最多的那個 然後連樣例都過不了.include include include include include define eps 1e 9 using namespa...

P2831 憤怒的小鳥 狀壓dp

n nn個點,每次可以射掉在函式y a x2 b xy ax 2 bx y ax2 bx上的點 a,b a,ba,b自定但是要求a 0a 0 a 0 求最少射擊次數。考慮狀壓,我們發現如果一次射掉兩個或以上的點那麼一定是一條固定的線 如果a 0 a geq 0 a 0的話就沒有了 計算cov eri...