[2020牛客寒假算法基础集训营1]H-nozomi和字符串
这道题跟我之前做过的这道题十分像。直接就改改拿过来用了。
就是将每个0的下标记录。尽量完成k次的变换。那么所获得对于每个变换位置尽量长的11串的长度表示就是 v0[i + m] - v0[i - 1] - 1了
记得特判k大于等于0的数量的情况。
#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { int n, m, pre = 0, cur = 0, numa = 0, numb = 0; cin >> n >> m; char c; string s; int ii = n; while (ii--) { cin >> c; s += c; } vector<int> v0, v1;//分别存0的下标,1的下标 for (int i = 0; i < n; i++) { if(s[i] == '0') v0.push_back(i); if(s[i]== '1') v1.push_back(i); } if (v0.size() <= m) { cout << n << endl; return 0; } vector<int> res; res.push_back(v0[0 + m]); for (int i = 1; i + m < v0.size(); i++) { res.push_back(v0[i + m] - v0[i - 1] - 1); } sort(res.begin(), res.end()); cout << res[res.size() - 1] << endl; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人