Educational Codeforces 71 C

图片说明
图片说明

  • 题意:
  • 给出你一个字符串,代表油管的形状,但是这个形状不是固定的,你可以改变高为1的管道,管道的价格是a,支柱的价格是b,问你建成这样的管道最少花费多少?
  • 题解:
  • 贪心策略,题目给出头尾都是高度为1的管柱,每次如果高度为2,要保证左面和右面的柱子一定要为2,如果高度为1,就要讨论是高度为1的花费少还是高度为2的花费少。
  • 代码:
    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    const ll inf = 1e17;
    char s[200010];
    ll ans[200010][2];
    int main()
    {
      int t;
      cin>>t;
      while(t--)
      {
          ll n,a,b;
          cin>>n>>a>>b;
          scanf("%s",s+1);
          ans[0][0] = b,ans[0][1] = inf;
          for(int i=1;i<=n;i++)
          {
              if(s[i] == '0'){
                  ans[i][0] = min(ans[i-1][0],ans[i-1][1]+a)+a+b;
                  ans[i][1] = min(ans[i-1][0]+a+b,ans[i-1][1])+a+2*b;
              }else{
                  ans[i][0] = inf;
                  ans[i][1] = min(ans[i-1][0]+a+b,ans[i-1][1])+a+2*b;
              }
          }
          cout<<ans[n][0]<<endl;
      }
      return 0;
    }
全部评论

相关推荐

Cl_Wg:看牛客匿名贴容易抑郁,白菜就是我的天花板
点赞 评论 收藏
分享
2025-12-18 18:23
深圳大学 前端工程师
程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务