【星航计划】2024.11 Div. 3 题解

news/2024/11/17 18:54:38/文章来源:https://www.cnblogs.com/fanrunze/p/18550896

2024 -- 星航计划 --十一月份 -- 基础算法

  • A.分段

每一段连续的 \(1\) 之间是独立的,我们只需要关心一段连续的 1 的结果。可以证明对于一段连续的 \(1\) ,最优策略是将其划分成多个单独的 \(1\) 以及可能余下的连续两个 \(1\)

  • 对于 \(k\) 个连续的 \(1\) ,如果 \(k\) 是奇数,最优策略是将其划分为 \(\frac{k+1}{2}\) 个单独的 \(1\) ,答案为 \(\frac{k+1}{2}\) ;
  • 否则最优策略是将其划分为 \(\frac{k}{2}-1\) 个单独的 \(1\) 和两个连续的 \(1\) ,答案为与 \(\frac{k}{2}-1+\sqrt{2}\)

时间复杂度 \(O(|S|)\)

#include <bits/stdc++.h>
#define int long long
using ll = long long;
using pll = std::pair<int, int>;
using namespace std;
signed main(){cin.tie(nullptr)->sync_with_stdio(false);string s;cin >> s;int n = s.size();s = ' ' + s + '0';vector<int> per(n + 3);vector<int> k;double ans = 0;for (int i = 1; i <= n + 1; ++i){if (s[i] == '1')per[i] = per[i - 1] + 1;elseif (per[i - 1])k.push_back(per[i - 1]);}for (int i : k){while (i > 2){i -= 2;ans += 1;}ans += sqrt(double(i));}cout << fixed << setprecision(13) << ans;return 0;
}
  • B.拼图

  • C.位运算

  • D.异或

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

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

相关文章

Linux 内核如何装载和启动一个可执行程序

张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000 实验七——Linux 内核如何装载和启动一个可执行程序 一、实验过程 1.从github上下载相关代码2.然后用test_exec.c 替换test.c,再重新编译生成根文件系统3.启动调试内核…

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现

java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现@目录背景说明前言Runtime.exec()常见的几种陷阱以及避免方法陷阱1:IllegalThreadStateException陷阱2:Runtime.exec()可能hang住,甚至死锁陷阱3:不同平台上,命令的兼容性陷阱4:错把Runtime.exec()的…

昆工891数据库系统原理强化课程

--昆工昆明理工大学、计算机技术、人工智能、软件工程、网络空间安全、891计算机专业核心综合、计算机系统结构、计算机软件与理论、网络与信息安全、计算机应用技术、综合程序设计、通信工程、817信号与系统、信号与信息处理、通信与信息系统

第7篇Scrum博客

1.站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作: 昨天已基本实现用条形图,折线图,饼图展示数据界面功能。 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 整合代码,查漏补缺 王伊若 5h主界面模块 主界面设计 王伊若 2h主界面模块 查询界…

Ant Design Vue组件安装

https://www.antdv.com/docs/vue/getting-started-cn

书生共学大模型实战营L1G6000 XTuner微调

任务描述:使用XTuner微调InternLM2-Chat-7B实现自己的小助手认知 该任务分为数据集处理、微调训练、合并部署三个环节。数据处理:主要是将目标json文件中的字段替换为和自己用户名相关的字段,这里我们将“尖米”替换为“科研狗1031”:微调训练:采用教程中的XTuner框架,在…

request to https://registry.npm.taobao.org/ant-design-vue failed, reason: certificate has expire

一、原因分析 其实早在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 http://registry.npm.taobao.org 切换到了 http://registry.npmmirror.com。旧域名也将于 2022 年 5 月 31 日停止服务(直到 HTTPS 证书到期才真正不能用了)2024年1 月 22 日,淘宝原镜像域名(http…

【学校训练记录】11月个人训练赛4个人题解

A题意可以理解为在a,b的范围内如果一个数是某个整数的立方,求与其距离为k的范围内有几个整数的平方数,我们可以对于每个立方数求出其数量,注意边界问题 #include <bits/stdc++.h> #define int long long using namespace std;int a, b, k; void solve(){cin >>…

第六篇Scrum博客

1.站立式会议 1.1 会议照片1.2 会议内容 昨天已完成的工作: 已经完成了账目的查询界面功能,按日期、备注以及收入支出查询等功能。 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时主界面模块 协助他人完成工作 王伊若 2h主界面模块 分类报告界面 王伊若 3h主界面…

学校个人训练记录

A题意可以理解为在a,b的范围内如果一个数是某个整数的立方,求与其距离为k的范围内有几个整数的平方数,我们可以对于每个立方数求出其数量,注意边界问题 #include <bits/stdc++.h> #define int long long using namespace std;int a, b, k; void solve(){cin >>…

Scrum 冲刺博客-day2

一、每天会议 昨天完成的任务与今天计划完成任务成员 昨天已完成任务 今天计划完成任务董雯霖 组织会议,确立各自工作 用户注册页面陈金星 参会,发表意见 用户登录页面邱列圻 参会,发表意见 用户模块的接口开发李嘉远 参会,发表意见 页面测试詹洛熙 参会,发表意见 接口测试…