CSP-J 2025 入门级模拟赛 Day6 复盘 B. 罐の水表

news/2025/10/14 22:03:13/文章来源:https://www.cnblogs.com/NotMonika/p/19142118

题意

小罐喜欢查水表,这一天他来到了一条有 N 个排成一列的水表的街道查水表。
经过鉴定,他发现有一些水表损坏了,1 表示损坏,0 表示完好。
小罐每次可以使一段长度为 L 的连续的水表全部完好如初( 覆盖的范围可以超出地图),当然 L 越大,小罐越急。
小罐希望最多使用 K 次修复操作就将所有损坏的水表全部修复完成,但是为了让自己不那么急。他想知道能够达到这个目的的 L 最小是多少。

赛时做法

手玩了一下样例,发现L=N/K,所以直接敲上去了。

#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_cxx;
using namespace __gnu_pbds;
int n,k,f,l;
char c;
int main(){freopen("tenshi.in","r",stdin);freopen("tenshi.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> k;for(int i=1;i<=n;i++){cin >> c;if(c=='1'){if(!f)f=i;l=i;}}cout << (l-f+1)/k;
}

其实明显不对,5pts。

赛后反思

l有单调性,考虑二分答案,判断是否达到k次。

#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_cxx;
using namespace __gnu_pbds;
#define int long long
const int N=5e5+5;
int n,k,ans,l,r,mid,a;
string s;
bool c(int l){int cnt=0;for(int i=0;i<n;i++)if(s[i]=='1')cnt++,i+=l-1;return cnt<=k;
}
int32_t main(){freopen("tenshi.in","r",stdin);freopen("tenshi.out","w",stdout);ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> k >> s;l=0,r=n;while(l<=r){mid=(l+r)/2;if(c(mid))r=(a=mid)-1;else l=mid+1;}cout << a;
}

总结

以后还是要手造样例对拍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/937123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20251014 杂题

atcoder一类常见的折半问题. 枚举子集和枚举超集可以均摊,改为枚举一半子集,一半超级. 具体地:其中枚举子集我写的太劣了还T了P7252 [JSOI2011] 棒棒糖 区间查询绝对众数. 首先直接随机化就可以过,每次随机一个数钦定他…

SQL在智能自动化业务场景中的应用 - Irving11

一、连续登录问题关键逻辑: 连续日期(如 2023-01-01、2023-01-02、2023-01-03)减去各自的排序序号(1、2、3)后,结果都是 2023-12-31,因此会被分到同一组 通过分组统计天数,即可筛选出连续登录的用户2、总结:整…

实用指南:【53道前端必考】JavaScript 基础面试题

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:Android Framework默认给应用添加dangerous级别权限

完整教程:Android Framework默认给应用添加dangerous级别权限pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…

拼接字符串要求字典序最小

好唐啊,这种题我目前已经知道三道一样的了,无聊记录一下。 传递性可以通过 题解:P1012 [NOIP 1998 提高组] 拼数 中的转小数来证明,而最优性就是,我们本来就考虑的相邻两个 \(i,j\) 谁在前面更优,显然把,当然我…

20251013 模拟赛 总结

考虑每个铁路拆除造成的影响. 如果在开始或者结束,如果旁边的铁轨被拆除,连续段数-1,否则无影响. 如果不在开始结尾. 如果两边都被拆了,连续段数-1 如果一边被拆了,不变. 两边都没被拆,答案+1. 当然直接线段树做也是没…

高级语言作业第一次随笔

这个作业属于 https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业的要求在 https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13558 学号:102500415 姓名:林帅前 一.安装dev.c 1.过程 (1)先打开安装包并解压(2…

.net Core资料

.net Core资料ASP.NET Core入门到精通 .NET项目中NLog的配置与使用 .NET Core 学习资料精选 教程:ASP.NET Core 入门 C#/.NET/.NET Core推荐学习书籍 如何学习CORE .net core中使用Autofac Autofac在.…

C#实现开机自启动应用多种方式

在 Windows 操作系统中,我们可以通过多种方式来实现程序的开机自启,下面将为大家详细介绍几种常用的方法及其对应的代码示例,同时也会提及一些可能遇到的问题及待解决事项。注册表配置开机自启Startup文件夹任务计划…

吾の歌单

吾の歌单英文: 《String Theocracy》神权政治之绳 《And Then Is Heard No More》句末无声 《From a Place of Love》来源于爱 《Iron Lotus》铁血莲华 《Children of the City》 都市之子 《Gone Angels》别离的天使…

什么是反应式编程 - 详解

什么是反应式编程 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…

SDL3和其附属的编译记录

SDL3的构建记录 环境 windows11 + msys2 + gcc + cmake 编辑器使用vscode,插件为cmake tool,c++和clangd。 子模块 神奇的 sdl3-mixer 还在设计阶段 vcpkg 没有,如果从0构建需要的版本 vcpkg 也不支持。 正常情况下…

Qwen多模态系列模型笔记—Qwen2-VL

方法 Qwen2-VL系列包含三种体量的模型,分别是Qwen2-VL-2B, Qwen2-VL-7B, Qwen2-VL-72B。表1列举出这些模型的超参数和重要信息。值得注意的是,这三个模型视觉编码器始终都采用675M参数量的ViT,没有因模型而改变。此…

k8s Service Nodeport 用于集群外部访问

k8s Service Nodeport 用于集群外部访问 热爱孤独生活

WPF 调用 ChangeWindowMessageFilterEx 修改指定窗口 (UIPI) 消息筛选器的用户界面特权隔离

一、回顾 上一篇博客:记录一下 WPF进程 SendMessage 发送窗口消息进行进程间通信,存在进程权限无法接受消息的问题 - wuty007 - 博客园 说到了 发送端是普通权限的窗体 给 接收端是 管理员权限的窗体,通过 Win32 A…

机器学习比赛

机器学习比赛基本上来就用sklearn的随机森林, 和xgboost库. 2个算法先跑一下.基本能拿到一个能看的结果. 速度都很快. 基本30秒内跑完. 然后再考虑其他的特征工程, 深度学习等等..

牙科诊所借力AI营销4个月创收13万

一个叫Jordan的牙科营销老板用AI在4个月里赚了13万。我来说说他具体怎么做的。 Jordan发现一个问题:英国90%的牙科诊所还在用老旧的预约系统,效率很低。他决定用AI来解决这个问题。 📌 他的做法搭建AI预约系统• 以…

10月14日日记

1.今天上午进行工程实训课程,下午学习英语视听说 2.明天学习离散数学 3.只知道把代码用try-catch包起来,但不清楚应该捕获什么异常,什么时候该抛出(throws),什么时候该处理。搞清楚Error和Exception的区别,Runt…

P4653 [CEOI 2017] Sure Bet

题目描述 现在有 n 个A类灯泡和 n 个B类灯泡,每个灯泡都有各自的权值。 我们将这些灯泡分为 n 组,每组包含一个来自A类的灯泡和一个来自B类的灯泡。 你可以从中选取任意个灯泡,每选取一个灯泡需要花费 1 的代价。 在…