Ethflow Round 1 (Codeforces Round 1001, Div. 1 + Div. 2)(前三题)

A. String

翻译:

        给你一个长度为 n 的字符串 s,其中包含 0 和/或 1。在一次操作中,您可以从 s 中选择一个非空的子序列 t,使得 t 中任何两个相邻的字符都是不同的。然后,翻转 t 中的每个字符(0 变为 1,1 变为 0)。例如,如果 s = \underline{0}0\underline{101}t=s_{1}s_{3}s_{4}s_{5}=0101,操作后,s
 变为 \underline{1}0\underline{010}

        计算将 s 中的所有字符变为 0 所需的最少操作次数。

        回想一下,对于字符串 s=s_{1}s_{2}...s_{n} 来说,任何满足1\leq i_{1}<i_{2}...<i_{k}\leq n的字符串 t=s_{i_{1}}s_{i_{2}}...s_{i_{k}}(k\geq 1)都是 s 的子序列。

思路:

        对于字符串s对字符1进行单独反转最赚

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;void solve(){string s;cin>>s;int ans = 0;for (char i:s){ans+=i=='1';}cout<<ans<<endl;
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 中间填保留几位小数,不填默认// cout.precision();int t;cin>>t;while (t--) solve();
}

B. Clockwork

 翻译:

        有一串 n 个排成一行的时钟,其中第 i 个时钟的初始时间为 ai。在每一秒钟内,依次发生以下情况:

  • 每个时钟的时间减少 1。如果任何时钟的时间为 0,您就会立即输掉。
  • 您可以选择移动到邻近的时钟,或者留在当前所在的时钟上。
  • 您可以将您所在时钟的时间重置回初始值 a_{i}

        请注意,上述事件是按顺序发生的。如果某个时钟的时间在某一秒内为 0,即使您可以移动到该时钟并在该秒内重置其时间,您仍然会输。

        您可以从任何时钟开始。确定是否有可能无限期地继续这个过程而不会输。

思路:

要让过程永续下去必须要走过每个点,判断是否存在一个点 i 会在以该点为起点,向左来回或向右来回时消失,判断条件为i<=2*max(i-1,n-i)。

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;void solve(){int n;  cin>>n;vector<int> a(n+1);for (int i=1;i<=n;i++){cin>>a[i];} for (int i=1;i<=n;i++){if (a[i]<=2*max(i-1,n-i)){cout<<"NO"<<endl;return;}}cout<<"YES"<<endl;
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 中间填保留几位小数,不填默认// cout.precision();int t;cin>>t;while (t--) solve();
}

C. Cirno and Operations

 翻译:

        Cirno 有一个长度为 n 的序列 a。除非 a 的当前长度为 1,否则她可以执行以下两个操作中的任意一个(可能是 0 次):

  • 逆转序列。形式上,[a_{1},a_{2},...,a_{n}]在操作后变成 [a_{n},a_{n-1},...,a_{1}]
  • 用差分序列替换序列。形式上,[a_{1},a_{2},...,a_{n}] 在运算后变成 [a_{2}-a_{1},a_{3}-a_{2},...,a_{n}-a_{n-1}]

        求所有运算后 a 的最大可能和。

思路:

        dfs(tmp)为当前序列tmp的最大值,tmp可能会有重复计算的情况,使用memo记忆化

实现:

#include<bits/stdc++.h>
using namespace std;
using ll = long long;void solve(){ll n;  cin>>n;vector<ll> a(n);for (ll i=0;i<n;i++) cin>>a[i];// 答案 ll ans = LLONG_MIN;// 记忆化map<vector<ll>,ll> memo;// 求当前tmp的和auto dfs = [&](auto&& dfs,vector<ll> tmp)->void{ll ssize = tmp.size();if (ssize==1){ans = max(ans,1ll*tmp[0]);return;}//该状态求过,map对于未定义的int默认为0if (memo[tmp]) return;memo[tmp]=1;// tmp的求和ll now = tmp[0];vector<ll> now_tmp(tmp.begin(),tmp.end());// 反转tmpreverse(tmp.begin(),tmp.end());// a1为tmp反转后的差分数组,a2为tmp的差分数组vector<ll> a1(ssize-1),a2(ssize-1);for (ll i=1;i<ssize;i++){a1[i-1] = tmp[i]-tmp[i-1];a2[i-1] = now_tmp[i]-now_tmp[i-1];now+=now_tmp[i];}// 更新答案ans = max({ans,now,tmp[ssize-1]-tmp[0],tmp[0]-tmp[ssize-1]});dfs(dfs,a1);dfs(dfs,a2);};dfs(dfs,a);cout<<ans<<endl;
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// 不使用科学计数法// cout<<fixed;// 中间填保留几位小数,不填默认// cout.precision();ll t;cin>>t;while (t--) solve();
}

bb空间

有建议可以评论,我会积极改进qwq。

话说爬虫前景如何?

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

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

相关文章

图漾Halcon版本SDK使用教程【V1.1.0新版本】

1.下载并安装 Halcon 1.1 下载Halcon软件 在 Halcon 官网(https://www.mvtec.com/downloads) 下载 Halcon (Windows 版) 安装包&#xff0c;并根据官方文档安装 Halcon&#xff0c;下载HALCON24.11Progress-Steady。 1.2 安装Halcon 1.解压HALCON 24.11.1.0的安装包压缩文件…

在计算机上本地运行 Deepseek R1

Download Ollama on Linux Download Ollama on Windows Download Ollama on macOS Deepseek R1 是一个强大的人工智能模型&#xff0c;在科技界掀起了波澜。它是一个开源语言模型&#xff0c;可以与 GPT-4 等大玩家展开竞争。但更重要的是&#xff0c;与其他一些模型不同&…

VS C++ 配置OPENCV环境

VS C 配置OPENCV环境 1.下载opencv2.安装环境3.opencv环境4.VS配置opencv环境5.EXE执行文件路径的环境lib和dll需要根据是debug还是release环境来区分使用哪个 6.Windows环境 1.下载opencv 链接: link 2.安装环境 双击运行即可 3.opencv环境 include文件路径:opencv\build\…

kaggle-ISIC 2024 - 使用 3D-TBP 检测皮肤癌-学习笔记

问题描述&#xff1a; 通过从 3D 全身照片 (TBP) 中裁剪出单个病变来识别经组织学确诊的皮肤癌病例 数据集描述&#xff1a; 图像临床文本信息 评价指标&#xff1a; pAUC&#xff0c;用于保证敏感性高于指定阈值下的AUC 主流方法分析&#xff08;文本&#xff09; 基于CatBoo…

SpringBoot源码解析(八):Bean工厂接口体系

SpringBoot源码系列文章 SpringBoot源码解析(一)&#xff1a;SpringApplication构造方法 SpringBoot源码解析(二)&#xff1a;引导上下文DefaultBootstrapContext SpringBoot源码解析(三)&#xff1a;启动开始阶段 SpringBoot源码解析(四)&#xff1a;解析应用参数args Sp…

Android实训九 数据存储和访问

实训9 数据存储和访问 一、【实训目的】 1、 SharedPreferences存储数据; 2、 借助Java的I/O体系实现文件的存储&#xff0c; 3、使用Android内置的轻量级数据库SQLite存储数据; 二、【实训内容】 1、实现下图所示的界面&#xff0c;实现以下功能&#xff1a; 1&#xff…

python3+TensorFlow 2.x(三)手写数字识别

目录 代码实现 模型解析&#xff1a; 1、加载 MNIST 数据集&#xff1a; 2、数据预处理&#xff1a; 3、构建神经网络模型&#xff1a; 4、编译模型&#xff1a; 5、训练模型&#xff1a; 6、评估模型&#xff1a; 7、预测和可视化结果&#xff1a; 输出结果&#xff…

《深度揭秘:TPU张量计算架构如何重塑深度学习运算》

在深度学习领域&#xff0c;计算性能始终是推动技术发展的关键因素。从传统CPU到GPU&#xff0c;再到如今大放异彩的TPU&#xff08;张量处理单元&#xff09;&#xff0c;每一次硬件架构的革新都为深度学习带来了质的飞跃。今天&#xff0c;就让我们深入探讨TPU的张量计算架构…

Queries Acceleration -Tuning- Tuning Execution 学习笔记

1 Adjustment of RuntimeFilter Wait Time 1.1 Case: Too Short RuntimeFilter Wait Time 1.1.1 没有看懂,好像是等待时间过小也会导致性能下降 1.1.2 set runtime_filter_wait_time_ms = 3000; 2 Data Skew Handling 2.1 Case 1: Bucket Data Skew Leading to Suboptimal …

React应用深度优化与调试实战指南

一、渲染性能优化进阶 1.1 精细化渲染控制 typescript 复制 // components/HeavyComponent.tsx import React, { memo, useMemo } from react;interface Item {id: string;complexData: {// 复杂嵌套结构}; }const HeavyComponent memo(({ items }: { items: Item[] }) &g…

Python3 OS模块中的文件/目录方法说明十三

一. 简介 前面文章简单学习了 Python3 中 OS模块中的文件/目录的部分函数。 本文继续来学习 OS 模块中文件、目录的操作方法&#xff1a;os.rmdir() 方法、os.stat() 方法。 二. Python3 OS模块中的文件/目录方法说明十三 1. os.rmdir() 方法 os.rmdir() 方法用于删除指定路…

SFTP 使用方法

SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种安全的文件传输协议&#xff0c;通过 SSH&#xff08;Secure Shell&#xff09;提供加密的文件传输服务。SFTP 比传统的 FTP 更安全&#xff0c;因为它使用加密来保护传输的数据。 1. 连接到远程主机 首先&#…

Ubuntu 顶部状态栏 配置,gnu扩展程序

顶部状态栏 默认没有配置、隐藏的地方 安装使用Hide Top Bar 或Just Perfection等进行配置 1 安装 sudo apt install gnome-shell-extension-manager2 打开 安装的“扩展管理器” 3. 对顶部状态栏进行配置 使用Hide Top Bar 智能隐藏&#xff0c;或者使用Just Perfection 直…

【信息系统项目管理师-选择真题】2011上半年综合知识答案和详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…

spark运行流程

spark运行流程 任务提交后&#xff0c;先启动 Driver 程序随后 Driver 向集群管理器注册应用程序集群管理器根据此任务的配置文件分配 Executor 并启动Driver 开始执行 main 函数&#xff0c;Spark 查询为懒执行&#xff0c;当执行到 Action 算子时开始反向推 算&#xff0c;根…

Formality:时序变换(二)(不可读寄存器移除)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 一、引言 时序变换在Design Compiler的首次综合和增量综合中都可能发生&#xff0c;它们包括&#xff1a;时钟门控(Clock Gating)、寄存器合并(Register Merging)、…

QGIS3.34绿色版更新

我打包的QGIS3.34在实际工作中方便了很多初次接触GIS的朋友&#xff0c;感到十分欣慰&#xff01;但由于初次推出也发现了一些问题&#xff0c;本次对该版本进行了一个更新&#xff01; 还是秉承咱一贯理念&#xff0c;方便您使用也方便您不用&#xff01;该工具还是被打包为绿…

参数是模型学会的东西,预训练是让它学习的东西

参数 就是模型“学会的东西”。这些参数是模型在训练过程中通过调整其权重来存储的知识。它们代表了模型如何处理输入数据、做出决策和生成输出。每个参数都是模型用来预测和理解语言的一部分。 预训练 就是让模型“学习的过程”。预训练阶段&#xff0c;模型通过大量的文本数…

寒假1.26

题解 web&#xff1a;[极客大挑战 2019]Havefun 打开是一个猫猫的图片 查看源代码 就是一个简单的get传参&#xff0c;直接在url后面输入catdog即可 有点水&#xff0c;再来一题 [极客大挑战 2019]LoveSQL 熟悉的界面&#xff0c;不熟悉的注入 尝试上次的方法&#xff0c;注…

Python GUI 开发 | Qt Designer — 工具介绍

关注这个框架的其他相关笔记&#xff1a;Python GUI 开发 | PySide6 & PyQt6 学习手册-CSDN博客 Qt Designer 即 Qt 设计师&#xff0c;是一个强大、灵活的可视化 GUI 设计工具&#xff0c;可以帮助用户加快开发 PySide6 程序的速度。 Qt Designer 是专门用来制作 PySide6…