Codeforces Round 967 (Div. 2)

news2025/1/11 2:41:54

文章目录

  • A. Make All Equal
    • 题目描述
    • 思路
    • 代码
  • B. Generate Permutation
    • 题目描述
    • 思路
    • 代码
  • C. Guess The Tree
    • 题目描述
    • 思路
    • 代码

A. Make All Equal

题目描述

一个数组,最多实行n-1次,计算最少多少次可以变为同一个数

思路

计算重复次数最多的数,用总数减去重复最多的就行

代码

signed main()
{
    int t;
    cin >> t;
    while (t--) 
    {
        int n; int c = 0;
        cin >> n;
        int a[n + 5];
        int b[n + 5]; 
        fill(b, b + n + 5, 0);//重置  
        for (int i = 0; i < n; i++)
            cin >> a[i];
        for (int i = 0; i < n; i++) 
        {
            b[a[i]]++;//计算最大重复次数
            c = max(c, b[a[i]]);//更新最大次数
        }
        cout << n - c << '\n';
    }    
    return 0;
}

B. Generate Permutation

题目描述

在这里插入图片描述

思路

偶数的时候不行,直接输出‘-1’;
奇数就可以第一个数输出x,每次减2,输出1,再每次加2,直到输出次数等于x(这个是观察样例三观察出来的)

代码

signed main() 
{
    int t;
    cin >> t;
    while (t--) 
	{
		int x; cin>>x;
        int f=0; int n=x;
        if(x==1)
        	cout<<"1"<<'\n';
		else if(x%2==0) 
			cout<<"-1"<<'\n';//按照上述思路,最中间的两个数,不同的方向注定是不同的,所以转化次数肯定不一样
		else
		{
			while(x>=1)
			{
				cout<<x<<' ';
				x-=2;
				f++;//记录重复次数
			}
			x=2;
			while(f<n)//这里要用一个新变量,把n的值
			{
					cout<<x<<' ';
					x+=2;
					f++;	
			}
		} 
    }
    return 0;
}

C. Guess The Tree

题目描述

这是一个互动问题。
Misuki 选择了一棵有 n 个节点、索引从 1 到 n的秘密树,并要求你使用以下类型的查询来猜测它:
“? a b” - Misuki 会告诉你哪个节点 x最小化了 |d(a,x)−d(b,x)| ,其中 d(x,y) 是节点 x 和 y
之间的距离。如果存在多个这样的节点,那么 Misuki 会告诉您哪个节点使 d(a,x) 最小。
最多使用 15n 次查询即可找出三幸秘密树的结构!

思路

这是个交互题,平时没怎么见,需要好好学习一下

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int fa[N];
int idx;
int from[N], to[N];
int find(int x)
{
    if (fa[x] != x)
        fa[x] = find(fa[x]);
    return fa[x];
}
int main()
{
    int T;
    cin >> T;
    while (T--)
    {
        int n;
        cin >> n;
        for (int i = 1; i <= n; i++)
            fa[i] = i;
        idx = 0;
        int x;
        for (int i = 2; i <= n; i++)
        {
            if (find(1) == find(i)) continue;
            int u = 1, v = i;
            while (idx < n)
            {
                printf("? %d %d\n", u, v);
                cout.flush();
                cin >> x;
                if (x == u)
                {
                    from[++idx] = u;
                    to[idx] = v;
                    fa[find(v)] = find(u);
                    break;
                }
                else if (find(u) == find(x))
                    u = x;
                else if (find(v) == find(x))
                    v = x;
                else
                    u = x;
            }
        } 
        printf("! ");
        for (int i = 1; i < n; i++)
            printf("%d %d ", from[i], to[i]);
        cout << endl;
    }

    return 0;
}

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

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

相关文章

产业园区数字化转型:面对挑战,我们如何把握机遇加速前行?

在当今数字化的时代浪潮中&#xff0c;产业园区数字化转型已成为推动经济发展和提升竞争力的关键举措。然而&#xff0c;这一进程并非坦途&#xff0c;充满了各种挑战。 产业园区数字化转型面临着技术更新换代快的压力。新技术不断涌现&#xff0c;如物联网、人工智能、大数据…

Mybatis 速通秘籍 节省回顾知识点和学习成本

目录 一、MyBatis简介 1、MyBatis历史 2、MyBatis特性 3、MyBatis下载 4、和其它持久层技术对比 二、搭建MyBatis 1、开发环境 2、创建maven工程 a>打包方式 b>引入依赖 3、创建MyBatis的核心配置文件 4、创建mapper接口 5、创建MyBatis的映射文件 6、通过j…

python学习之路 - python的异常、模块与包

目录 一、python的异常、模块与包1、了解异常2、异常的捕获方法a、捕获基本异常b、捕获指定异常c、捕获多个异常d、捕获异常后的finally 3、异常的传递4、python模块a、定义b、基础语法c、使用方法d、补充 5、python包a、定义b、操作方法c、使用方法 6、安装第三方python包a、命…

MVC和三层架构

&#x1f449;参考文章&#xff1a;mvc简介&#xff0c;mvc与三层架构的区别 一.MVC是什么&#xff1f; Model-View-Controller&#xff08;MVC&#xff09;是一种软件架构模式&#xff0c;是软件设计模式的体现 &#xff0c;用于组织代码并分离关注点&#xff0c;广泛应用于…

GPS和桩号互转

文章目录 前言一、通过bigmap软件生成坐标信息csv二、Java实现1.CSV分隔2.计算2.1 读取gps_data.csv2.2 读取piles.csv2.3 进行线性插值2.4 返回值实体2.5 根据GPS坐标计算距离工具2.6 根据GPS坐标读取桩号2.7 根据桩号读取GPS坐标(根据距离计算&#xff0c;找到最近的桩号) 前…

短视频SDK解决方案,智能技术加持,提升创作效率

随着社交媒体、直播电商、在线教育等领域的蓬勃发展&#xff0c;短视频以其独特的魅力迅速崛起&#xff0c;成为内容创作与传播的新风口。为了助力企业和个人轻松拥抱视频化趋势&#xff0c;美摄科技匠心打造了一套高效、易用的短视频SDK解决方案&#xff0c;以“轻编辑&#x…

【高级IO-2】IO多路转接之Select(概念及代码实例)

文章目录 I/O 多路转接 之 Select1. 了解select2. select 函数原型① fd_set 结构② 详细理解参数&#xff08;readfds为例&#xff09; 3. 理解select的执行过程4. select代码实例&#xff1a;监视多个文件描述符5. Socket就绪条件6. select代码实例&#xff1a;多路复用服务器…

每日掌握一个科研插图·2D密度图|24-08-21

小罗碎碎念 在统计学和数据可视化领域&#xff0c;探索两个定量变量之间的关系是一种常见的需求。为了更深入地理解这种关系&#xff0c;我们可以使用多种图形表示方法&#xff0c;这些方法在本质上是对传统图形的扩展和变体。 散点图&#xff1a;这是最基本的图形&#xff0c…

什么是 JavaConfig?

什么是 JavaConfig&#xff1f; &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; JavaConfig是Spring框架的一项创新&#xff0c;它允许开发者使用纯Java代码来配置Spring IoC容器&#xff0c;从而避免了繁琐的XML配置。这一特性带来了诸多优…

【微信小程序】导入项目

1.在微信开发工具中&#xff0c;点击【导入项目】 2.在打开的界面中执行2个步骤 1.找到要导入项目的路径2.AppID要改成自己的AppID 3.package.json包初始化【装包之前要确保有package.json文件】 1.在【资源管理器】空白处&#xff0c;点击鼠标右键&#xff0c;选择【】&am…

免费的真是太香了!Chainlit接入抖音 Coze AI知识库接口快速实现自定义用户聊天界面

前言 由于Coze 只提供了一个分享用的网页应用&#xff0c;网页访问地址没法自定义&#xff0c;虽然可以接入NextWeb/ChatGPT web/open webui等开源应用。但是如果我们想直接给客户应用&#xff0c;还需要客户去设置配置&#xff0c;里面还有很多我们不想展示给客户的东西怎么办…

[Python可视化]空气污染物浓度地图可视化

[Python可视化]空气污染物浓度地图可视化&#xff0c;果然是路边浓度最大 在本篇文章中&#xff0c;我将展示如何使用 Python 结合 OSMnx、NetworkX 和 GeoPandas 等库&#xff0c;计算给定路径的最短路线&#xff0c;并基于该路径穿过的网格单元计算总污染量。最终&#xff0c…

uniapp 修复使用 uni.saveImageToPhotosAlbum 方法在部分安卓手机上保存失败

场景&#xff1a;使用 uni.saveImageToPhotosAlbum 保存图片&#xff0c;其他手机都是可以的&#xff0c;但在鸿蒙系统的手机上出现了bug&#xff0c;报错Object {errMsg:"savelmageToPhotosAlbum:fai..errMsg:savelmageToPhotosAlbum:fail invalid filetype"} 原因&…

数学建模学习(116):全面解析梯度下降算法及其在机器学习中的应用与优化

文章目录 1.梯度下降简介1.1 梯度下降的数学原理1.2 学习率的选择2 梯度下降变体3.梯度下降优化器3.1 动量法(Momentum)3.2 AdaGrad3.3 RMSprop3.4 Adam3.5 Python 使用不同优化器训练线性回归模型4.案例:使用梯度下降优化加利福尼亚房价预测模型4.1. 数据准备4.2. 模型训练…

【dotnet】Ubuntu 24.04安装dotnet 8.0报错

我的环境是Ubuntu 24.04&#xff0c;64位&#xff0c;使用azure的虚拟机。 报错文字如下&#xff1a; kidfuazurefu:~$ sudo apt install dotnet-sdk-8.0 Reading package lists... Done Building dependency tree... Done Reading state information... Done Some packages c…

数学生物学-3-固定点、稳定性和蛛网图(Fixed Points, Stability, and Cobwebbing)

在前一篇博客中&#xff0c;我们研究了一些离散时间模型的例子。特别是&#xff0c;我们推导出了离散逻辑方程的重要例子。 数学生物学-2-离散时间模型(Discrete Time Models&#xff09;-CSDN博客 在本篇文章中&#xff0c;我们将考虑离散时间模型的一般形式&#xff08;在数…

超声波水表是什么?量程比又是什么?

一、超声波水表概述 1.定义&#xff1a; 超声波水表是一种利用超声波技术来测量水流速度&#xff0c;进而计算出流经管道的水体积流量的计量设备。它通过发送和接收超声波信号的时间差来确定水流的速度&#xff0c;从而精确地计量水的流量。 2.工作原理&#xff1a; 超声波…

勇闯计算机视觉(第一关--环境激活)

以下内容&#xff0c;皆为原创&#xff0c;制作实属不易&#xff0c;多谢帅锅和镁铝观看和关注。 一.什么是计算机视觉 计算机视觉是人工智能的一个分支&#xff0c;它使计算机能够从图像或多维数据中解释和理解视觉信息。计算机视觉的目标是模拟人类视觉系统的能力&#xff0c…

普元EOS-数据实体运行时动态增加property

1 前言 在Java开发读取数据的时候&#xff0c;一般都采用ORM方式将数据表的字段映射到实体对象中。 数据表中有一个字段&#xff0c;实体对象就有一个字段。 但很多时候&#xff0c;我们在读取的数据和显示的数据不同&#xff0c;比如&#xff0c;读取的是部门id&#xff0c…

java多线程(七)AQS(AbstractQueuedSynchronizer)技术解析:以赛跑起跑场景为例

AQS概括 核心思想 AQS&#xff08;AbstractQueuedSynchronizer&#xff09;是Java并发包中的一个核心同步器框架&#xff0c;它定义了一套多线程访问共享资源的同步机制。 其核心思想是&#xff1a;利用一个volatile的int类型的变量state来表示同步状态&#xff0c;并通过一…