当前位置: 首页 > news >正文

Codeforces Round 992 (Div. 2)

这场cf只在b卡了一下,因为b真是犯蠢了,我以为会向下取整,结果是完全就不取整,或者说是向上取整,卡了我半个小时,要不是紧急看了题一下,昨天那场就毁了

话不多说,直接开讲

A. Game of Division

思路:很容易就能看出来就是同余定理,能够找到一个取模k的数,且只有这一个数取模k为当前的余数,那么就输出这个数,否则一定存在两个数相减会导致能被k整除

#include <bits/stdc++.h>  
using namespace std;  
#define int long long  int t;  
int n, k;  
int a[200005];  void solve() {  cin >> n >> k;  int m[k + 1];  memset(m, 0, sizeof(m));  int index[k + 1]; memset(index, -1, sizeof(index)); for (int i = 1; i <= n; i++) {  cin >> a[i];  a[i] = a[i] % k;  m[a[i]]++;  index[a[i]] = i;  }  for (int i = 0; i < k; i++) {  if (m[i] == 1) {  cout << "YES\n";  cout << index[i] << "\n"; return;  }  }  cout << "NO\n";  
}  signed main() {  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);  cin >> t;  while (t--) {  solve();  }  return 0;  
}

 B. Paint a Strip

思路:我们发现,如果要输出最小的第一次操作,那么我们的放置位置一定是

1,4,10,22防置,为什么呢?

因为我们手玩一下,就可简单的发现,其实在1,4放完之后,可以直接2操作将前四个都变成1,然后在10再放置一个,就会有5个1,刚好能够把1~10全部渲染,后面同理可得

找到规律,flag=2*flag+2;

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int a[200005];void solve()
{cin>>n;if(n<=4){if(n==1){cout<<1<<"\n";}else{cout<<2<<"\n";}}else{int ans=2;int flag=4;while(flag<n){flag=flag*2+2;ans++;}cout<<ans<<"\n";}
}signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 C. Ordered Permutations

思路:我自己纯手写了个数从2到4的情况下,有多少个是最大的,然后发现,当个数为n的时候,有2^(n-1)个数是最大的,如果k大于这个数,就是无解,否则有解

然后我自己又手玩了一下,又发现一个规律,我们每次一个分段的最小值都应当放在两边,当我们这个分段k值大于一半,那么我们当前位的数就放在末尾,否则放在第一位

然后我们就可以用类二进制思想轻松解决

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int l,r;
int a[200005];
int flag[200005];
int vec[200005];
void solve()
{cin>>n>>k;k--;memset(flag,-1,sizeof(flag));for(int i=n-1; i>=1; i--){if(k&1){flag[i]=1;}k=k>>1;}if(k!=0){cout<<-1<<"\n";return;}l=1,r=n;for(int i=1; i<=n; i++){if(flag[i]==1){vec[r--]=i;}else{vec[l++]=i;}}for(int i=1; i<=n; i++){cout<<vec[i]<<" ";}cout<<"\n";
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 D. Non Prime Tree

思路:我们将跟结点赋值为1,然后将后续其第一个子节点赋值为父节点的值+1,其余子节点与父节点的值的差值为除了2以外的偶数即可

#include<bits/stdc++.h>
using namespace std;
#define int long long
int t;
int n,k;
int u,v;
vector<int> e[200005];
int ans[200005];
int flag;
void dfs(int v,int fa)
{for(int u:e[v]){if(u!=fa){ans[u]=flag+1;while(ans[u]!=ans[v]+1&&(ans[u]%2!=ans[v]%2||abs(ans[u]-ans[v])==2)){ans[u]++;}flag=ans[u];dfs(u,v);}}return ;
}
void solve()
{cin>>n;for(int i=1;i<=n-1;i++){cin>>u>>v;e[u].push_back(v);e[v].push_back(u);}flag=1;ans[1]=1;dfs(1,-1);for(int i=1;i<=n;i++){cout<<ans[i]<<" ";ans[i]=0;e[i].clear();}cout<<"\n";
}
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>t;while(t--)solve();return 0;
}

 

相关文章:

Codeforces Round 992 (Div. 2)

这场cf只在b卡了一下&#xff0c;因为b真是犯蠢了&#xff0c;我以为会向下取整&#xff0c;结果是完全就不取整&#xff0c;或者说是向上取整&#xff0c;卡了我半个小时&#xff0c;要不是紧急看了题一下&#xff0c;昨天那场就毁了 话不多说&#xff0c;直接开讲 A. Game …...

el-table一键选择全部行,切换分页后无法勾选

el-table一键全选&#xff0c;分页的完美支持 问题背景尝试解决存在问题问题分析 解决方案改进思路如下具体代码实现如下 问题背景 现在有个需求&#xff0c;一个表格有若干条数据(假设数量大于20&#xff0c;每页10条&#xff0c;保证有2个以上分页即可)。 现在需要在表格上方…...

负载均衡最佳实践及自定义负载均衡器

文章目录 负载均衡最佳实践及自定义负载均衡器一、负载均衡概述二、轮询负载均衡器&#xff08;一&#xff09;理论介绍&#xff08;二&#xff09;Java 实现示例&#xff08;三&#xff09;关键步骤&#xff08;四&#xff09;流程图 三、随机负载均衡器&#xff08;一&#x…...

大模型 LMDeploy 量化部署

1 模型部署 定义&#xff1a; 在软件工程中&#xff0c;部署通常指的是将开发完毕的软件投入使用的过程。在人工智能领域&#xff0c;模型部署是实现深度学习算法落地应用的关键步骤。简单来说&#xff0c;模型部署就是将训练好的深度学习模型在特定环境中运行的过程。 场景…...

算法设计5_分支限界法

分支限界法 分支限界法常以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树&#xff0c;裁剪那些不能得到最优解的子树以提高搜索效率。 步骤&#xff1a; ① 定义解空间(对解编码); ② 确定解空间的树结构&#xff1b; ③ 按BFS等方式搜索&#xff1a; a.每个活…...

2025年人工智能专业可以考哪些证书呢?

人工智能是目前全球热门的专业领域之一&#xff0c;随着人工智能应用范围的不断扩大&#xff0c;越来越多的人开始关注人工智能相关证书的获取。那么&#xff0c;人工智能专业可以考什么证书呢&#xff1f;本文将为大家介绍人工智能相关证书的种类。 人工智能机器视觉应用工程师…...

仿真技术助力高尔夫球打破传统设计局限,实现球杆强大的功能

Altair近日宣布与业内领先的高尔夫装备制造商 Cleveland Golf 开展合作&#xff0c;以设计新款 HiBore XL 球杆。借助 Altair 先进的仿真与设计技术&#xff0c;Cleveland Golf 不断刷新高尔夫装备的行业标准&#xff0c;并在球杆产品设计方面实现突破。 Cleveland Golf 借助 A…...

微前端架构学习笔记

前言 之前遇到过一个需求&#xff0c;有两个项目分别由两个不同的部门负责&#xff0c;不同技术栈&#xff0c;不同代码仓库&#xff1a; A 项目是官网&#xff0c;负责展示产品亮点等信息&#xff0c;有多个入口可以进入 B 项目中的不同页面。B 项目是业务线&#xff0c;负责…...

DApp开发:从合约到系统快速上线解决方案

在区块链技术迅猛发展的今天&#xff0c;去中心化应用&#xff08;DApp&#xff09;作为区块链的一项重要应用&#xff0c;已经吸引了众多开发者和企业的关注。与传统应用程序不同&#xff0c;DApp依托于区块链的去中心化特点&#xff0c;实现了透明、安全、不可篡改等优势&…...

react 中 useState 中的 set 方法异步解决

使用 useEffect 监听状态的改变。 一、异步特性 在批量处理状态更新时&#xff0c;用以提高性能。 二、异步解决 使用useEffect来处理更新后的状态&#xff0c;useEffect钩子在组件渲染后执行&#xff0c;并且会在依赖项&#xff08;第二个参数&#xff09;发生变化时重新执…...

UAC2.0 speaker——带反馈端点的 USB speaker(16bit 单声道)

UAC2.0 speaker 系列文章 UAC2.0 speaker——单声道 USB speaker(16bit) UAC2.0 speaker——类特殊请求 UAC2.0 speaker——音量控制 UAC2.0 speaker——多采样率支持 UAC2.0 speaker——24/32bit 支持 UAC2.0 speaker——speaker 数据传输 UAC2.0 speaker——同时支持 16bi…...

docker的简单使用

文章目录 docker简介docker架构镜像和容器镜像有关的常用命令容器相关常用命令 docker简介 Docker是一个开源的应用容器引擎&#xff0c;基于Go语言并遵从Apache2.0协议开源。 Docker可以让开方子打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到…...

Selenium:强大的 Web 自动化测试工具

Selenium&#xff1a;强大的 Web 自动化测试工具 在当今的软件开发和测试领域&#xff0c;自动化工具的重要性日益凸显。Selenium 就是一款备受欢迎的 Web 自动化测试工具&#xff0c;它为开发者和测试人员提供了强大的功能和便利。本文将详细介绍 Selenium 是什么&#xff0c…...

设计模式 在PLM系统的应用场景介绍

通义灵码 设计模式在 PLM&#xff08;产品生命周期管理&#xff09;系统中扮演着重要的角色&#xff0c;可以帮助开发人员更好地组织代码、提高系统的可维护性和扩展性。以下是一些常见的设计模式及其在 PLM 系统中的应用场景&#xff1a; 1. 单例模式&#xff08;Singleton …...

C#请求https提示未能为 SSL/TLS 安全通道建立信任关系

System.Net.WebException: 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系 &#xff0c;这个错误通常表明你的应用程序在尝试建立一个安全的 SSL/TLS 连接时遇到了问题。这通常是由于证书验证失败引起的。证书验证失败可能有几个原因&#xff1a; 证书不受信任&#…...

【人工智能】GaussDB数据库技术及应用

文章目录 前言一、数据库的基本概念及发展演进1、数据库概念DB2、数据库管理系统概念DBMS3、数据库与数据库管理系统的关系4、数据库的演进及发展5、数据模型的基本概念6、数据模型的要求和类型7、层次模型的基本概念8、网状模型的基本概念8、关系模型的基本概念9、非关系模型的…...

OpenAI12天 –第3天的实时更新,包括 ChatGPT、Sora、o1 等

OpenAI提前开启了假期&#xff0c;推出了为期 12 天的活动&#xff0c;名为“OpenAI 12 天”。在接下来的一周左右的每一天&#xff0c;OpenAI 都将发布现有产品的新更新以及新软件&#xff0c;包括备受期待的 Sora AI 视频生成器。 OpenAI 首席执行官 Sam Altman 表示&#x…...

删除Yocto中build-x9hp_ms_a12_vemmc_ap2/tmp/work/aarch64-sdrv-linux/package后再编译出错问题

前言&#xff1a; 在yocto编译中&#xff0c;一般会添加自己的package并编译打包到yocto里去。这个包里的内容有时候需要添加或者删除。但是我删除了文件&#xff0c;在编译完成烧录到板子上&#xff0c;里面还有自己删除的文件&#xff0c;于是就在yocto搜索哪个目录有该文件&…...

2024三掌柜赠书活动第三十五期:Redis 应用实例

目录 前言 Redis操作都会&#xff0c;却不知道怎么用&#xff1f; 关于《Redis 应用实例》 编辑推荐 内容简介 作者简介 图书目录 《Redis 应用实例》全书速览 拓展&#xff1a;Redis使用场景 实例1&#xff1a;缓存应用 场景描述 实现方法 具体代码示例 实例2&a…...

观察者模式的理解和实践

引言 在软件开发中&#xff0c;设计模式是开发者们为了解决常见的设计问题而总结出来的一系列最佳实践。观察者模式&#xff08;Observer Pattern&#xff09;是其中一种非常经典且使用率极高的设计模式。它主要用于定义对象之间的一对多关系&#xff0c;使得当一个对象的状态发…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险

C#入门系列【类的基本概念】&#xff1a;开启编程世界的奇妙冒险 嘿&#xff0c;各位编程小白探险家&#xff01;欢迎来到 C# 的奇幻大陆&#xff01;今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类&#xff01;别害怕&#xff0c;跟着我&#xff0c;保准让你轻松搞…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...