Codeforces Round #707 Div. 2/C Going Home

轨迹优化 | 图解欧氏距离场与梯度场算法(附ROS C++/Python实现) 距离场在运动规划中则常用于地图建模和轨迹梯度优化。本文图解欧氏距离场EDT的算法原理,并基于双线性插值给出欧氏梯度场的公式推导,并给出ROS C++和Python的算法实现加深理解 阅读详情

Codeforces Round #707 Div. 2/C Going Home

题意:在长度为N的数组A中找出满足ax+ay=aw+aza_x+a_y=a_w+a_zax​+ay​=aw​+az​的一组x,y,w,zx,y,w,zx,y,w,z,要求它们之间两两不同。(N≤2e5,1≤a[i]≤2.5e6(N\le 2e5,1\le a[i]\le 2.5e6(N≤2e5,1≤a[i]≤2.5e6
。

最简单直接的算法就是枚举序列中的(i,j)(i,j)(i,j)然后加以判断,这样做的做法是O(n2)O(n^2)O(n2)的复杂度,一开始觉得这个复杂度一定是过不了的,转而去思考有无其他的做法,之后就不了了之了。

后来看到题解,其实暴力枚举是能过的,而且枚举的时间复杂度并不是O(n^2)。这是为什么呢?

原因是1≤a[i]≤2.5e61\le a[i]\le 2.5e61≤a[i]≤2.5e6,那么2≤a[i]+a[j]≤5e62\le a[i]+a[j]\le 5e62≤a[i]+a[j]≤5e6,每对(i,j)(i,j)(i,j)都对应这一个和。根据鸽巢原理,如果枚举了5e65e65e6对两两不同的(i,j)(i,j)(i,j),那么必有两对不同的(i,j)(i,j)(i,j)有着同样的和。所以该算法实际的时间复杂度应该是O(min(n2,5e6))O(min(n^2,5e6))O(min(n2,5e6))。当然也有一些(i1,j1)(i2,j2)(i_1,j_1)(i_2,j_2)(i1​,j1​)(i2​,j2​),虽然满足和相等,但是不满足i!≠j1≠i2≠j2i_!\ne j_1\ne i_2\ne j_2i!​​=j1​​=i2​​=j2​。可能算法时间复杂度的上界会更高一些。但可以证明不会高太多。

任意选取一对(i,j)(i,j)(i,j),那么数列剩下的n−2n-2n−2项组成的无序对对于(i,j)一定是满足条件的,那么一共有(n−2)(n−3)2\frac{(n-2)(n-3)}{2}2(n−2)(n−3)​个满足条件的无序对。如果(n−2)(n−3)2≥5e6\frac{(n-2)(n-3)}{2}\ge 5e62(n−2)(n−3)​≥5e6,那么在这些无序对当中是一定存在答案。

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
const int max_n=2e5+5;
const int Max=5e6+5;
P b[Max];
int sum;
int n;
int a[max_n];
int main(void)
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	scanf("%d",&a[i]);
	for(int i=1;i<=n;i++)
	for(int j=i+1;j<=n;j++)
	{
		sum=a[i]+a[j];
		if(b[sum].first){
			if(b[sum].first!=i&&b[sum].second!=i&&b[sum].first!=j&&b[sum].second!=j){
				printf("YES\n%d %d %d %d\n",b[sum].first,b[sum].second,i,j);
				return 0;
			}
		}
		else b[sum]=make_pair(i,j);
	}
	printf("NO\n");
}
lammps后处理:堆垛层错和孪晶的数量统计 python调用ovito包可以免费实现ovito pro版本的功能,不需要安装ovito pro软件,如统计位错线长度、CNA结构、键角分布等,如需深入学习,可考虑报名python ovito后处理课程,或lammps一对一课程。lammps金属变形模拟中,可能会产生堆垛层错或者孪晶等结构,但是ovito免费版本无法统计这些结构的数量。使用python和ovito软件包,则可以方便的统计出这些结构的数量。大家好,我是小马老师。 阅读详情

相关推荐

ZYNQ Linux下UIO中断配置避坑实录:从设备树修改到用户层测试(Vivado 2018.2)

本文详细解析了ZYNQ Linux下UIO中断配置的全流程,从设备树修改到用户层测试,特别针对Vivado 2018.2环境中的常见陷阱提供解决方案。内容涵盖中断号配置规则、用户空间中断处理程序编写以及性能优化技巧,帮助开发者高效实现硬件中断的用户空间控制。

weixin_31854867的博客 333

Codeforces Round #707 (Div. 2) C. Going Home (暴力枚举)

题目链接:https://codeforces.com/contest/1501/problem/C 题目大意:个数,,从中找出四个不同的数,要求,输出满足条件的任意的一组 题解:暴力枚举! 我们可以证明若存在四对数,那么其中一定可以找出四个不同的数,满足上述条件。 分类讨论: 若为的情况,那么显然,我们可以选择作为答案。 若为的情况,那么显然我们可以选择作为答案。 其余情况,也一定可以从4对数中,选出两组数满足条件。 我们可以用图来证明,我们假设下标为点,若两个下标的数相加为,我们可以在两

madaidao的专栏 349

3A之自动对焦(AF)算法:从Tenegrad到拉普拉斯的清晰度评价实战

本文深入解析自动对焦(AF)算法的核心——清晰度评价函数,通过实战对比Tenegrad、方差、能量梯度、Brenner和拉普拉斯五大经典算法的原理、代码实现与性能。文章详细阐述了各函数在计算速度、抗噪性和单峰性上的优劣,并提供了从仿真测试到硬件部署的优化策略,帮助开发者根据实际场景选择最合适的AF算法。

weixin_29281915的博客 312

Codeforces 1501 - C. Going Home(暴力+数学)

传送门 题目大意 给出一个序列aaa,问能否找到四个不同的坐标x,y,z,wx,y,z,wx,y,z,w使得满足ax+ay=az+awa_x + a_y = a_z + a_wax​+ay​=az​+aw​,若能随便输出一组合法解,否则输出NONONO。 解题思路 这题实际上考察我们对题目数据范围和时间复杂度计算的理解,首先要找到四个数,常规思路去做的话无论如何都要至少固定两个数,这样的复杂度至少是n2n^2n2,然后就出现了这题比赛时过的人很少的情况。 但是如果考虑暴力枚举每两对数的话最多会有n2=4e

Happig的博客 437

Fortran基础编程(3)——格式化输出

本篇推文将进一步讲解Fortran基础语法中格式化输出与声明部分,让我们的代码更加美观起来吧~

qq_45715554的博客 3826

告别手动操作!用Python脚本批量处理Siemens NX零件文件(导入/导出/移除参数)

本文详细介绍了如何利用Python脚本实现Siemens NX零件文件的批量处理,包括导入、导出和移除参数等操作。通过NX Open API和Python UF接口,工业设计师可以大幅提升工作效率,告别繁琐的手动操作。文章提供了完整的实战指南,涵盖环境配置、核心功能实现以及性能优化技巧,特别适合需要进行Siemens-NXUG二次开发的工程师参考。

weixin_28222493的博客 259

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) A--C

传送门 A. Alexey and Train Alexey is travelling on a train. Unfortunately, due to the bad weather, the train moves slower that it should! Alexey took the train at the railroad terminal. Let’s say that the train starts from the terminal at the moment 0. Also,

lcl1234567890lcl的博客 1686

苍穹外卖项目面试总结话术

美食速递这个项目最初是我参与制作的大创项目,是一款为中南学生提供校园外卖送至宿舍服务的软件,包含系统管理后台和小程序端两部分。其中系统管理后台主要提供给食堂内部员工使用,可以对食堂各个窗口、员工、订单、菜品等进行维护管理;小程序端可以在线浏览菜品、添加购物车、下单等,由学生兼职做跑腿送餐上门服务。这是个前后端分离的项目,我主要是负责后端的用户登录、员工管理,菜品管理,订单管理模块的编码实现。

qq_45195447的博客 1万+

Codeforces1501——C. Going Home(鸽巢原理)

原题链接 It was the third month of remote learning, Nastya got sick of staying at dormitory, so she decided to return to her hometown. In order to make her trip more entertaining, one of Nastya’s friend presented her an integer array a. Several hours after sta

我们都有光明的未来 501

Qt for Android:基于libusb实现CH340x串口通信的高效开发方案

本文详细介绍了在Qt for Android环境下,基于libusb实现CH340x串口通信的高效开发方案。通过绕过Android高版本系统的权限限制,利用libusb+JNI技术实现稳定通信,适用于工业手持终端等场景。文章涵盖环境搭建、核心实现、常见问题解决方案及性能调优经验,帮助开发者快速掌握这一关键技术。

weixin_42715608的博客 426

[QMT和ptrade量化交易小白入门]-125、菜场大妈加上四大现金行业指数风控,最大回撤从22%减少了一半

群里面有人建议,在菜场大妈策略的基础上,加入申万的行业指数(银行,钢铁,有色,煤炭)测算其宽度,当这四大行业其中有一个高就会清仓(用来控制回撤)。这背后的逻辑是,在存量资金博弈的市场环境中,资金总量相对固定,当银行、钢铁、有色、煤炭等大市值周期行业因基本面改善(如涨价、政策催化)或避险需求而走强时,会吸引大量资金涌入,导致其他板块(尤其是小市值股票)面临流动性虹吸。经过回测,对比上一个版本发现确实是可以降低一半的回撤,最大回撤从22.3%降到了11.4%,而且有很多时间是空仓等待。

木头大左的博客 239

Codeforces Round #707 (Div. 2) A. Alexey and Train

原题链接 题目大意: 给你一个火车的时间表(包括预计到达时间ai,预计出发时间bi),再给你一个组数,表示每站到达的延迟时间。火车出发需要满足两个条件。 1.最少等待(预计出发时间-预计到达时间)/2的时间(向上取整)。 2.出发时间>=预计出发时间 输入格式 第一行包含一个整数t(1≤t≤100)-测试用例的数量。 每个测试用例的第一行包含单个整数n(1≤n≤100)-站的数量。 接下来的n行每行包含两个整数:ai和bi(1≤ai<bi≤106)。可以保证bi<ai+1。 下一行包

遗落之辉的博客 299

一文弄懂Word2Vec之skip-gram(含详细代码)

目录 前言 一、什么是Skip-gram算法 二、目标是什么 三、定义表示法 3.1 one-hot向量 3.2 词向量(word vector) 3.3 单词矩阵 3.4 单词相似度 3.5 softmax函数 3.6算法过程 3.7 求softmax 四、skipgram代码实现 4.1 如何把词转换为向量 4.2 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 4.3 使用Pytorch实现Skip-gram .

Python,数据分析,机器学习,深度学习 1万+

Codeforces Round #707 (Div. 2)

比赛传送门: Codeforces Round #707 (Div. 2) A. Alexey and Train 思路: 按题意模拟即可 AC Code #include<bits/stdc++.h> using namespace std; int a[105],b[105],t[105]; int main() { int d; scanf("%d",&d); while(d--) { int n; scanf("%d",&n); for(int i=1

稚始稚终的博客 1408

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)A-D题解

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)A-D题解 比赛链接:https://codeforces.com/contest/1501/problem/A A题 相关tag:阅读理解,模拟 题意比较绕,多逼着自己只查单词不整篇翻译,读题能力就上来了。 题意: 从时间0开始出发,要依次经过在一条直线上的n个站点,问到达站点n的时间。 每个站点i都有对应的时间a[i],b[i],t[i] 从站点i-1到

StandNotAlone的博客 2149

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Codeforces Round #707 (Div.2) A - C

Codeforces Round #707 Div.2A - Alexey and TrainB - Napoleon CakeC - Going Home A - Alexey and Train 直接按题意模拟即可。 #include <bits/stdc++.h> using namespace std; #define pb emplace_back #define MP make_pair #define pii pair<int,int> #define pll pa

forward77 184

Codeforces Round #707 C. Going Home

C. Going Home 题意 给 n(1≤n≤2⋅105)n(1\le n \le 2\cdot 10^5)n(1≤n≤2⋅105) 个数,每个数 1≤ai≤2.5⋅1061\le a_i \le 2.5\cdot 10^61≤ai​≤2.5⋅106 ,要求找到四个不同的数 x,y,z,wx,y,z,wx,y,z,w ,使得 ax+ay=az+awa_x+a_y=a_z+a_wax​+ay​=az​+aw​ 。不能找到则输出 NO。 题解 注意到 aia_iai​ 的范围为 1≤ai≤2.5⋅1061

bandiaoz的博客 260

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)——ABC解题报告

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) 比赛链接:https://codeforces.com/contest/1501 A. Alexey and Train 题解 题意给的有点模糊,不过大致猜出题意后模拟即可。 代码 #include <bits/stdc++.h> #define PI atan(1.0)*4 #define rp(i,s,t) for (register i

mumei的博客 246

Codeforces Round #707 Div2 1501C. Going Home

题意: 给我们一个长度为n(4<=n<=2e5)的数组a(0<=a[i]<=2.5e6),然后需要我们判断是否存在四个下标x,y,z,w,使得a[x]+a[y]=a[z]+a[w],存在则输出yes,否则no. 题解: 简单数论 其实这题就是两个for循环就可解决,看似n的数据范围为2e5,两个for循环一般来说肯定是超时的,然而,注意看a[i]的数据范围,只有2.5e6,那么对于2e5个数而言,当n的数据量比较大的时候,例如接近2e5时,那么在考虑a[i]的范围,这个时候就必然会出

Aajbelieve的博客 263

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) C

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) C 大意 给定一个数组 \(a\) ,保证 \(n \leq 200000\) , \(1 \leq a_i \leq 2.5*10^6\) 问: 是否存在四个各不相同的数 \(x,y,z,w\) ,满足 \(a_x+a_y = a_z + a...

Flowers 184

Codeforces Round #707 (Div. 2) C. Going Home

题目 : https://codeforces.com/contest/1501/problem/C 一、题意 题目就是在一个给定整数序列中(无序)求是否存在满足axa_xax​+aya_yay​=aza_zaz​+awa_waw​的四个互不不相同下标x,y,z,w。 二、题解 首先序列长度N的最大规模为2e5,那么根据排列组合Cn2C_{n}^{2}Cn2​ ,即(n−1)∗n2{(n-1)*n \over 2}2(n−1)∗n​对组合,从这(n−1)∗n2{(n-1)*n \over 2}2(n−.

可比百分的博客 206

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) C - Going Home #include <bits/stdc++.h> #pragma GCC optimize(2) using namespace std; #define int long long typedef long long LL; typedef long long ll; const int INF = 0x3f3

扣脚老骚 142

Codeforces Round #707 (Div. 2) C. Going Home(思维 暴力)

题目链接:https://codeforces.com/contest/1501/problem/C It was the third month of remote learning, Nastya got sick of staying at dormitory, so she decided to return to her hometown. In order to make her trip more entertaining, one of Nastya’s friend presented h

Sankkl1的博客 655

Codeforces Round #640 (Div. 4)---题目+详解+代码(全题目)

文章目录A. Sum of Round NumbersB. Same Parity SummandsC. K-th Not Divisible by nD. Alice, Bob and CandiesE. Special ElementsF. Binary String ReconstructionG. Special Permutation A. Sum of Round Numbers time limit per test1 second memory limit per test256 megab

SDAU_LGX的博客 1243

Codeforces Round #707 Div2_C. Going Home(暴力)

C. Going Home 题目链接在此! 题面: 中文题意: 大概就是给你一串数字,问你存不存在两对数字和一样。 如果有就输出YES和那四个数字的序号,否则就NO。 数字范围,谁能想到直接暴力呢。 因为两个数字的和至多不超过5e6,所以算法复杂度可以暴力。 代码: #include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #define PII pair

欧阳小百合 233

Codeforces Round #707 (Div 2)

链接:https://codeforces.com/contest/1501 A. Alexey and Train 看懂题目后直接模拟即可,我这里令 t 是每次出发的时间。 #include <bits/stdc++.h> using namespace std; #define N 105 long long n,a[N],b[N],tt[N]; void solve() { long long tmp; scanf("%lld",&n); for (int i=1; i&

hehepig的博客 289

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics Editorial

Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics) Problem 1501A. Alexey and Train 按题意,比较到站的最大值. using ll = long long; int a[105], b[105], c[105]; int main() { // ios_ba...

橘嘉禾 65
上一篇: Codeforces Round #705 (Div. 2)/D. GCD of an Array
下一篇: Codeforces Round #707 (Div. 2, based on Moscow Open Olympiad in Informatics)/D
WedsonLin
博客等级 码龄7年 1粉丝 49原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值