Codeforces Round #484 (Div. 2)

避坑指南:Livox Mid-360双雷达SLAM配置中,那些官方文档没说的细节(IP设置、话题分离与时间同步) 本文详细解析了Livox Mid-360双雷达SLAM配置中的关键优化点,包括IP设置、话题分离与时间同步等官方文档未提及的细节。通过实战案例和代码示例,帮助开发者解决点云错位、IMU数据混乱等问题,提升SLAM系统的稳定性和精度。特别针对网络架构设计、驱动修改和时间同步机制提供了专业指导。 阅读详情

A.
记得特判n=1时的情况即可。

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int f[1005];
int main()
{
    int n,i,j;string str;
    cin>>n>>str;
    if(n==1){
        if(str[i]=='1')cout<<"Yes"<<endl;
        else cout<<"No"<<endl;return 0;
    }
    for(i=0;i<n;i++){
        if(str[i]=='0') {
            f[i] = 1;
            if (i)f[i] += f[i - 1];
        }
        if(f[i]>2||f[i]==2&&(i==1||i==n-1)){
            cout<<"No"<<endl;return 0;
        }
        if(str[i]=='1'&&i&&str[i-1]=='1'){
            cout<<"No"<<endl;return 0;
        }
    }
    cout<<"Yes"<<endl;

    return 0;
}

B.
拿两个堆维护一下就行,一个大根堆一个小根堆。

#include<cstdio>
#include<iostream>
#include<queue>
#include<algorithm>
#include<vector>
#include<functional>
#include<string>
using namespace std;
typedef pair<int,int>P;
int main()
{
    int n,i,j;cin>>n;
    priority_queue<P,vector<P>,greater<P> >que1;priority_queue<P>que2;//小根堆,大根堆
    for(i=1;i<=n;i++){
        scanf("%d",&j);que1.push(P(j,i));
    }
    string str;cin>>str;vector<int>ans;
    for(auto a:str){
        if(a=='0'){
            P p=que1.top();que1.pop();ans.push_back(p.second);que2.push(p);
        }
        else{
            P p=que2.top();que2.pop();ans.push_back(p.second);
        }
    }
    for(auto a:ans)cout<<a<<' ';

    return 0;
}

C.
首先,如果节点的个数是奇数个,显然无法划分为若干个偶联通分量。
然后,以某点为根,其子树中节点为偶数的(包含节点本身)就直接把根和这个子树的边切掉,如果子树节点数为奇数,就继续以子节点为根,对子树进行上述操作。
注意,每次dfs时我们并没有把当前节点计入当前节点的num值,所以判断的时候是如果当前节点的子树中节点个数为奇数则ans++;最后因为根节点也被额外砍了一条不存在的边,所以ans–;

#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
vector<int>G[100005];
bool vis[100005];int num[100005];
int dfs(int x)
{
    vis[x]=true;
    for(auto a:G[x]){
        if(!vis[a]) {
            num[x]++;
            num[x] += dfs(a);
        }
    }
    return num[x];
}
int main()
{
    int n,i,j,k;
    cin>>n;
    for(i=1;i<n;i++){
        scanf("%d%d",&j,&k);
        G[j].push_back(k);G[k].push_back(j);
    }
    if(n%2){
        cout<<-1<<endl;return 0;
    }
    num[1]=dfs(1);int ans=0;
    for(i=1;i<=n;i++){
        if(num[i]%2)
            ans++;
    }
    cout<<ans-1<<endl;

    return 0;

}

D.
题意:给你一个序列,让你找一个k,倘若把大于等于k的元素都标记为不可用,那么剩下的所有元素形成的段的长度相同,并且使得段的数量尽量大。如果有多解,输出k尽量小的。
首先,注意到一个事实,当我们选定一个k后,所有大于等于k的a都是在移动的,也就是说,所有大于等于k的a都在分隔整个区间。因此,我们可以从大到小枚举k,也就是从大到小枚举每个a[i],看如果这个a在分隔区间,那么当前的情况如何(注意:此时k=a[i-1]+1,因为要最小)。我们用一个set存一个pair,代表目前所有的区间,p.first是区间起点,p.second是区间终点,一个multiset记录所有区间的长度。每次枚举的时候我们根据区间的个数大小以及长度是否相等试图去更新答案。同时,为了快速找到每个a所在的位置,我们用一个map映射。
每次枚举的时候,我们找到当前的a在原来区间中的位置,然后将这个a当前所在的区间一分为二,看看分开后的情况。

#include<cstdio>
#include<iostream>
#include<map>
#include<set>
#include<algorithm>
#include<cstring>
using namespace std;
typedef pair<int,int>P;
map<int,int>mp;
set<P>s1;
multiset<int>s2;
int main()
{
    int n,i,j,k,segcnt,a[100005];
    cin>>n;
    for(i=1;i<=n;i++){
        scanf("%d",&a[i]);mp[a[i]]=i;//映射a原来所在的位置
    }
    sort(a+1,a+1+n);
    s1.insert(P(1,n));s2.insert(n);segcnt=1;k=a[n]+1;//先把最糟糕的情况,也就是整个区间给扔进去,没有任何分隔
    for(i=n;i>=1;i--){//注意不可能枚举到1的情况,否则所有数都是分隔点,区间数为0
        int t=mp[a[i]];//找到原位置
        P p=*--s1.upper_bound(P(t,n));int len=p.second-p.first+1;//找到所在区间
        s1.erase(p);s2.erase(s2.find(len));//把这个区间删除
        if(p.first<t){
            s1.insert(P(p.first,t-1));s2.insert(t-p.first);//加入分出来的前半段区间,
            // 注意t位置已经是鲨鱼移动的位置了,不能放在区间里
        }
        if(p.second>t){
            s1.insert(P(t+1,p.second));s2.insert(p.second-t);//后半段区间
        }
        if(*s2.begin()==*s2.rbegin()){//如果所有区间长度相等
            if(s2.size()>=segcnt){
                segcnt=s2.size();k=a[i-1]+1;
                //cout<<k<<endl;
            }
        }
    }
    cout<<k<<endl;

    return 0;
}
Zotero PDF Translate插件实战:DeepL API免费申请与高效翻译配置指南 本文提供Zotero PDF Translate插件配置DeepL API的完整实战指南。详细介绍了如何免费申请DeepL API密钥,解决国内访问问题,并在插件中完成精细配置,实现文献阅读时的无缝划词翻译,大幅提升科研人员和学生的英文文献阅读效率。 阅读详情

相关推荐

【cocos2dx面试题干货】--2021年最新cocos2dx面试干货(引擎篇)

【cocos2dx面试题干货】--2020年度最新cocos2dx面试干货(引擎篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的公司。 今天给大家分享一下我在之前精心准备的一套面试知识。 由于我面试的岗位是cocos2dx的开发岗,今天就先给大家分享一下引擎方面的知识。 本人亲测80%的引擎相关题目都...

Lampard的博客 1万+

Codeforces982C、Cut 'em all!(DFS)

C. Cut 'em all! time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You're given a tree with nn vertices. Your task is to determine t...

Amove 837

KEIL-MDK代码美化神器:AStyle配置全攻略(附常用参数详解)

本文详细介绍了如何在KEIL-MDK中配置和使用AStyle代码格式化工具,包括基础参数设置、高级格式控制、团队协作方案以及KEIL深度集成技巧。通过合理的AStyle配置,开发者可以显著提升代码风格一致性,优化团队协作效率,特别适合嵌入式开发项目。

weixin_30505225的博客 146

Codeforces Round #484 (Div. 2)- Shark(暴力)

D. Sharktime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputFor long time scientists study the behavior of sharks. Sharks, as many other species, alter...

信仰.的博客 644

惊呆了!Oracle 11g从入门到放弃的保姆级指南(新手必看)

本文为Oracle 11g数据库新手提供了一份详尽的入门指南。内容涵盖从安装配置、SQL*Plus工具使用、核心的SQL增删改查操作,到事务、索引等进阶概念的解析。文章旨在帮助初学者避开常见陷阱,快速掌握这一经典关系型数据库管理系统的基本操作与核心技能,实现从入门到上手。

ooo22的博客 265

ubuntu安装XXX包时出现(= 20.0.8-0ubuntu1~18.04.1) but it is not going to be installed

安装mujoco_py时,最后一步尝试 import mujoco_py 时出现报错 esashim.c:1:10: fatal error: GL/osmesa.h: No such file or directory 1 | #include <GL/osmesa.h> | ^~~~~~~~~~~~~ compilation terminated. 在https://github.com/openai/mujoco-py#ubuntu-ins

dealexce的博客 1794

Codeforces Round #484 (Div. 2) B. Bus of Characters(STL+贪心)982B

Codeforces Round #484 (Div. 2) B. Bus of Characters(STL+贪心)982B 原博主:https://blog.csdn.net/amovement/article/details/80358962 B. Bus of Characters time limit per test 2 ...

qq_42052818的博客 204

手把手教你模拟登录豆瓣并爬取个人书影音数据:从Cookie解析到反爬攻防实战

在开始写代码之前,先明确我们需要的工具。:建议用3.10以上版本,方便使用一些新特性(如match语句)httpx:比requests更现代,支持HTTP/2,异步性能强,连接池复用好:解析HTML,语法简单,容错性强selenium:仅用于处理登录时的滑块验证(模拟真人)pandas:最终数据清洗和导出Excel/CSVretrying:自动重试机制,应对临时封禁:随机UA,降低特征lxml:作为BeautifulSoup的解析器,速度快为什么不只用requests?

2201_76125261的博客 577

Codeforces Round #484 (Div. 2) B. Bus of Characters(markdowm版)

Codeforces Round #484 (Div. 2) B. Bus of Characters B. Bus of Characters time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output In the Bus of Cha...

weixin_30312659的博客 123

YOLOv8 改进:使用 MobileNetV3 轻量化架构改进特征提取网络

通过使用 MobileNetV3 作为 YOLOv8 的特征提取器,能够显著降低模型复杂度和运行时资源消耗,同时在一定程度上保持检测精度。这种方法特别适合需要高效计算的边缘设备和嵌入式系统。

走向CTO的路上... 1275

Far planner代码系列(2)

graph_decoder系列(2) 承接上文 我们接着来看decoder_node.cpp的代码部分 void GraphDecoder::Init() { /* initialize subscriber and publisher */ //graph_sub_ 订阅节点/robot_vgraph 其类型是visibility_graph_msg/Graph的消息 graph_sub_ = nh.subscribe("/robot_vgrap...

博客 1534

Codeforces Round #484 (Div. 2) A. Row

Example 1 input 3 101 output Yes Example 2 input 4 1011 output No Example 3 input 5 10001 output No    题目大意: 题意:“最大”人数的作为定义满足下面两条:1.相邻座位没有人 2.在不违背第一条的情况下,不能在加入一个...

DDDDDDDDDD4444444444的博客 194

STM32实战开发(71):STM32人脸识别开发教程:基于摄像头模块的人脸识别系统

在嵌入式系统中,STM32凭借其强大的计算性能、丰富的外设接口以及低功耗特性,成为了实现人脸识别系统的理想平台。STM32虽然没有强大的计算能力,但可以通过合理利用外部硬件加速模块,如DSP、GPU、FPGA等,结合轻量级的人脸识别算法,实现高效的人脸识别系统。尽管STM32的计算资源相对有限,但通过合理的优化和使用高效的算法,我们依然能够实现高效的人脸识别功能。在本项目中,我们使用。在STM32开发中,虽然处理能力有限,但通过优化算法和合理利用硬件加速,我们仍然可以实现一个轻量级的、实时的人脸识别系统。

2201_76125393的博客 1662

Codeforces Round #484 (Div. 2) D. Shark

题意: 有一只鲨鱼每天游ai公里,如果它一天游的距离大于等于k,我们就认为它游到了一个新的地方;否则认为它这一天停留在原来的地方。这只鲨鱼到过的地方不会重复。现在给出它n天游的距离(每天都不相等),我们要求出一个k,满足: 1.鲨鱼停留在每个地方的天数相等。(一天游的距离大于等于k时不算停留)。 2.停留过的地方尽可能多。 3.有多个解时k取最小值。 基于每个a都不相同这个条件我们可...

c_czl的博客 160

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Codeforces Round #484 (Div. 2) E. Billiard(exgcd)

题目链接:http://codeforces.com/contest/982/problem/Ehttps://www.cnblogs.com/zhouzhendong/p/9055728.html代码:#include&lt;bits/stdc++.h&gt; using namespace std; typedef long long ll; ll exgcd(ll a,ll b,ll &am...

bibibibi的博客 477

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Codeforces Round #484 (Div. 2) E. Billiard

题目大意: 有一个方形区域,四个角各有一个口袋,在(x,y)出有一小球,以Vx,Vy速度击出,碰到边界会像光路一样反 弹,问最先掉到哪个口袋里    分析: 其实问题的关键在于将反射线段利用光路的性质转换成一条直线,如下图 同时斜率为-1的情况实际上与斜率为1的直线第一次经过的顶点时对称的,所以为了方便起见,我们将直线都转换成斜率为1的直线,即如果输入...

DDDDDDDDDD4444444444的博客 197

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: Codeforces Round #483 (Div. 2)
下一篇: Educational Codeforces Round 44 (Rated for Div. 2)
HumveeA6
博客等级 码龄17年 12粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值