Codeforces Round 799 (Div. 4)

目录

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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

7.【SpringBoot3】项目部署、属性配置、多环境开发

文章目录 1. SpringBoot 项目部署2. 属性配置方式2.1 通过 cmd 命令行配置2.2 通过环境变量配置2.3 通过外部配置文件来配置 3. 多环境开发 Profiles3.1 多环境开发的单文件配置3.2 多环境开发的多文件配置3.3 多环境开发-分组 1. SpringBoot 项目部署 项目完成后&#xff0c;…

Doris简介及单机部署(超详细)

文章目录 一、Doris简介1、Doris介绍2、Doris架构 二、Doris单机部署&#xff08;Centos7.9&#xff09;1、下载Doris2、准备环境3、安装部署3.1 创建存储目录3.2 配置 FE3.3 启动 FE3.4 查看 FE 运行状态3.5 配置 BE3.6 启动 BE3.7 添加 BE 节点到集群3.8 查看 BE 运行状态3.9…

为什么现在年轻人宁愿自己工资低点也要过得舒服,不那么累?

​为什么现在的年轻人宁愿工资低点也要过得舒服&#xff1f; 在当今社会&#xff0c;我们不难发现一种现象&#xff1a;越来越多的年轻人宁愿选择工资稍低&#xff0c;但相对轻松的工作&#xff0c;而不是追求高收入和高压力的职位。这似乎与传统的观念相悖&#xff0c;因为在…

maven中的version加不加SNAPSHOT的区别

我们平时开发时经常看到maven的pom.xml文件里面的包有两种 因为maven的远程仓库一般分为public(Release)和SNAPSHOT&#xff0c;前者代表正式版本&#xff0c;后者代表快照版本。 具体有什么区别呢&#xff1a; 举例说明&#xff0c;你开发了一个基础功能&#xff0c;打包发布…

记录我的历程

1、2024年1月30号更新 从2024年1月22号开始复更&#xff0c;已添加20篇文章&#xff0c; 前一阶段&#xff1a;排名1502450、原力分2、粉丝3人

electron-builder vue 打包后element-ui字体图标不显示问题

当使用electron打包完成的时候&#xff0c;启动项目发现使用的element-ui字体图标没显示都变成了小方块&#xff0c;并出现报错&#xff0c;请看下图&#xff1a; 解决方法&#xff1a; 在vue.config.js中设置 customFileProtocol字段&#xff1a;pluginOptions: {electronBui…

港大、TikTok推出任意图像的深度估计大模型Depth Anything,致敬Segment Anything

目录 前言 1.摘要 2.方法 3.实验结果 4.总结 前言 人类有两只眼睛来估计视觉环境的深度信息&#xff0c;但机器人和 VR 头社等设备却往往没有这样的「配置」&#xff0c;往往只能靠单个摄像头或单张图像来估计深度。这个任务也被称为单目深度估计&#x…

CXYGZL-程序员工作流:自定义流程打印模板,新增审批人类型

概述 我们的工作流引擎采用了低代码方式&#xff0c;借鉴了钉钉和飞书的设计思路&#xff0c;旨在降低用户的使用门槛。相比基于BPMN.js的工作流引擎&#xff0c;我们的解决方案更容易上手&#xff0c;一般用户也能在几分钟内搭建自己的工作流程。这样&#xff0c;非专业人员也…

vue中的vuex

在Windows的应用程序开发中&#xff0c;我们习惯了变量&#xff08;对象&#xff09;声明和使用方式&#xff0c;就是有全局和局部之分&#xff0c;定义好了全局变量&#xff08;对象&#xff09;以后在其他窗体中就可以使用&#xff0c;但是窗体之间的变量&#xff08;对象&am…

神经调节的Hebbian学习用于完全测试时自适应

摘要 完全测试时自适应&#xff08;Fully test-time adaptation&#xff09;是指在推理阶段对输入样本进行序列分析&#xff0c;从而对网络模型进行自适应&#xff0c;以解决深度神经网络的跨域性能退化问题。我们从生物学合理性学习中获得灵感&#xff0c;其中神经元反应是基…

开发通用模板设计

文章目录 需求摘要1 模板描述2 模板内容介绍2.1 模块间依赖关系2.2 模板目前集成2.2.1 swaggerKnife4j2.2.1 nacosSpringBootSpringCloudAlibaba 3 项目地址4 FAQ 需求 目前在开发中&#xff0c;使用的非本人搭建的项目架子&#xff0c;存在如下问题&#xff1a; 依赖无法统一…

快速理解MoE模型

最近由于一些开源MoE模型的出现&#xff0c;带火了开源社区&#xff0c;为何&#xff1f;因为它开源了最有名气的GPT4的模型结构&#xff08;OPEN AI&#xff09;&#xff0c;GPT4为何那么强大呢&#xff1f;看看MoE模型的你就知道了。 MoE模型结构&#xff1a; 图中&#xff0…

贪吃蛇游戏的实现

一.技术要点: 贪吃蛇需要掌握: c语言函数,枚举,结构体,动态内存管理,预处理指令,链表,Win32 API等 二.Win32 API 1.Win32 API简介 windows可以帮应用程序卡其视窗,描绘图案,使用周边设备,,Win32 API就是windows32位平台上的应用程序编程接口 2.控制台程序 (1).使用cmd命令…

如何在群晖中本地部署WPS Office并实现公网远程访问

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本&#xff0c;通过…

最优化基础 - (最优化问题分类、凸集)

系统学习最优化理论 什么是最优化问题&#xff1f; 决策问题&#xff1a; &#xff08;1&#xff09;决策变量 &#xff08;2&#xff09;目标函数&#xff08;一个或多个&#xff09; &#xff08;3&#xff09;一个可由可行策略组成的集合&#xff08;等式约束或者不等式约束…

【RT-DETR改进涨点】ResNet18、34、50、101等多个版本移植到ultralytics仓库(RT-DETR官方一比一移植)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文是本专栏的第一篇改进,我将RT-DETR官方版本中的ResNet18、ResNet34、ResNet50、ResNet101移植到ultralytics仓库,网上很多改进机制是将基础版本的也就是2015年发布的ResNet移植到ultralytics仓库中,但是其实…

2024.1.29 GNSS 学习笔记

1.假设只对4颗卫星进行观测定位&#xff0c;卫星的截止高度角是15&#xff0c;那么如何布设这四颗卫星的位置&#xff0c;使其围成的四面体的体积得到最大&#xff0c;以获得最好定位精度&#xff1f; 答&#xff1a;3颗卫星均匀分布在最低仰角面上&#xff0c;第4颗卫星在测站…

live2D学习:表情的制作和给角色添加动作

表情的制作和给角色添加动作https://www.bilibili.com/video/BV1JE411Y7Te?p3&vd_source124076d7d88eee393a1d8bf6fc787efa 先把眼睛以外的部件进行锁定&#xff0c;可以长按鼠标左键&#xff0c;然进行框选左边的锁的部分&#xff0c;快速进行操作。 锁定的部件就没有办…

力扣712. 两个字符串的最小ASCII删除和

动态规划 思路&#xff1a; 假设 dp[i][j] 是 s1 长度 i 和 s2 长度 j 两个字符串的最小 ASCII 删除和&#xff1b;dp[i][j] 可以由&#xff1a; 如果 s1 的第 i 个字符&#xff08;s1[i - 1]&#xff09;和 s2 的第 j 个字符&#xff08;s2[j - 1]&#xff09;不相等&#xf…

这么复杂的刻度标签怎么绘制?超简单~~

今天我们开始「粉丝要求绘图系列」的第一篇推文 &#xff0c;这个系列我会筛选出需求较多的一类图进行绘制讲解&#xff0c;当然&#xff0c;绘图的数据我们尽可能的全部分享出来(即使涉及一些论文数据&#xff0c;我们也会根据情况进行虚构处理的)&#xff0c;本期的推文重要涉…