当前位置: 首页 > news >正文

蓝桥杯历届真题 填充#贪心算法

文章目录

  • 题目解读
  • 思路
    • AC CODE
  • 参考
  • 注意


题目链接

题目解读

题目描述
有一个长度为 n 的 01 串,其中有一些位置标记为 ?,这些位置上可以任意填充 0 或者 1,请问如何填充这些位置使得这个 01 串中出现互不重叠的 00 和 11 子串最多,输出子串个数。
输入格式
输入一行包含一个字符串。
输出格式
输出一行包含一个整数表示答案。
样例输入
1110?0
样例输出
2
提示
如果在问号处填 0 ,则最多出现一个 00 和一个 11:111000 。

对于所有评测用例,1 ≤ n ≤ 1000000 。

思路

看到最大最小可以考虑一手贪心算法,然后直接猜出来一个规律。
然后去找一个反例证明其是错的,如果证明不出来,那么它就是对的!

贪心思路 : 从头往后枚举,如果能发生"配对"那么答案加1
配对儿 : 如果当前字符和下一个字符一致,或者两个连续的字符里出现一个问号,那么也可以配对儿成功。

AC CODE

#include<bits/stdc++.h>

using namespace std;

int main(){
	string s;
	cin >> s;
	
	int res=0;
	for(int i=0; i<s.size()-1; i++){
		char a=s[i];
		char b=s[i+1];
		
		if(a==b || a=='?' || b=='?'){
			res++;
			i++;	
		}
	} 
	
	cout << res;
	
	return 0;
}

参考

acwing 算法平台

注意

贪心算法证明难度较大,可以猜出来一个规律后直接使用,不需要严格证明其正确性


🌻编写本篇文章目的是笔者想以输出的形式进行学习,顺便记录学习点滴🌻

🌹 如果本篇文章对你有帮助的话那就点个赞吧👍🌹

😇 本篇文章可能存在多处不足,如有修改意见,可以私信或者评论我哦 😇


在这里插入图片描述

相关文章:

  • 什么是索引?为什么要使用B树作为索引数据结构?
  • C++11 标准库 `find` 与 `find_if` 详解
  • 基于Spring Boot的三国之家网站的设计与实现(LW+源码+讲解)
  • 学一个前端 UI 框架,要学些什么内容?
  • 使用ThreadLocal可能导致内存泄漏的原因与其底层实现机制
  • 干货!Kubernetes网络模型与访问管理
  • ctfshow REVERSE re2 萌新赛 内部赛 七夕杯 WP
  • 我的世界1.20.1forge模组进阶开发——生物生成2
  • 还在用Excel规划机房变更吗?
  • VSCode 出现一直Reactivating terminals,怎么破
  • ubuntu服务器server版安装,ssh远程连接xmanager管理,改ip网络连接。图文教程
  • “浅浅深究”一下ConcurrentHashMap
  • 12-scala样例类(Case Classes)
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例14,TableView15_14多功能组合的导出表格示例
  • 使用 ByteDance 的 UI-TARS Desktop 探索 AI 驱动的 GUI 自动化新前沿
  • 1007 Maximum Subsequence Sum
  • 如何在IDEA中借助深度思考模型 QwQ 提高编码效率?
  • DeepSeek+RAG局域网部署
  • 微软纳德拉最新一期访谈
  • 如何删除git上最后一次提交,Git日常使用操作说明。
  • 迪奥部分客户数据遭泄露,公司称正持续展开调查
  • 技术派|更强的带刀侍卫:从054B型战舰谈谈世界护卫舰发展
  • 王毅集体会见加勒比建交国外长及代表
  • 行知读书会|换一个角度看见社会
  • 上海建筑领域绿色发展2025年工作要点发布
  • 淡马锡辟谣:淡马锡和太白投资未在中国销售任何投资产品或金融工具