1415C. Bouncing Ball
生活随笔
收集整理的這篇文章主要介紹了
1415C. Bouncing Ball
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
C. Bouncing Ball:題目
很好的dp,1400分難見的題 #include <bits/stdc++.h> using namespace std; #define int long long vector<int> a((int)6e5); vector<int> b((int)6e5), c[(int)6e5]; const int mod = 1e9 + 7; string s; signed main() {int t;cin >> t;while (t--){int n, p, k;cin >> n >> p >> k;cin >> s;int x, y;cin >> x >> y; // x是0變1,y是刪除for (int i = 1; i <= n; i++){a[i] = s[i - 1] - '0';}int res = 0x3f3f3f3f;for (int i = p; i <= n; i++){b[i] = 0;if (a[i] == 0)b[i] = x;b[i] += (i - p) * y;}for (int i = p + k; i <= n; i++){if (a[i] == 0)b[i] = min(b[i], b[i - k] + x);elseb[i] = min(b[i], b[i - k]);}for (int i = n; i >= 0 && i >= n - k + 1&&i>=p; i--)res = min(res, b[i]);cout << res << endl;} }總結(jié)
以上是生活随笔為你收集整理的1415C. Bouncing Ball的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机中函数counta表示,excel
- 下一篇: 算法 --- 二叉树查找树的先序(中序