nico和niconiconi

昨天打了一会比赛头疼,就把比赛鸽了,今天补题,写这道题,觉得字符串的substr()这个函数挺好用,理解了题意后,推一下,动态方程就出来了

题解

如果当前为nico那么dp[i]=max(dp[i-3]+a,dp[i]),以此类推就能推出动态转移方程,因为当前如果要取的话,就会对之前的状态影响,所以找到不受影响的加上取的,和当前不取的状态比较即可,01背包的思路

subst(i,len)从i开始,长度为len的字符串,就相当于从字符串中截断一部分

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=3e5+5;
ll dp[maxn];
string s;
int main()
{ll n,a,b,c;cin>>n>>a>>b>>c;cin>>s;int len=s.size();for(int i=1;i<len;i++){dp[i]=dp[i-1];if(i>2&&s.substr(i-3,4)=="nico"){dp[i]=max(dp[i],dp[i-3]+a);}if(i>4&&s.substr(i-5,6)=="niconi"){dp[i]=max(dp[i],dp[i-5]+b);}if(i>8&&s.substr(i-9,10)=="niconiconi"){dp[i]=max(dp[i],dp[i-9]+c);}}cout<<dp[n-1]<<endl;
}

牛客dp nico和niconiconi相关推荐

  1. [SCOI2009]粉刷匠 牛客DP入门

    0x00 题目来源 [SCOI2009]粉刷匠 0x10 Tag 线性DP.区间DP 0x20 题目描述 windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色'0' ...

  2. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  3. 【牛客每日一题】4.15 Treepath 题解(树上dfs/树形DP)

    题目链接:https://ac.nowcoder.com/acm/problem/14248 来源:牛客网 题目描述 给定一棵n个点的树,问其中有多少条长度为偶数的路径.路径的长度为经过的边的条数.x ...

  4. 牛客 contest897 C-Latale(树上dp)

    题意 N个节点的树,每条边有条权值,问有多少个点对(U,V)(U, V)(U,V),使得UUU到VVV的距离是3的倍数. 思路 dfs1dfs1dfs1处理每个节点包含子树的dis[dis[%3 = ...

  5. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  6. 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)...

    链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...

  7. 牛客假日团队赛10 L 乘积最大 (dp,大数)

    链接:https://ac.nowcoder.com/acm/contest/1072/L?&headNav=acm&headNav=acm 来源:牛客网 乘积最大 时间限制:C/C+ ...

  8. 牛客假日团队赛5 K 金币馅饼 (DP 基础题)

    链接:https://ac.nowcoder.com/acm/contest/984/K 来源:牛客网 金币馅饼 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言 ...

  9. 牛客练习赛26B 烟花 (概率DP)

    链接:https://ac.nowcoder.com/acm/contest/180/B 来源:牛客网 烟花 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5 ...

最新文章

  1. CentOS 下安装编译安装MeMcached
  2. UA MATH563 概率论的数学基础 中心极限定理20 弱收敛的性质
  3. 730阵列卡支持多大硬盘_凯捷月销破2万,配6座头等舱空间,到底有多舒服?试驾了才知道...
  4. 数据结构和算法之排序五:选择排序
  5. redis的其他功能
  6. 安全扫描利器-xscan3.3中文版
  7. 到底什么是端到端(edge-to-edge)啊?
  8. iOS开发 - 搜索(模糊搜索 支持拼音检索 首字母等)
  9. GPG入门 - 练习笔记
  10. java 微信接收消息_Java后台与微信公众号交互----接收并处理微信客户端发送的请求...
  11. mysql中locat函数,MySQL中的LOCATE和POSITION函数使用方法
  12. Warmup 原理与实现
  13. 特征值(eigenvalue)特征向量(eigenvector)特征值分解(eigenvalue decomposition)
  14. 京东云开发者|IoT运维 - 如何部署一套高可用K8S集群
  15. 2008圣诞新年祝语之师长、上司篇
  16. Spring的maven项目单元测试报错 : Error:java:JDK isn't specified for module
  17. 远程桌面连接和防火墙设置
  18. Python处理mat文件的三种方式小结
  19. 一个程序员如何快速下载软件方法总结
  20. Levenberg-Marquardt(LM算法)的理解

热门文章

  1. php %3c0x1a%3e是什么_利用ThinkPHP漏洞扫描攻击
  2. asp连接 Oracle
  3. 【C++】图书管理系统(完整版)
  4. 亚马逊erp系统亚马逊FBA系统货代仓储打包系统
  5. 北京交通大学计算机考研分数2019,2019北京交通大学考研复试分数线
  6. Linux下的常用命令(干货)
  7. Arch Linux遇到的坑(下)
  8. H264视频压缩算法
  9. 这可能是史上最详细的MES介绍
  10. 12. tie_breaker的使用原因和使用方法