题目大意:
有n个橙子排成一列,每个橙子上都有NOI三个字母中的一个,若从左到右连续拿3个橙子,三个橙子的字母依次是NOI,就成功获得奖励。现在将贴有字母P的橙子放入其中,可以选择当做任意一个字母,请问放了橙子P之后一共有多少种方法可以得到奖励?


思路:
这道题我一开始以为是最长不下降序列类型的题目,但是后来想了一下,感觉不对。于是思考了另外一种方法:
从0到n枚举字母O(中间的字母),然后计算出使用O的可以排成NOI的序列数量,和maxn比较。最终答案储存在maxn中。


代码:

#include <cstdio>
using namespace std;long long n,I[100001],N[100001],O[100001],sumi,sumn,maxn,ans,j,k1,k2;
char s[100001];long long max(long long a,long long b)
{return a>b?a:b;
}int main()
{freopen("noip.in","r",stdin);freopen("noip.out","w",stdout); scanf("%lld\n",&n);gets(s);for (int i=0;i<=n-1;i++)if (s[i]=='I') sumi++;  //数出I的个数for (int i=0;i<=n-1;i++){if (s[i]=='I') sumi--;N[i]=sumi;  //位于s[i]右边的i的个数if (s[i]=='N') sumn++;I[i]=sumn;if (s[i]!='O') continue;  //不是O就进行下一次循环k1+=sumn;k2+=sumi;ans+=sumi*sumn;}j=0;for (int i=0;i<=n-1;i++)  //枚举Omaxn=max(maxn,I[i]*N[i]);printf("%lld\n",ans+max(max(k1,k2),maxn));return 0;
}

转载于:https://www.cnblogs.com/hello-tomorrow/p/9313124.html

SSL-ZYC NOIP相关推荐

  1. 【动态规划】 摆花 【NOIp普及组 2012 第三题】 (ssl 2360/luogu 1077)

    摆花摆花摆花 题目大意 有n种花,每种花有ai支,取m支,有多少种取法?(同一种花取第1,第3支和取第1,第2支算一种取法) 解题方法: 用f[i][j]来表示前i种选j支的方案数,然后往后推 动态转 ...

  2. 【深搜】 棋盘 【NOIp普及组 2017 第三题】 (luogu 3956/ssl 2851)

    棋盘棋盘棋盘 题目大意: 有一个M*M的棋盘,要从(1,1)到(m,m),中间有n个有颜色的格子,只能踩在有颜色的格子上,跳到不同颜色的格子要花费1元,可以将前方没颜色的格子变成自己要的格子,但要花费 ...

  3. 雅黑php,雅黑PHP探针PHP7/HTTPS/NoIP修改版

    年复一年,WEB软件的更新也是层出不穷,新的探针像X-Probe提供了很酷炫的UI界面(.^▽^) 不过溯本回源,作为调试工具,个人还是喜欢轻量精简的雅黑探针,有些小问题随手修一下 探针测试站:点击前 ...

  4. NOIP提高组初赛知识点解析错题本

    文章目录 前言 正题 知识点:各种东西的简称 知识点:冯诺依曼 知识点:64位处理器 两大优点 误区 知识点:软件库名称 知识点:CPU 知识点:面向对象程序设计与面向对象语言 知识点:可以带入考场的 ...

  5. nginx配置http、https访问,nginx指定ssl证书,阿里云腾讯云华为云设置nginx https安全访问

    nginx配置http.https访问 要设置https访问需要从对应的云厂商申请证书,并下载Nginx证书到服务器. 我这里从阿里云申请了免费的域名证书,然后将证书放置在服务器的/etc/ssl/. ...

  6. debian10 apache2使用ssl

    安装apache2 apt-get install apache2 修改配置 vim /etc/apache2/sites-available/default-ssl.conf 这里修改为你的证书位置 ...

  7. linux下yum错误:[Errno 14] problem making ssl connection Trying other mirror.

    所有的base 都要取消注释 mirrorlist 加上注释 另外所有的enable都要设为零 目录 今天是要yum命令安装EPEL仓库后 yum install epel-release 突然发现y ...

  8. jenkins ssl证书报错问题解决

    Jenkins 是一款流行的开源持续集成工具用于项目开发,具有自动化构建.测试和部署等功能. 可以.war的方式来运行Jenkins: 从Jenkins下载jenkins.war. 在目录下运行:ja ...

  9. SSL For Free 申请免费https SSL 凭证

    打开 SSL For Free网站(https://www.sslforfree.com) ,在输入框中填入你要申请 Let's Encrypt 凭证的网域名称,可以用空白来分隔不同的网址,例如[su ...

  10. 使用jdk生成ssl证书文件

    java自带有 ssl 证书生成的工具, 在 /bin/keytools.exe 需要确认已经正确配置JAVA_HOME的环境变量 生成服务端证书: keytool -genkey -v -alias ...

最新文章

  1. java面试常见问题之Hibernate总结
  2. 20154318_王秀飞 Exp2 后门原理与实践
  3. Python 使用@property对属性进行数据规范性校验
  4. 转:在RHEL5系统中搭建iSCSI存储服务器
  5. 用Paint Tool SAI绘制漫画
  6. LintCode 373: Partition Array
  7. jquery学习。。
  8. 如何设置 iCloud 云盘?
  9. Git和Github详细教程
  10. C# 注册Dll文件
  11. 陌上花开(三维偏序)(cdq分治)
  12. 联想式查单词-YourDict
  13. 富士康计算机主板官网,富士康主板官网?富士康主板刷bios工具?foxconn主板官网?富士康主板怎么样...
  14. 素数c语言,C语言素数怎么表示
  15. lcd1602驱动程序
  16. ADN8831ACPZ特征TPS63020DSJR应用 具有 4A 开关转换器
  17. 计算机安全证书有问题怎么办,此网站的安全证书有问题如何取消 此网站的安全证书有问题解决方法...
  18. Android——ECG心电图的绘制实现
  19. 世界上第一台电子计算机adc,2004山东公务员考试计算机专业理论题
  20. 计算机视觉论文-2021-07-29

热门文章

  1. Excel教程:数值为0不显示的三种解决方法介绍
  2. centos7部署calamari
  3. Oracle函数——字符函数
  4. 《高性能iOS 应用开发》之降低你 APP 的电量消耗
  5. oracle数据库timestamp类型显示问题(2099年和1999年)
  6. python学习-day18、文件处理、
  7. 从TOP100summit看产品设计和运营创新的“B”计划和“C”计划
  8. 2022-2028年中国电源滤波器行业市场发展规模及未来趋势预测报告
  9. 看看月光blog2014年都搞些啥
  10. 追求成功三要诀 文 | 刘东华