Codeforces Round 799 (Div. 4)

news2024/11/18 13:48:32

目录

A. Marathon

B. All Distinct

C. Where’s the Bishop?

D. The Clock

E. Binary Deque

F. 3SUM

G. 2^Sort

H. Gambling


A. Marathon


直接模拟

void solve()
{
    int ans=0;
        for(int i=1;i<=4;i++) {
            cin>>a[i];
            if(i>1&&a[i]>a[1]) ans++;
        }
        cout<<ans<<endl;
        return ;
}

B. All Distinct

把重复的数删除然后判断是不是删的偶数个不是就再减去一个即可

void solve()
{
    cin>>n;
    vector<int> a;
    for(int i=1;i<=n;i++){
        int x; cin>>x;
        a.push_back(x);
    }

    sort(a.begin(),a.end());
    a.erase(unique(a.begin(),a.end()),a.end());

    int now=n-a.size();
    cout<<(now%2==0 ? a.size() : a.size()-1)<<endl;

    return ;
}

C. Where’s the Bishop?

简单的八皇后行列的性质,也就是副对角线的是行列之和相等,主对角线是差值相等需要加上n防止越界,接着谁所在的行列之和最大谁就是king

char a[M][M];
int d[M],ud[M];
void solve()
{
    n=m=8;
    memset(d,0,sizeof d);
    memset(ud,0,sizeof ud);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
            cin>>a[i][j];
            if(a[i][j]=='#'){
                d[i+j]++;
                ud[8-i+j]++;
            }
            }
        }
        int x=0,y=0,ma=0;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=n;j++){
                if(d[i+j]+ud[8-i+j]>ma){
                    ma=d[i+j]+ud[8-i+j];
                    x=i,y=j;
                }
            }
        }
        cout<<x<<" "<<y<<endl;
        return ;

D. The Clock

简单模拟即可,我们发现这一类题目都是数据范围很小 我们可以先装为总的分钟再来变化即可用mp记录是否出现过

map<PII,int> mp;
void solve()
{
        string s; cin>>s>>m;
        h=(s[0]-'0')*10+s[1]-'0';
        n=(s[3]-'0')*10+s[4]-'0';
        mp.clear();
        int hh=m/60,mm=m-hh*60;
        int ans=0;
        while(1){
            if(mp[{h,n}]) break;
            mp[{h,n}]++;
            string x,y;

            int xx=h,yy=n;
            while(xx){
                x+=xx%10+'0';
                xx/=10;
            }
            while(yy){
                y+=yy%10+'0';
                yy/=10;
            }
            if(h<10) x+='0';
            if(n<10) y+='0';
            reverse(x.begin(),x.end());
            if(x==y) ans++;
            h+=hh,n+=mm;
            if(n>=60) n-=60,h++;
            if(h>=24) h-=24;
        }
        cout<<ans<<endl;
        return ;
}

E. Binary Deque


简单性质使用 要删除的最少也就是留下的最多我们可以考虑使用双指针,如果后面多了一定要删去前面的


void solve()
{
    cin>>n>>m;
    int sum=0;
    for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i];

    if(sum<m) cout<<-1<<endl;
    else{
        sum=0;
        int ans=0;
        for(int i=1,j=1;i<=n;i++){
            sum+=a[i];
            while(sum>m){
                sum-=a[j];
                j++;
            }
            if(sum==m) ans=max(ans,i-j+1);
        }
        cout<<n-ans<<endl;
    }
    return ;
}

F. 3SUM


考虑到我们只需要看最后一个位置所以我们只需要把每一个数的最后一位取出来即可然后直接9^3
暴力即可

int a[10];
void solve()
{
        cin>>n;
        memset(a,0,sizeof a);
        for(int i=1;i<=n;i++){
            int x; cin>>x;
            a[x%10]++;
        }
        for(int i=0;i<=9;i++){
            for(int j=0;j<=9;j++){
                for(int k=0;k<=9;k++){
                    if(i==j&&j==k&&a[i]<3) continue;
                    if(i==j&&a[i]<2) continue;
                    if(i==k&&a[i]<2) continue;
                    if(j==k&&a[j]<2) continue;
                    if(!a[i]||!a[j]||!a[k]) continue;
                    if((i+j+k)%10==3){
                        cout<<"YES"<<endl;
                        return ;
                    }
                }
            }
        }
        cout<<"NO"<<endl;
        return ;
}

G. 2^Sort


我们发现变化的其实之后后面一个数多乘以2了后面也是一样的就判断 是否满足即可如果不满足重新开始,双指针算法

int a[N];
void solve()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++) cin>>a[i];
    int ans=0,len=1;
    for(int i=2;i<=n;i++){
        if(a[i]*2>a[i-1]) len++;
        else
        {
            if(len>m) ans+=len-m;
            len=1;
        }
    } 
    if(len>m) ans+=len-m;
    cout<<ans<<endl;
        return ;
}

H. Gambling


我们发现其实只需要对每一个数来判断即可我们也就是求一个数的区间的数量减去其他数的数量,
我们可以把这个数看成1,其它的数就是-1来计算贡献来维护一个前缀最小的即可


void solve()
{
        cin>>n;
        map<int,set<PII>> mp;
        int res=0,a=0,l=0,r=0;
        for(int i=1;i<=n;i++){
            int x; cin>>x;
            int sum=2*mp[x].size()-i;
            mp[x].insert({sum-1,i});// 
            auto it=*mp[x].begin();
            if(sum-it.first>res){
                res=sum-it.first;
                a=x;
                l=it.second;
                r=i;
            }
        }
        cout<<a<<" "<<l<<" "<<r<<endl;
}

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

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

相关文章

欧拉角及Eigen库中eulerAngles函数的理解

欧拉角方向 以右手坐标系为例&#xff0c;大拇指表示X轴&#xff0c;食指表示Y轴&#xff0c;中指表示Z轴。 大拇指朝向某个轴的正方向&#xff0c;手掌弯曲的方向即为某个轴欧拉角的正方向。 Eigen库中eulerAngles函数 旋转矩阵转欧拉角(Z-Y-X&#xff0c;即RPY&#xff09…

防御保护----防火墙基本知识

一.防火墙的基本知识--------------------------------------------------------- 防火墙&#xff1a;可以想象为古代每个城市的城墙&#xff0c;用来防守敌军的攻击。墙&#xff0c;始于防&#xff0c;忠于守。从古至今&#xff0c;墙予人以安全之意。 防火墙的主要职责在于&…

IDE开发工具Idea使用(IDEA安装与卸载,详细配置,快捷键,代码模板,创建模板,Debug调试,生成javadoc,导入模块,导出jar)

文章目录 一、IntelliJ IDEA 介绍1、JetBrains 公司介绍2、IntelliJ IDEA 介绍3、IDEA 的下载 二、安装与卸载1、安装前的准备2、安装过程3、卸载过程方式一&#xff1a;【控制面板】中卸载如何打开控制面板&#xff1f; 三、初始化配置与激活四、HelloWorld1、新建Java类2、编…

Linux浅学笔记03

目录 有关root的命令 用户和用户组 用户组管理&#xff1a;&#xff08;以下需要root用户执行&#xff09; 创建用户组: 删除用户组&#xff1a; 用户管理&#xff1a;&#xff08;以下需要root用户执行&#xff09; 创建用户&#xff1a; 删除用户&#xff1a; 查看用…

开关电源调试会遇到哪些问题?怎么解决?

一般在使用电气设备之前都会调试&#xff0c;以便及时发现问题并采取措施解决。开关电源也一样会进行调试&#xff0c;那么在调试开关电源的过程中会遇到哪些问题呢? 又该如何解决呢? 1. 空载、轻载无法启动 开关电源在空载和轻载情况下&#xff0c;由于绕组的感应电压太低&a…

时隔3年 | 微软 | Windows Server 2025 重磅发布

最新功能 以下是微软产品团队正在努力的方向&#xff1a; Windows Server 2025 为所有人提供的热补丁下一代 AD 活动目录和 SMB数据与存储Hyper-V 和人工智能还有更多… Ignite 发布视频 Windows Server 2025 Ignite Video 介绍 Windows Server 2022 正式发布日期是2021年…

深度强化学习(王树森)笔记09

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

网络防御安全知识(第二版)

安全策略 传统的包过滤防火墙 --- 其本质为ACL列表&#xff0c;根据数据报中的特征进行过滤&#xff0c;之后对比规制&#xff0c; 执行动作。 五元组 --- 源IP&#xff0c; 目标IP&#xff0c;源端口&#xff0c; 目标端口&#xff0c;协议 安全策略 --- 相较于ACL的改进之…

centos7上安装mysql5.7并自定义数据目录路径

1、卸载mariadb rpm -qa |grep mariadb #查出来的结果是mariadb-libs-5.5.68-1.el7.x86_64 rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps #卸载查到的结果 2、官网下载响应的tar.gz包&#xff0c;比如mysql-5.7.38-el7-x86_64.tar.gz &…

Vue中配置页面加载进度条

目录 &#x1f389;应用场景 &#x1f389;在Vue中使用 1.安装nprogress 2.配置进度条 3.配置进度条的颜色 4.其他配置选项 &#x1f389;结语 &#x1f389;应用场景 像页面中的这种加载进度条的效果&#xff0c;可以更好为用户提供视觉上的反馈&#xff0c;让他们知道…

【超详细教程】GPT-SoVITs从零开始训练声音克隆教程(主要以云端AutoDL部署为例)

目录 一、前言 二、GPT-SoVITs使用教程 2.1、Windows一键启动 2.2、AutoDL云端部署 2.3、人声伴奏分离 2.4、语音切割 2.5、打标训练数据 2.6、数据集预处理 2.7、训练音频数据 2.8、推理模型 三、总结 一、前言 近日&#xff0c;RVC变声器的创始人&#xff08;GitH…

Django学习资料

相关链接 Django官网&#xff1a;The web framework for perfectionists with deadlines | Django Django 文档&#xff1a;Django 文档 | Django 文档 | Django

【劳德巴赫 Trace32 高阶系列 1 -- svf 文件介绍】

文章目录 SVF 文件概述SVF文件的格式以及头Trace32 如何识别和使用SVF文件如何使用SVF文件SVF 命令支持总结小结总结SVF 文件概述 SVF 文件是一种ASCII文本文件,用于描述JTAG(Joint Test Action Group)测试动作的串行向量。这些文件包含了对JTAG TAP(Test Access Port)的…

第一节课,用户管理--后端初始化,项目调通。二次翻工2

一、网址来源&#xff1a; 快速开始 | MyBatis-Plus (baomidou.com) 进程&#xff1a; ​ 二、[此处不看]添加测试类&#xff0c;看下效果 2.1 参考 一、第一节课&#xff0c;用户管理--后端初始化&#xff0c;项目调通-CSDN博客 ​ 2.2 新建 SampleTest ​ 2.3 复…

【Java程序设计】【C00171】基于SSM的智慧篮球馆预约管理系统(论文+PPT)

基于SSM的智慧篮球馆预约管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的智慧篮球馆预约管理系统 本系统分为前台、管理员以及学生3个功能模块。 前台&#xff1a;当游客打开系统的网址后&#xff0c;首先看到…

Oracle RAC 关键参数与常用命令

文章目录 一、Oracle RAC集群 关键参数1、静态参数2、唯一参数3、可变参数4、参数实践 二、常用命令1、crsctl&#xff1a;2、srvctl&#xff1a;3、asm&#xff1a;4、OCR&#xff1a;5、OLR:6、VF&#xff1a; 一、Oracle RAC集群 关键参数 RAC上的参数大致分为以下几类。 所…

项目实现网页分享QQ空间功能

文章目录 &#x1f412;个人主页&#x1f3c5;Vue项目常用组件模板仓库&#x1f4d6;前言&#xff1a;&#x1f380;源码如下&#xff1a; &#x1f412;个人主页 &#x1f3c5;Vue项目常用组件模板仓库 &#x1f4d6;前言&#xff1a; 本篇博客主要提供“点击转发按钮&#x…

【学网攻】 第(15)节 -- 标准ACL访问控制列表

系列文章目录 目录 系列文章目录 文章目录 前言 一、ACL(访问控制列表)是什么? 二、实验 1.引入 实验拓扑图 实验配置 测试PC2能否Ping通PC3 配置ACL访问控制 实验验证 PC1 Ping PC3 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认…

RK3568平台开发系列讲解(Linux系统篇)platform 设备的注册

🚀返回专栏总目录 文章目录 一、platform_device_register 注册函数二、platform_device_unregister 反注册函数三、platform_device 结构体四、resource 结构体沉淀、分享、成长,让自己和他人都能有所收获!😄 一、platform_device_register 注册函数 platform_device_re…

基于springboot+vue的旅游管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究现状…