window.cnblogsConfig = {//可以放多张照片,应该是在每一个博文上面的图片,如果是多张的话,那么就随机换的。 homeTopImg: [ "https://cdn.luogu.com.cn/upload/image_hosting/xkzro04i.png" ], }

AtCoder ABC 234 复盘

A Weird Function

模拟。只是洛谷翻译存在问题

AC Code

B Longest Segment

模拟。$O(n^2)$ 枚举每一对点,然后用求两点距离的公式 $\sqrt{{(x_1-x_2)}^2+{(y_1-y_2)}^2}$ 更新最大值即可。

AC Code

P.S. 其实你也可以 $O(n\log n)$ 的排序,然后计算最远的一对点的距离。但是在这道题上没有必要,怎么简单怎么来。[doge]

C Happy New Year!

分析样例 1,3 在二进制下应表示为 $(11)_2$,而样例输出为 22。再举一例,当 $K=114$ 时,$(114)_{10}=(1110010)_2$,而第 $114$ 大的符合要求的数应为 2220020。于是我们可以得到,答案为将 $K$ 在二进制下的表示 $S$ 中的 1 替换为 2 的结果。

AC Code

D Prefix K-th Max

  1. 将前 $K$ 个数加入大根堆 $q$。

  2. 输出堆顶 $x$。

  3. 将第 $K+1\sim N$ 个数与堆顶进行比较:如果 $P_i<x$,则将堆顶 $x$ 弹出,并将 $P_i$ 插入堆 $q$ 中。

  4. 每次输出堆顶。

AC Code

E Arithmetic Number

有些类似于 C 题,DFS 构造“算术数”。具体操作如下:

枚举起始(最高位)数字,然后枚举公差,再一位一位一位一位地增加位数,如果这个数合法,则 stoll() 后加入 set 中;否则,break

AC Code

posted @ 2024-01-24 22:22  TigerTanWQY  阅读(32)  评论(0)    收藏  举报  来源