C/C++教程

ABC259总结

本文主要是介绍ABC259总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

比赛地址

比赛情况

排名:1066 / 7295
AC:5 / 8

题目分析

A

签到题

B

考察:网络资源搜集利用能力

显然数学没学过,然后就搜资料

先把度数转为弧度,然后套三角函数
image

C

先缩串,把重复的合起来

如果长度不同直接No

某个字母不同,直接No

具体到某个字母,如果长度不到,\(s\) 长度大于 \(t\) 长度则No,等于直接 \(Yes\),小于判断长度小于2则No,大于1则Yes

D

并查集

先 \(O(n^2)\) 把相交的圆并起来,考虑不合法情况(注意不要用double)

情况一:两圆分离

image

则两圆心之间距离大于两半径之和

代码实现:if(Z(x[i]-x[j])+Z(y[i]-y[j])>Z(r[i]+r[j])) continue;

情况二:两圆包含
image

则圆心距离小于两半径之差

代码实现:if(Z(x[i]-x[j])+Z(y[i]-y[j])<Z(r[i]-r[j])) continue;

其他情况皆合法

然后判断起点终点在哪些圆上,只需要判断当前点与圆心距离是否为半径

代码实现:if(Z(sx-x[i])+Z(sy-y[i])==Z(r[i]))

然后就行了

复杂度 \(O(n^2)\)

E

题目关键在于某个数 \(a_i\),是否存在其中一个质因子 \(p_{i,j}\),使得其 \(e_{i,j}\) 在所有 \(p_{k,j}\) 中唯一最大

细节方面注意一下没影响的数就行

赛后分析

过题不顺利,但总体过题还行

A题理解花了些时间,接近4min才过

B题数学没学过,靠网上资料搜集,拖到23min(正常B可以8-9min过)

C题29min过,虽然打时卡了一下,但还算顺利

D题一开始没考虑到环套环情况,后来一直被卡精度,弄了好久才想到怎么避免精度问题,62min时过

E题上来就想到思路,但一些细节问题卡了好久,84min时过

总体数量达标,每题过题过程不达标(指罚时 \(\times 5\))

这篇关于ABC259总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!