首页 > 其他分享 >CF1848B Vika and the Bridge

CF1848B Vika and the Bridge

时间:2024-11-02 09:45:48浏览次数:3  
标签:pre Bridge maxx ch max2 最大值 int Vika CF1848B

思路:


注意看,只有一次改变颜色,不要再苦苦打二分了!

贪心地去求答案,对于每一种颜色记录两个点之间的距离的最大值和次大值,然后把最大值的那段区间的中点颜色更改成当前颜色。令最大值为 maxx,次大值为 max2。则 min(⌊maxx/2​⌋,max2)  即为最优解。

记得处理到 n+1 号点的距离,该算法的时间复杂度为 O(n)。

代码:


 

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
const int INF=0x3f3f3f3f;
inline int read(){ll x=0,f=1;char ch=getchar();while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}return x*f;}
ll t, m, n, a[N], maxx[N], pre[N], max2[N], ans;
int main() {
    cin>>t;
    for(int j=1;j<=t;++j) {
        ans=INF;
        cin>>n>>m;
        for(int i=1;i<=m;++i)    pre[i]=maxx[i]=max2[i]=0;
        for(int i=1;i<=n;++i){
            cin>>a[i];
            if(i-pre[a[i]]-1>maxx[a[i]]){
                max2[a[i]]=maxx[a[i]];
                maxx[a[i]]=i-pre[a[i]]-1;
            }
            else
                if(i-pre[a[i]]-1>max2[a[i]])
                    max2[a[i]]=i-pre[a[i]] - 1;
            pre[a[i]]=i;
        }
        for(int i=1;i<=m;++i){
            if(n-pre[i]>maxx[i]){
                max2[i]=maxx[i];
                maxx[i]=n-pre[i];
            }
            else
                if(n-pre[i]>max2[i])max2[i]=n-pre[i];
            ans=min(max(maxx[i] / 2, max2[i]), ans);
        }
        cout<<ans<<endl;
    }
}

标签:pre,Bridge,maxx,ch,max2,最大值,int,Vika,CF1848B
From: https://blog.csdn.net/SunArrebol/article/details/143445865

相关文章

  • Adobe Bridge 2025 v15.0 (macOS, Windows) - 集中管理创意资源
    AdobeBridge2025v15.0(macOS,Windows)-集中管理创意资源Acrobat、AfterEffects、Animate、Audition、Bridge、CharacterAnimator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、LightroomClassic、MediaEncoder、Photoshop、PremierePro、AdobeXD请访......
  • SS241030C. 桥梁(bridge)
    SS241030C.桥梁(bridge)题意本人小时候也分不清fridge和bridge给你\(n\)个点,\(m\)条边的图,边带权。有\(q\)个要求。每个要求给出\(a_i,b_i\),要求至少选中第\(a_i\)或\(b_i\)条边。问最小代价选边使得图连通。solution注意到\(q\le16\),可以直接枚举每个要求必......
  • 【Docker】bridge的基础使用和测试
    参考Bridgenetworkdriver|DockerDocsdockernetwork|DockerDocs命令Usage:dockernetworkCOMMANDManagenetworksCommands:connectConnectacontainertoanetworkcreateCreateanetworkdisconnectDisconnectacontainerfro......
  • DIY Matter Bridge 和智能锁简单联动的实践
    一.写在前面在之前的博客文章《基于乐鑫ESP32-C3的MatterLight实践》中,我们利用乐鑫的硬件和SDK方案实现了简单的Light例程,并对Matter协议进行了简要介绍。在开始本篇文章之前,我还是打算重新聊一聊Matter,顺便谈谈自己对它的理解,这也能说明为何这段时间我一直执着于......
  • Android Debug Bridge(ADB)完全指南
    文章目录前言一、什么是ADB?二、ADB的工作原理ADB由三个部分组成:三、如何安装ADBWindows系统:macOS和Linux系统:四、ADB常用指令大全设备相关操作1.查看连接的设备:2.重启设备:3.进入Bootloader模式:4.进入恢复模式(Recovery):5.查看设备运行状态:6.获取设备的序列号:7.查......
  • Adobe Bridge简体中文版百度云下载与安装(附教程)
    如大家所熟悉的,AdobeBridge常常简称为BR,是一款数字资产管理软件,可以帮助用户浏览、组织、搜索和管理各种类型的媒体文件,如照片、音频、视频等。Bridge发展至今有许多个版本,目前来说常用的版本有Bridge2018、2020及最新的2024版本,我们可根据自己的电脑配置及需求去选择合适的......
  • quixel bridge如何导入unity
    1.QuixelBridge下载和设置下载QuixelBridge-Manage3Dcontentandexportwithoneclick客户端注册安装。bridge模型导出路径配置和插件下载客户端点击Edit->ExportSettings ExportTatget选择Unity类型;点击下载unity的插件,下载的插件位置看后面有介......
  • roslaunch carla_ros_bridge carla_ros_bridge.launch运行报错逐条解决REQUIREDproces
    前言:跟着自动驾驶之心的老师学习仿真,在carla_ros_bridge那块卡住了,遇到了超多问题,现在看看我们是怎么解决的吧。首先是carla_ros_bridge安装,老师是18.04,我的项目工程是20.04,所以我肯定最终还是要换到20.04的,所以以下就是踩坑。一.carla_ros_bridge安装:可见官网的文档ROSbri......
  • Br软件全版本下载Adobe Bridge全面协作利器:立即获取办公软件
    Br软件全版本下载Adobe Bridge全面协作利器:立即获取办公软件AdobeBridge:全面协作利器,立即获取办公软件在当今数字化时代,高效的工作流程和协作工具对于企业和个人来说至关重要。AdobeBridge作为一款强大的数字资产管理工具,不仅能够帮助用户管理和组织大量的媒体文件,还能与其他Ado......
  • P4655 [CEOI2017] Building Bridges
    题意思路设\(sum_i=\sum\limits_{j=1}^iw_j\)。可以得到转移方程\(f_i=f_j+(h_i-h_j)^2+sum_i-sum_j\)。转化为\(y=kx+b\)的形式:\(f_i=f_j+(h_i-h_j)^2+sum_i-sum_j=f_j+h_i^2+h_j^2-2h_ih_j+sum_i-sum_j=(-2h_ih_j)+......