原題位址
沒仔細看題目。因為乙個人只能選一次。。這樣的話用線段樹搞一下就可以,求出每個訊號要抹去的最小代價,然後乙個01揹包就可以求出答案啦。
#includeusing namespace std;
typedef long long ll;
const int n = 1e5+5;
#define lson rt<<1, l, mid
#define rson rt<<1|1, mid+1, r
ll a[n], min[n<<2], sum, n, m, k, w[n];
ll dp[505];
void update(int rt, int l, int r, int l, int r, ll x)
int mid = (l + r) / 2;
update(lson, l, r, x);
update(rson, l, r, x);
}ll query(int rt, int l, int r, int pos)
int main()
int l, r;
ll x;
for (int i = 1; i <= m; i++)
for (int i = 1; i <= n; i++)
for (int i = 1; i <= n; i++)
} cout << sum + dp[k] << endl;
}
牛客小白月賽15
第三題 dbq 牛客的這道題真的絕了,wa的原因我看了一下,完全不影響答案,腦子抽寫了兩句語句 與結果不影響 導致wa,這題的評測令人害怕。includeusing namespace std define maxn 500010 intn,q mapmp int sum 0,temp 0 總字串數...
牛客小白月賽15
這次的題目出的不錯,有9題是我賽後能做出來的。但是資料太智障了,重配好幾次還是有問題。sol 貪心 如果x i y i m,則第i只斑羚一定到不了對岸,所以要盡量多的使用這種斑羚當跳板 如果x i y i m,則兩隻這樣的斑羚一定有乙隻可以借助另乙隻到達對岸 ps 比賽的時候資料出鍋了,重配之後還是...
牛客小白月賽43 E
有數字 1 9,每個數字的個數分別為 cnt1,cnt2,cnt3,cnt9。計算出 滿意的集合 的個數。滿意的集合 定義 選出的數存在一種排列方式,其拼接起來後表示的十進位制整數,能被 3整除,例如集合 包含了 2 個數字 3,1 個數字 6 可以有排列 代表十進位制下的整數 633,能被 3 整...