Codeforces Round 889 (Div. 2)A~C1题解

news2024/11/19 5:39:45

A. Dalton the Teacher 

题目分析:

模拟,写出两个就能找出规律:坐在自己位子上的小孩会不高兴,所以统计下来cnt

发现cnt为奇数是(cnt+1)/2次就能换成要求,偶数就是cnt/2

#include<bits/stdc++.h>
#pragma GCC optimize(3)
#define INF 0x3f3f3f3f
#define endl "\n"
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
typedef long long ll;
using namespace std;
const int N =2e5+7;
int main(){IOS
    int t;cin>>t;
    while(t--)
    {
        ll cnt=0;
        int n;cin>>n;
        int x;
        for(int i=1;i<=n;i++)
        {cin>>x;
        if(x==i)cnt++;
            
        }
        if(cnt%2)
        {
            cout<<(cnt+1)/2<<endl;
            
        }else cout<<cnt/2<<endl;
    }
    
    
    
return 0;
}

B. Longest Divisors Interval

题目分析:给你一个1e18大小的数n,让你 找出最长的连续数列满足这个数列每个都是n的除数

1e18为long long 类型,假设l=1,r=26,long long 就会爆掉,所以,连续序列的长度最多不超过25,同理,越往后面,数字越大,也即只需要在1~25范围内找连续数列就行

#include<bits/stdc++.h>
#pragma GCC optimize(3)
#define INF 0x3f3f3f3f
#define endl "\n"
#define IOS ios::sync_with_stdio(false);cin.tie(0);
typedef long long ll;
using namespace std;
const int N =2e5+7;
int a[N];
struct ss {
    int a,b;
}stu[N];
int main(){IOS
    int t;cin>>t;
    while(t--)
    {
        ll n;cin>>n;
        ll ans=0;
        for(int i=1;i<=25;i++){
            ll tmp=0;
            while(n%i==0){
                i++;
                tmp++;
            }
            ans=max(ans,tmp);
        }cout<<ans<<endl;
    }
    
    
    
return 0;
}

C1. Dual (Easy Version) 

题目分析:每次将 aj 加到 ai上,最终在不超过50次的操作下,使得整个序列变为不递减序列

特殊情况:全正 or 全负 两种情况处理起来差不多,后加前 or 前加后  最多 19次操作

其余情况不好处理,考虑往特殊情况上转,也即找到最大的数和最小的数相加,若小于零,则将最小的数加上全序列变为全负,否则变为全正,最多19次操作

#include<bits/stdc++.h>
#pragma GCC optimize(3)
#define INF 0x3f3f3f3f
#define endl "\n"
#define IOS ios::sync_with_stdio(false);cin.tie(0);
typedef long long ll;
using namespace std;
typedef pair<int ,int >pii;
const int N =2e5+7;
int a[N];
struct ss {
    int a,b;
}stu[N];
vector<pii>ans;
int main(){IOS
    int t;cin>>t;
    while(t--)
    {
        int n;cin>>n;
        cin>>a[1];
        int mas=a[1];
        int mins=a[1];
        int masidx=1;
        int minsidx=1;
        for(int i=2;i<=n;i++)
        {
            cin>>a[i];
            if(a[i]>mas){
                mas=a[i];
                masidx=i;
            }
            if(a[i]<mins){
                mins=a[i];
                minsidx=i;
            }
           
        }
        if(mins+mas<0)
        {
            for(int i=1;i<=n;i++)
            {
                if(i!=minsidx){
                  ans.push_back({i,minsidx});
                }
            }
            
            for(int i=n-1;i>=1;i--){
                ans.push_back({i,i+1});
            }
        }else {
            for(int i=1;i<=n;i++)
            {
                if(i!=masidx){
                  ans.push_back({i,masidx});
                }
            }
            for(int i=2;i<=n;i++)
            {
                ans.push_back({i,i-1});
            }
            
        }
        cout<<n*2-2<<endl;
       for(auto x:ans)
       {
           cout<<x.first<<" "<<x.second<<endl;
           ans.pop_back();
       }
        
    }

return 0;
}

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

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

相关文章

Silicon labs BG22蓝牙开发记录(一)

本篇内容适用初学者使用&#xff0c;主要介绍如何快速了解Siliconlabs EFR32BG22蓝牙芯片相关的软件资源和硬件资源&#xff0c;结合了我作为FAE 支持的一些个人看法&#xff0c;便于使用者快速入门&#xff0c;加速你们的产品实施。 本系列分为&#xff1a; Siliconlabs BG22…

世界前沿技术发展报告2023《世界信息技术发展报告》(一)世界信息技术及产业发展重要动向

&#xff08;一&#xff09;世界信息技术及产业发展重要动向 1. 概述2. 半导体技术水平持续进步&#xff0c;行业内部开始新一轮调整2.1 全球主要经济体加强半导体技术能力建设&#xff0c;推动厂商扩产2.2 先进制程技术持续发展&#xff0c;先进封装技术崭露头角2.3 消费电子半…

幸存者偏差

幸存者偏差&#xff08;英语&#xff1a;survivorship bias&#xff09;&#xff0c;另译为“生存者偏差”&#xff0c;是一种认知偏差。其逻辑谬误表现为过分关注于目前人或物“幸存了某些经历”然而往往忽略了不在视界内或无法幸存这些事件的人或物。 幸存者偏差最早来源于第…

品牌出海的关键步骤:市场定位与创新营销

现如今越来越多的企业开始将目光投向海外市场&#xff0c;寻求品牌出海的机会。品牌出海是指企业将自身品牌拓展至海外市场&#xff0c;通过进军国际市场来实现增长和发展。然而&#xff0c;面对不同的文化、市场环境和消费者需求&#xff0c;成功的品牌出海需要制定有效的策略…

apifox怎么测试API,你学会了吗?

背景 由其他的team做的项目&#xff0c;配置到一个新的环境下。由于项目需要与别的公司的项目接连&#xff0c;所以需要创建公开的API接口&#xff0c;利用apifox来进行测试&#xff08;postman&#xff0c;jmeter都可以&#xff09;。此次利用apifox来创建测试API接口的测试 …

小程序添加隐私保护指引弹框(包含配置隐私保护指引方法)

实现效果&#xff1a; 目录 前言一、 涉及到使用了隐私接口的小程序必须在「小程序管理后台」设置《小程序用户隐私保护指引》&#xff0c;微信一共提供了 4 个接口给开发者使用&#xff0c;分别是:二、 配置隐私协议弹框组件三、在页面中使用协议弹窗组件四、uniapp开发&#…

自己开发一个VSCode插件,快速生成Flex布局代码

插件CSS Flex 安装地址&#xff1a;VSCode插件安装 GitHub&#xff1a;https://github.com/xutao-o/css-flex-code &#x1f4a1;介绍 这是一个快捷生成CSS Flex布局代码的VS Code插件&#xff0c;类似于Google开发者控制台里的Flex布局工具&#xff0c;就是看谷歌的布局工具…

stm32之软件模拟IIC

在之前的文章中分析过在52上的IIC时序&#xff0c;也测试过stm32的自带IIC功能&#xff0c;这里大致写下如何模拟stm32上的IIC。实验硬件基于stm32f103c8t6 废话不多说&#xff0c;先直接上代码。 一、源码 头文件 #include "stdint.h" #include "gpio.h&quo…

编译u-boot的过程中遇到的问题

我使用的是uboot-2016.tar.bz2这个压缩包&#xff0c;将其解压之后进入这个文件夹&#xff0c;里面所包含的文件如下图所示。 这个文件夹下包含着三个Shell脚本文件&#xff0c;都是可执行的&#xff0c;打开其中一个其内容如下。 根据自己的开发板类型决定执行哪一个Shell脚…

基于Python实现的快递管理系统源码+数据库,采用PyQt6实现GUI界面

快递管理系统 完整代码下载地址&#xff1a;快递管理系统 介绍 通过对传统的快递收发流程进行分析&#xff0c;完成网上快递管理系统的分析设计与开发&#xff0c;使客户能方便在网站上查询自己的快件信息以及网上寄件&#xff0c;同时管理员又能对每天的收到快件进行登记和…

一步步教你如何搭建K8S集群

一、环境配置 三台CentOS7虚拟机&#xff0c;默认配置&#xff0c;内存2GB、处理器2核心。 先更新下系统 1 sudo yum update 2 sudo yum upgrade 二、安装并启动 docker 1 yum -y install wget 2 wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo …

Unity中Shader需要了解的点与向量

文章目录 前言一、点和向量的区别二、向量加法减法1、向量加法2、向量减法(可以把向量减法转化为向量加法) 三、向量的模四、标量![在这里插入图片描述](https://img-blog.csdnimg.cn/03df81df3cdf47989a11605d5f5e7da5.png)1、向量与标量的乘法 前言 Unity中Shader了解使用的…

3个变化3秒区别MT4和MT5

自从mt5上市以来&#xff0c;很多投资者无法快速区别MT4和MT5&#xff0c;其实很简单&#xff0c;通过3个变化anzo capital昂首资本3秒一眼区别。 外观区别 很难从视觉上定义MT4和MT5的区别。在新的平台版本中&#xff0c;开发者专注于平台功能的升级&#xff0c;几乎没有改变…

node 解决多版本配置 error:03000086:digital 引起的问题 已解决

在日常后端工作中&#xff0c;难免会安装前端的项目&#xff0c;今天有旧项目需要维护&#xff0c;但是 提示 node版本过高&#xff0c;或者不是长维护版本&#xff0c;部分分享说&#xff0c;加 opensll 过滤能解决&#xff0c;但是 还是不行&#xff0c;索性来这个 底朝天的找…

阿里云服务器共享型和企业级独享有什么区别?

阿里云ECS云服务器共享型和企业级有什么区别&#xff1f;企业级就是独享型&#xff0c;共享型和企业级云的主要区别CPU调度模式&#xff0c;共享型是非绑定CPU调度模式&#xff0c;企业级是固定CPU调度模式&#xff0c;共享型云服务器在高负载时计算性能可能出现波动不稳定&…

XC1336 高侧过压保护器 30V过压保护IC 可做OVP、高压开关

XC1336是一个高压30V过电压保护器&#xff08;OVP&#xff09;&#xff0c;其电阻较低&#xff0c;只需改变外部连接。它可以用作OVP设备或高压开关。 XC1336由一个电荷泵、一个可配置的功率MOSFET、一个电压参考、一个栅极驱动器和一些逻辑和保护模块组成。 XC1336可以对输入浪…

Linux发行版X华为鲲鹏openEuler

前言 作为硬件和软件之间的桥梁&#xff0c;我接触的最多的就是Windows和Centos&#xff0c;还记得最初的鸟哥的Linux私房菜&#xff0c;而Centos即将停止维护更新&#xff08;Centos7维护到2024&#xff09;&#xff0c;对于个人学习来说没有任何影响&#xff0c;但是对于企业…

算法通过村第十关-快排|白银笔记|快排实战

一个程序员一生中可能会邂逅各种各样的算法&#xff0c;但总有那么几种&#xff0c;是作为一个程序员一定会遇见且大概率需要掌握的算法。今天就来聊聊这些十分重要的“必抓&#xff01;”算法吧~ 文章目录 前言数组第K大总结 前言 这是快排中的经典算法题&#xff0c;但是很多…

C语言 Cortex-A7核 SPI 实验

1 实验目的 1、数码管显示相同的值0000 1111 2222 .... 9999 2、数码管不同的值1234 2 代码 include/spi.h #ifndef __SPI_H__ #define __SPI_H__ #includ…

ROS2 从头开始​​:第 2 部分 - 包、发布者和订阅者

一、说明 在这篇文章中,我们将重点关注 ROS 2 包、发布者和订阅者。具体来说,我们将涵盖以下主题:1. 什么是 ROS 2 包以及为什么它很重要?2.如何使用ros2 pkg create命令创建ROS 2包? 3. 如何使用该rclcpp库在ROS 2中创建发布者和订阅者? 让我们开始吧! 二、套…