AtCoder Beginner Contest 361

目录

A - Insert

B - Intersection of Cuboids

C - Make Them Narrow

D - Go Stone Puzzle 

E - Tree and Hamilton Path 2

F - x = a^b


A - Insert

我们按照题目意思直接模拟即可,不需要使用数组在第k位置的时候额外输出一个x即可

int t,n,m,k,x;
void solve(){cin>>n>>k>>x;for(int i=1;i<=n;i++){int t; cin>>t; cout << t << ' ';if(i==k) cout << x << ' ';}cout << endl;return ;
}

B - Intersection of Cuboids

求是不是有接触面积,如果有的话就是存在一个点在另一个立方体里面,否则就是没有,由于题目都是立方体,所以可以看每一个坐标是不是存在直接远离(不可能存在交点)即可

int x[5],y[5],z[5];void solve(){for(int i=1;i<=4;i++) cin>>x[i]>>y[i]>>z[i];if(x[1]>=x[4] or x[2]<=x[3] or y[1]>=y[4] or y[2]<=y[3] or z[1]>=z[4] or z[2]<=z[3]){cout << "No" << endl;}else{cout << "Yes" << endl;}return ;
}

C - Make Them Narrow

可以知道如果不删除当前最大值或者最小值的话贡献是0,所以可以优先排序,那么要么那就是删除最大值,要么就是删除最小值,枚举所有情况,删除前i个最大的数,就删除m-i个最小的数,注意0<=i<=m


void solve(){cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];sort(a+1,a+1+n);int ans = 2e9;for(int i=0;i<=m;i++){ans = min(ans,a[n-(m-i)]-a[i+1]);} cout << ans << endl;return ;
}

D - Go Stone Puzzle 

明显的字符串交换,也就是bfs搜索找最优解,类似八数码,用一个unorderde_map<string,int> 判断是否出现过即可

int t,n,m;void solve(){cin>>n;string a,b; cin>>a>>b;a+=' ',a+=' ';b+=' ',b+=' ';auto bfs = [&](){unordered_map<string,int> mp;mp[a]=0;queue<string> q;q.push(a);while(!q.empty()){auto t = q.front(); q.pop();if(t==b) return mp[b];string x = t;int t1;for(int i=0;i<n+2;i++) if(x[i]==' ') {t1=i; break;}for(int i=0;i<n+1;i++){if(t[i]!=' ' and t[i+1]!=' '){swap(x[i],x[t1]),swap(x[i+1],x[t1+1]);if(!mp.count(x)){mp[x]=mp[t]+1;q.push(x);}swap(x[i],x[t1]),swap(x[i+1],x[t1+1]);}}}return -1;};cout << bfs() << endl;return ;
}

E - Tree and Hamilton Path 2

从某一个点出发,到达所有点的最小值,可以画一个图找找性质,可以发现除了st-ed,即选定的出发点和最后到达的结束点之间的比权,其他所有的边权都两次,问题转化为求解,最短的树的最长直径,可以使用换根或者一次dfs即可,每次求出当前所在子树的两条最长路径,之和即是当前子树的最长直径,然后递归处理即可

LL res;
LL dfs(int u,int fa){LL d1=0,d2=0;for(auto&[v,w]:g[u]){if(v==fa) continue;LL d=dfs(v,u)+w;if(d>d1) d2=d1,d1=d;else if(d>d2) d2=d;}res = max(res,d1+d2);return d1;
}
void solve(){cin>>n;LL ans = 0;for(int i=1;i<n;i++){int a,b,c; cin>>a>>b>>c;g[a].push_back({b,c});g[b].push_back({a,c});ans += 2*c;}dfs(1,-1);ans -= res;cout << ans << endl;return ;
}

F - x = a^b

有个明显的思维就是直接枚举每一个次方,当时为2的时候有1e9个数(1e9^2==1e18)当然会超时,这个时候没有更好的做法,我们考虑不使用2次幂,直接从3次幂开始,则最多1e6个数,符合要求,同时对于2次幂当独计算,答案数量就是sqrtl(n),当时有些数既是x的次幂又是y的次幂,所以要用set去重,同时注意不把2次幂的数放入set,最后直接加上即可

void solve(){LL n; cin>>n;set<LL> S;int cnt = 10;for(LL i=2;i<=1e6;i++){ // 底数 LL now = i*i*i;if(now>n) break;while(true){LL x = sqrtl(now);if(x*x!=now) S.insert(now);if(now>n/i) break;now *= i;if(now<0) break;}}LL ans = S.size()+sqrtl(n);cout << ans << endl;return ;
}

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

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

相关文章

Mac下flutter运行iOS模拟器

上篇flutter环境安装&#xff08;Macvscode&#xff09;已经将vscode和xcode等开发环境都搭建起来了&#xff0c;vscode新建工程还是比较方便的&#xff0c;那么&#xff0c;建立好了之后&#xff0c;我们怎么看效果呢&#xff1f; 1. vscode新建项目 通过 vscode的命令命板(…

零信任网络安全

随着数字化转型的发生&#xff0c;网络边界也在不断被重新定义&#xff0c;因此&#xff0c;组织必须使用新的安全方法重新定义其防御策略。 零信任是一种基于“永不信任&#xff0c;永远验证”原则的安全方法&#xff0c;它强调无论在公司内部或外部&#xff0c;任何用户、设…

如何检测用户的Chrome插件

背景 已知一些Chrome插件会影响到网站的一些功能&#xff0c;希望在前端主动检测到用户使用了某插件然后弹出提示让用户关闭&#xff0c;以减少客诉 方法 1. 检测资源文件 如图获取插件的ID 启用插件后&#xff0c;打开 chrome-extension://${ID}/manifest.json 找到 web_a…

分享一个 EF6 分页查询数据的 IQueryable 扩展方法

前言 不废话&#xff0c;直接上方法。_ IQueryable 扩展方法 方法一 /// <summary> /// 由其它 Reponsitory 提供数据源&#xff0c;分页查询数据 /// </summary> /// <typeparam name"T"></typeparam> /// <typeparam name"S&quo…

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

探索WeNet:一个面向生产的端到端语音识别工具包

探索WeNet&#xff1a;一个面向生产的端到端语音识别工具包 文章目录 探索WeNet&#xff1a;一个面向生产的端到端语音识别工具包引言端到端&#xff08;E2E&#xff09;模型WeNet的主要特点1. U2框架2. 生产导向 实验结果系统设计结论参考资料 引言 在语音识别领域&#xff0…

24/07/08数据结构(2.1203)顺序表实现

size属于结构体的作用域 如果要访问一个结构体的指针用-> 如果要访问一个结构体的变量用. 点操作 #include<stdio.h> #include<stdlib.h> #include<string.h> #include"seqlist.h" //typedef struct seqList{ // SLDataType* _data; //需…

20_Inception V3深度学习图像分类算法

回顾GoogleNet:传送门 1.1 介绍 InceptionV3是Google开发的一种深度卷积神经网络架构&#xff0c;它是Inception系列网络中的第三代模型&#xff0c;由Christian Szegedy等人在论文《Rethinking the Inception Architecture for Computer Vision》中提出&#xff0c;该论文发…

基于Java的学生选课系统

第1章 系统概述 1.1概述 背景&#xff1a;随着计算机网络技术的发展&#xff0c;Web 数据库技术已成为应用最为广泛的网站架构基础技术。学生选课系统作为教育单位不可缺少的部分&#xff0c;其内容对于学校的决策者和管理者至关重要。传统的人工管理方式存在效率低、保密性差等…

python解释器上下左右^H问题处理

安装了Python后&#xff0c;发现python解释器里面&#xff0c;Backspace&#xff08;退格键&#xff09;输入显示 ^H 方向键 输入^[[A 等的字符&#xff0c;导致用起来很麻烦&#xff0c;网上搜索资料发现&#xff0c;是由于缺少readline库导致的。 1、临时解决 按ctrlbackspa…

企业协同办公+应用开发平台:推动数字化转型的新引擎

在数字化浪潮的推动下&#xff0c;企业协同办公和应用开发平台已成为企业提高效率、加速创新的关键工具。这两个领域的结合&#xff0c;不仅为企业提供了更加灵活、高效的工作方式&#xff0c;还为企业打造了全新的数字化生态&#xff0c;推动企业向数字化转型的深水区迈进。 企…

插8张显卡的服务器有哪些?

在高性能计算和深度学习领域&#xff0c;拥有强大图形处理能力的服务器越来越受到重视。这类服务器通常能够支持多张显卡&#xff0c;以满足复杂的图形处理和并行计算需求。本文将介绍几款能够支持插入8张显卡的服务器。 NVIDIA DGX Station NVIDIA DGX Station 是一款专为AI研…

htmlcss基础

html 组成 <!--跟标签--> <html><!--头标签--><head><!--网页的标题标签--><tltle>测试html</title></head><!--体标签--><body><font color"yellow" size"7">测试体</font>&l…

Python酷库之旅-第三方库Pandas(012)

目录 一、用法精讲 28、pandas.HDFStore.keys函数 28-1、语法 28-2、参数 28-3、功能 28-4、返回值 28-5、说明 28-6、用法 28-6-1、数据准备 28-6-2、代码示例 28-6-3、结果输出 29、pandas.HDFStore.groups函数 29-1、语法 29-2、参数 29-3、功能 29-4、返回…

Python环境配置PyCharm

PyCharm Community设置: A 网络连接 File-Settings-Tools-Web Browsers and Preview-看情况吧[全部删除&#xff0c;换成本地浏览器即可] B Interpreter File-Settings-Project-Python Interpreter-Add Interpreter-System Interpreter-选择 C 系统变量 把B中下载的Pytho…

【从零开始实现stm32无刷电机FOC】【理论】【3/6 位置、速度、电流控制】

目录 PID控制滤波单独位置控制单独速度控制单独电流控制位置-速度-电流串级控制 上一节&#xff0c;通过对SVPWM的推导&#xff0c;我们获得了控制电机转子任意受力的能力。本节&#xff0c;我们选用上节得到的转子dq轴解耦的SVPWM形式&#xff0c;对转子受力进行合理控制&…

JVM之垃圾回收算法详解

垃圾回收算法 Java是如何实现垃圾回收的呢&#xff1f;简单来说&#xff0c;垃圾回收要做的有两件事&#xff1a; 1、找到内存中存活的对象 2、释放不再存活对象的内存&#xff0c;使得程序能再次利用这部分空间 [本质上后续所有的垃圾回收算法&#xff0c;都是在前两种算法的基…

深入解析 StratoVirt 的 vCPU 拓扑(SMP)配置与实现

CPU 拓扑用来表示 CPU 在硬件层面的组合方式&#xff0c;本文主要讲解 CPU 拓扑中的 SMP&#xff08;Symmetric Multi-Processor&#xff0c;对称多处理器系统&#xff09;架构&#xff0c;CPU 拓扑还包括其他信息&#xff0c;比如&#xff1a;cache 等&#xff0c;这些部分会在…

免费下载工具 -- Free Download Manager(FDM) v6.24.0.5818

软件简介 Free Download Manager (FDM) 是一款免费的功能强大的下载管理软件&#xff0c;适用于多种操作系统&#xff0c;包括 Windows、macOS、Android 和 Linux。这款软件的特色在于它快速、安全且高效的下载能力。它可以下载各种热门网站的影片&#xff0c;支持 HTTP/HTTP…

【生成式对抗网络】GANs在数据生成、艺术创作,以及在增强现实和虚拟现实中的应用

一、GANs在数据生成中的应用 生成对抗网络&#xff08;Generative Adversarial Networks, GANs&#xff09;在数据生成领域具有显著的应用价值。GANs通过生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;两个相互竞争的神经网络&#x…