题解:CF603A Alternative Thinking
1.题解:P3201 [HNOI2009] 梦幻布丁2.题解:P7020 [NWRRC2017] Boolean Satisfiability3.题解:P6614 蛋糕 Cake4.题解:UVA10503 The dominoes solitaire5.题解:AT_abc383_c [ABC383C] Humidifier 36.题解:AT_abc266_c [ABC266C] Convex Quadrilateral7.题解:AT_abc296_e [ABC296E] Transition Game8.题解:CF350C Bombs9.题解:B3832 [NICA #2] 回来吧我的小波10.题解:B3803 [NICA #1] 上大分11.题解:AT_abc236_f [ABC236F] Spices12.题解:CF626B Cards
13.题解:CF603A Alternative Thinking
14.题解:CF917A The Monster15.题解:CF1540A Great Graphs16.题解:AT_arc008_3 [ARC008C] THE☆たこ焼き祭り201217.题解:P6606 [Code+#7] 最小路径串18.题解:P2422 良好的感觉19.题解:P2032 扫描20.题解:P1160 队列安排21.题解:ABC395(A-E)22.题解:P3865 【模板】ST 表 && RMQ 问题23.题解:P2590 [ZJOI2008] 树的统计24.答案:牛客周赛 Round 83(A-E)25.题解:U540617 捡松果26.题解:P3390 【模板】矩阵快速幂 & 矩阵快速幂加速递推的应用思路27.题解:P11848 [TOIP 2023] 房屋推荐28.题解:P2146 [NOI2015] 软件包管理器思路
你猜这个题为什么是 A 题?
很思维的解法。
只允许翻转一次,所以最多只会在原答案上加
所以我们来讨论仅有的三种可能:
- 加
,要有两段连续的 或 。 - 加
,要有一段连续的 或 。 - 不加,没有连续的
或 。
我们的代码模拟上面的三种可能就好了。
AC 代码
#include<bits/stdc++.h> using namespace std; using ll = long long; string s; int n; int main(){ // freopen("text.in","r",stdin); // freopen("text.out","w",stdout); ios::sync_with_stdio(0),cout.tie(0),cin.tie(0); cin>>n>>s; int ans = 1; int ctn = 0; for(int i = 1;i < n;i++){ if(s[i] != s[i-1]){ ans++; }else{ ctn++; } } if(ctn >= 2)cout<<ans+2; if(ctn == 1)cout<<ans+1; else cout<<ans; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)