【Atcoder训练记录】AtCoder Beginner Contest 393

news/2025/2/19 14:07:49/文章来源:https://www.cnblogs.com/longxingx/p/18717727

训练情况

忙着处理训练数据,赛后打的,没有排名

赛后反思

这场太典了,感觉我能力范围内都是一眼题,剩下的真不会了

A题

显然有问题的就是 sick或fine补集,对应的交集,如果交集为空答案就是 4,我们直接大力分类讨论,fine fine是 4,sick fine是 2,fine sick是 3,sick sick是 1

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){string s,t; cin>>s>>t;if(s == "fine" && t == "fine") cout<<4<<endl;else if(s == "sick" && t == "fine") cout<<2<<endl;else if(s == "fine" && t == "sick") cout<<3<<endl;else if(s == "sick" && t == "sick") cout<<1<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

B题

按照题目所述大力枚举三个位置即可,判断三个位置对应的字符是否为 ABC,并且位置间隔相同

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'using namespace std;void solve(){string s; cin>>s;int n = s.size();int ans = 0;for(int i = 0;i<n;i++){for(int j = i+1;j<n;j++){for(int k = j+1;k<n;k++){if(s[i] == 'A' && s[j] == 'B' && s[k] == 'C' && j-i==k-j) ans++;}}}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

C题

显然我们先处理自环的问题,就是输入的 u v 相同就是自环,重边只要 u v 和 v u 都算,所以我这边直接小编号的节点的当成 u,大编号的节点当成 v,开个 pair<int,int> 的 map 记录是否出现过即可,重复出现则答案加一

点击查看代码
#include <bits/stdc++.h>
// #define int long long
#define endl '\n'
#define pii pair<int,int>using namespace std;void solve(){int n,m; cin>>n>>m;map<pii,bool> v;int ans = 0;for(int i = 1;i<=m;i++){int x,y; cin>>x>>y;if(x == y){ans++;continue;}if(x > y) swap(x,y);if(v[{x,y}]) ans++;else v[{x,y}] = 1;}cout<<ans<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

D题

盲猜了一个中间答案最优,我记得有个中位数定理的,1 有偶数个的情况下,直接无脑移中间,但是对于 1 有偶数个的情况下,中间的数有两个,我们两个都计算一下答案,注意一下答案的贡献不是一致的,是递减的,结果取最小值即可

点击查看代码
#include <bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;void solve(){int n; string s; cin>>n>>s;vector<int> a;for(int i = 0;i<n;i++){if(s[i] == '1') a.emplace_back(i);}n = a.size();int ans1 = 0,ans2 = 0;int pos1 = (n-1)/2,pos2 = n/2;for(int i = 0;i<pos1;i++) ans1 += a[pos1] - a[i] - (pos1 - i - 1) - 1;for(int i = 0;i<pos2;i++) ans2 += a[pos2] - a[i] - (pos2 - i - 1) - 1;for(int i = pos1+1;i<n;i++) ans1 += a[i] - a[pos1] - (i - pos1 - 1) - 1;for(int i = pos2+1;i<n;i++) ans2 += a[i] - a[pos2] - (i - pos2 - 1) - 1;cout<<min(ans1,ans2)<<endl;
}signed main(){// int T; cin>>T; while(T--)solve();return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#的GC垃圾回收

空间分配 在讨论垃圾回收之前,需要明白一个重要的事情,空间是怎么被分配出去的。在进程初始化时,CLR会保留一块连续的地址空间(托管堆),托管堆中维护着一个指针,称之为NextObjPtr,它指向下一个对象在堆中的分配位置。当我们在C#中调用new关键字的时候,编译器会自动生成…

ConcurrentHashMap(JDK1.8)put分析

一、ConcurrentHashMap整体结构 ConcurrentHashMap的数据结构与HashMap差不多,都是Node数组+红黑树+链表;ConcurrentHashMap中table的节点类型有 3 类:Node节点,是链表类型的节点;这类节点hash 大于 0 ;在扩容时ConcurrentHashMap会有一个特殊的标志对象:ForwardingNode…

如何接入sbus航模遥控器?

买了航模遥控器不会用sbus?快来快来我来教你呀(滑稽如何接入sbus航模遥控器? 最近队内大疆的遥控器短缺,故自行购买一款便宜好用的遥控器来替代,但是协议与dbus不同,研究了一阵子,所以诞生了这一篇文章来帮助大家少走弯路。 遥控器构成 一般都有发射端和接收端:发射端为…

2/15图论浅讲(知识点)

2/15图论浅讲(知识点) (后期会转移博客,所以排版不太好) 前置知识-vector 动态数组 操作1:创建一个动态数组 vector<数据类型> 数组名字操作2:插入元素 O(logn) 方式1:q.push_back(数据);在数组最后面塞数据 方式2:q.insert(q.begin()+i,a);i为下标,将a数据插入…

char**指针与const

1,char**char c = 0;char* p1 = &c; //p1是一个指针变量, 存放的是char类型变量的地址 *p1 = 1; const char* p2 = &c; //p1是一个指针变量, 存放的是char类型变量的地址, const修饰*, 表示指针内容(*p2)不可变char** p3; //p3是一个指针变量, 存放的是char*类型变量的…

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 )

升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框架: Vue3+Spring Boot3) ,界面功能t升级(四 ) 工作台 系统 商品 客户 门店 订单

(自适应手机端)英文外贸网站模板 日用百货网站源码下载

(自适应手机端)英文外贸网站模板 日用百货网站源码下载 PbootCMS内核开发的网站模板,该模板适用于外贸网站模板、日用百货网站源码等企业,当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应移动端,同一个后台,数据即时同步,简单适用!附带测试数据!友好…

Markdown 语法学习

Markdown 语法学习 标题: # + 三级标题 四级标题 字体 hello,world! hello,world! hello,world! hello,world! 引用选择狂神说Java>这是引用分割线图片超链接 博客园 - 开发者的网上家园) 列表A B CA B C表格名字 性别 生日张三 男 1997.1.1李斯 女 1995.7.6代码hello

一级倒立摆平衡控制系统MATLAB仿真,可显示倒立摆平衡动画,对比极点配置,线性二次型,PID,PI及PD五种算法

1.算法仿真效果 本课题是针对博主原来写的文章《基于MATLAB的一级倒立摆控制仿真,带GUI界面操作显示倒立摆动画,控制器控制输出》的升级。升级内容包括如下几个方面:增加了PI控制器,PD控制器,同时对极点配置,线性二次型,PID,PI及PD五种算法的控制输出曲线进行对比。matlab2…

使用Spring Initializr方式构建Spring Boot项目

按教材 下例选用IntelliJ IDEA 2024.3.3付费版 创建项目JDK版本根据实际情况。启动类简析 package com.example.demo; // 这段代码位于 com.example.demo 这个包下import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBo…

未注册类。WSL 安装似乎已损坏。WslRegisterDistribution failed with error: 0x8007019e/

前言 不知何时,我的wsl环境又坏了。 其实wsl我不怎么用,但是今天突然想用一下docker,但是没有启动成功。 于是乎我试了一下wsl,发现是wsl完全坏了。 之前卸载过wsl的某个子系统,比如ubuntu22,当初想着换24,之后很长一段时间没用过wsl。 尽管我怀疑是这个操作造成的问题,…

清华大学最新力作,DeepSeek 从入门到精通PDF

前几天,我发布了一篇关于 WPS 集成 DeepSeek 的教程,没想到大家的反响非常热烈!很多朋友都表示,通过这篇教程学到了不少关于 DeepSeek 的实用技巧,赶紧点进来看。不过,今天我给大家带来了更猛的干货——清华大学最新发布的 DeepSeek 资料!而且这次的资料更加关注 DeepSe…