2020牛客寒假算法基础集训营1-nico和niconiconi
生活随笔
收集整理的這篇文章主要介紹了
2020牛客寒假算法基础集训营1-nico和niconiconi
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目鏈接: https://ac.nowcoder.com/acm/contest/3002/I
題解思路
一道并不是很難,也很好理解的dp
代碼
#include <bits/stdc++.h> using namespace std; const int MAXN = 300005; string dir[5] = {"nico", "niconi", "niconiconi"}; long long dp[MAXN]; int main() {ios::sync_with_stdio(false);int n, a, b, c;cin >> n >> a >> b >> c;fill(dp, dp + n + 5, 0);string s;cin.get();getline(cin, s);for(int i = 1; i <= n; i++){if(i >= 4 && s.substr(i - 4, 4) == dir[0]) {dp[i] = max(dp[i], dp[i - 4] + a); // cout << 1 << " " << i << endl;}if(i >= 6 && s.substr(i - 6, 6) == dir[1]) {dp[i] = max(dp[i], dp[i - 6] + b); // cout << 2 << " " << i << endl;}if(i >= 10 && s.substr(i - 10, 10) == dir[2]) {dp[i] = max(dp[i], dp[i - 10] + c); // cout << 3 << " " << i << endl;}dp[i] = max(dp[i], dp[i - 1]); // i 之前的最高得分}cout << dp[n] << endl;return 0; }總結
以上是生活随笔為你收集整理的2020牛客寒假算法基础集训营1-nico和niconiconi的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Error could not open
- 下一篇: 如何自创一门计算机语言