Educational Codeforces Round 176 (Rated for Div. 2)

A.To Zero

签到题

void solve()
{	int n,k;cin>>n>>k;int k2=k/2*2;int k1=(k2<k)?k:k-1;int cnt=0;if(n%2==1){n-=k1;cnt++;cnt+=(n/k2)+(n%k2!=0);}else {cnt=(n/k2)+(n%k2!=0);}cout<<cnt<<endl;}

B.Array Recoloring

手推一下可以发现,答案其实就是前k+1大的数 。但是需要注意的是需要特判一下 k==1 的情况。

此时最后一个数只能从两侧选。

void solve()
{	int n,k;cin>>n>>k;vector<int> a(n+1);for (int i=1;i<=n;i++){cin>>a[i];}if(k==1){//特判int ans=0;for (int i=1;i<=n;i++){if(i==1||i==n){ans=max(ans,a[1]+a[n]);}else {int tmp = a[i];ans=max(ans,tmp+max(a[1],a[n]));}}cout<<ans<<endl;return ;}sort(all2(a),greater<int>());int sum=0;for(int i=1;i<=k+1;i++){sum+=a[i];}cout<<sum<<endl;
}

C.Two Colors

枚举每一个数,二分找到和大于等于n的第一个数,然后就是求这后面满足条件的数字的条件和。条件就是每一个数减去能覆盖另一种颜色的数量(只需要保证另外一种颜色至少保留一个即可)。

这个过程可以使用前缀和来优化。详情见代码,另外让初始的每一个颜色都小于等于n-1,这样就可以直接求得这个颜色对于其他颜色的覆盖情况了,而不用担心超出n的情况。

void solve()
{	int n,m;cin>>n>>m;vi a(m+1);rep(i,1,m){cin>>a[i];chmin(a[i],n-1);}sort(all2(a));vi s(m+10);rep(i,1,m){s[i]=s[i-1]+a[i];}int sum=0;rep(i,1,m){auto pos = lb(all2(a),n-a[i])-a.begin();chmax(pos,i+1);int len = m-pos+1;sum-=(n-a[i]-1)*len;sum+=(s[m]-s[pos-1]);}cout<<sum*2<<endl;
}

D.Equalization

发现其实就是找到x和y的最大前缀。所以只需要确定x,y分别的右移位数即可,可以暴力枚举,时间复杂度为 O(60^2) 。使用 背包预处理 每种移位情况的的最小代价。

int dp[100][100];
void init()
{memset(dp,0x3f,sizeof dp);dp[0][0]=0;rep(i,0,60){per(j,60,0){per(k,60,0){if(j>=i){dp[j][k]=min(dp[j][k],dp[j-i][k]+(1ll<<i));}if(k>=i){dp[j][k]=min(dp[j][k],dp[j][k-i]+(1ll<<i));}}}}
}
void solve()
{	int x,y;cin>>x>>y;int ans=1e18;rep(i,0,60){rep(j,0,60){if((x>>i)==(y>>j)){ans=min(ans,dp[i][j]);}}}cout<<ans<<endl;
}

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

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

相关文章

Kubernetes的Service详解

一、Service介绍 在 kubernetes 中&#xff0c; pod 是应用程序的载体&#xff0c;我们可以通过 pod 的 ip 来访问应用程序&#xff0c;但是 pod 的 ip 地址不是固定的&#xff0c;这也就意味着不方便直接采用pod 的 ip 对服务进行访问。 为了解决这个问题&#xff0c;kuberne…

基于Nvidia Jetson Nano边缘计算设备使用TensorRT部署YOLOv8模型实现目标检测推理

0、背景 最近拿到一台边缘计算设备&#xff0c;在部署YOLO模型的过程中遇到一些问题&#xff0c;特此记录。 设备介绍信息&#xff1a;NVIDIA Jetson Orin Nano T201Developer Kit 开发套件 开发者套件&#xff1a;Jetson Orin Nano T201 8GB开发套件 使用指南文档&#x…

让人感到疑惑的const

const 关键字在不同的编程语言中有着不同的含义和限制&#xff0c;但通常它被用来声明一个常量或只读变量。然而&#xff0c;在 JavaScript 中&#xff0c;const 的行为有时可能会让人感到困惑&#xff0c;因为它并不总是意味着“不可变”&#xff08;immutable&#xff09;。让…

Python 列表全面解析

关于Python列表的详细教程&#xff0c;涵盖增删改查、切片、列表推导式及核心方法 一、 列表基础 1.1 创建列表 列表是Python中最常用的数据结构之一&#xff0c;支持动态存储多种类型的元素。 # 空列表 empty_list []# 初始化列表 numbers [1, 2, 3, 4] fruits ["a…

【Ratis】ReferenceCountedObject接口的作用及参考意义

Apache Ratis的项目源码里,大量用到了自定义的ReferenceCountedObject接口。 本文就来学习一下这个接口的作用,并借鉴一下它解决的问题和实现原理。 功能与作用 ReferenceCountedObject 是一个接口,用于管理对象的引用计数。它的主要功能和作用包括: 引用计数管理: 提供…

leetcode-50.Pow(x,n)

快速计算次方的方法。 首先&#xff0c;先保证n是正数。 如果n<0&#xff0c;就让x取反&#xff0c;n取绝对值。 然后考虑怎么快速乘法。 考虑 x 7 x 1 2 4 x ∗ x 2 ∗ x 4 x^7x^{124}x*x^2*x^4 x7x124x∗x2∗x4&#xff0c;可以发现&#xff0c;本来乘6次x&#xff0…

基于javaweb的SpringBoot公司日常考勤系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

游戏引擎学习第167天

回顾和今天的计划 我们不使用引擎&#xff0c;也不依赖库&#xff0c;只有我们自己和我们的小手指在敲击代码。 今天我们会继续进行一些工作。首先&#xff0c;我们会清理昨天留下的一些问题&#xff0c;这些问题我们当时没有深入探讨。除了这些&#xff0c;我觉得我们在资产…

深度学习框架PyTorch——从入门到精通(5)自动微分

使用torch.autograd自动微分 张量、函数和计算图计算梯度禁用梯度追踪关于计算图的更多信息张量梯度和雅可比乘积 在训练神经网络时&#xff0c;最常用的算法是反向传播。在该算法中&#xff0c;参数&#xff08;模型权重&#xff09;根据损失函数的梯度相对于给定参数进行调整…

以食为药:缓解老人手抖的饮食策略

手抖&#xff0c;在医学上称为震颤&#xff0c;是老年人常见的症状之一。其成因复杂&#xff0c;可能涉及神经系统病变、甲状腺功能异常、药物副作用等。除了积极就医治疗&#xff0c;合理的饮食对于缓解手抖症状、提高老人生活质量具有重要意义。 老人手抖时&#xff0c;身体能…

JUC大揭秘:从ConcurrentHashMap到线程池,玩转Java并发编程!

目录 JUC实现类 ConcurrentHashMap 回顾HashMap ConcurrentHashMap CopyOnWriteArrayList 回顾ArrayList CopyOnWriteArrayList: CopyOnWriteArraySet 辅助类 CountDownLatch 线程池 线程池 线程池优点 ThreadPoolExecutor 构造器各个参数含义&#xff1a; 线程…

C++之list类及模拟实现

目录 list的介绍 list的模拟实现 定义节点 有关遍历的重载运算符 list的操作实现 &#xff08;1&#xff09;构造函数 (2)拷贝构造函数 &#xff08;3&#xff09;赋值运算符重载函数 &#xff08;4&#xff09;析构函数和clear成员函数 &#xff08;5&#xff09;尾…

Elasticsearch 向量检索详解

文章目录 1、向量检索的用途2、适用场景2.1 自然语言处理&#xff08;NLP&#xff09;&#xff1a;2.2 图像搜索&#xff1a;2.3 推荐系统2.4 音视频搜索 3、向量检索的核心概念3.1 向量3.2 相似度计算3.3 向量索引 4、案例&#xff1a;基于文本的语义搜索5、总结 向量检索是 E…

自学软硬件第755 docker容器虚拟化技术

见字如面&#xff0c; 这里是AIGC创意人_竹相左边&#xff0c; 正在通过AI自学软硬件工程师&#xff0c;目标手搓可回收火箭玩具。 我很喜欢 《流浪地球 2》中 &#xff0c;马兆&#xff1a;没有硬件支撑&#xff0c;你破解个屁。 写作背景 今天在剪视频&#xff0c;然后看…

不可不知的分布式数据库-TiDB

不可不知的分布式数据库-TiDB 介绍TiDb架构TiDb与Mysql的区别功能特性性能表现数据可靠性运维管理成本 Docker部署TiDB1. 获取 TiDB 配置文件2. 启动 TiDB 集群3. 连接到 TiDB4. 停止和清理 TiDB 集群注意事项 实用案例TiDB实现分布式事务实现原理实现方式SQL 方式编程方式 注意…

20242817李臻《Linux⾼级编程实践》第四周

20242817李臻《Linux⾼级编程实践》第4周 一、AI对学习内容的总结 第5章 Linux进程管理 5.1 进程基本概念 进程与程序的区别 程序&#xff1a;静态的二进制文件&#xff08;如/bin/ls&#xff09;&#xff0c;存储在磁盘中&#xff0c;不占用运行资源。进程&#xff1a;程…

基于 Prometheus + Grafana 监控微服务和数据库

以下是基于 Prometheus Grafana 监控微服务和数据库的详细指南&#xff0c;包含架构设计、安装配置及验证步骤&#xff1a; 一、整体架构设计 二、监控微服务 1. 微服务指标暴露 Spring Boot 应用&#xff1a; xml <!-- 添加 Micrometer 依赖 --> <dependency>…

使用GoogleNet实现对花数据集的分类预测

使用GoogleNet实现对花数据集的分类预测 1.作者介绍2.关于理论方面的知识介绍2.1GooLeNet的知识介绍2.2CNN发展阶段2.2GooLeNet创新模块 3.关于实验过程的介绍&#xff0c;完整实验代码&#xff0c;测试结果3.1数据集介绍3.2实验过程3.3实验结果 1.作者介绍 王海博, 男 , 西安…

流量密码破解:eBay店铺首页改版后的黄金展示位

流量密码破解&#xff1a;eBay店铺首页改版后的黄金展示位 近年来&#xff0c;跨境电商行业竞争日趋激烈&#xff0c;流量分配机制的调整成为平台卖家最为关注的核心议题之一。作为全球领先的在线电商平台&#xff0c;eBay的每一次页面优化都可能对卖家的经营策略产生深远影响…

从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!

我正在参加Trae「超级体验官」创意实践征文&#xff0c; 本文所使用的 Trae 免费下载链接&#xff1a; www.trae.ai/?utm_source… 前言 大家好&#xff0c;我是小Q&#xff0c;字节跳动近期推出了一款 AI IDE—— Trae&#xff0c;由国人团队开发&#xff0c;并且限时免费体…