santisify Site

Back

Atcoder beginner contest 377Blur image

A.Rearranging ABC#

Rearranging ABC

题目描述#

给定字符串ss,判断是否可以组成 ABCABC

解题思路#

排个序就行了

参考代码#

B.Avoid Rook Attack#

Avoid Rook Attack

题目描述#

给出棋盘,其中放有的位置为 #, 在放有棋子的上下左右四个方向不能放棋子,问有多少个位置可以放棋子.

解题思路#

模拟下即可

参考代码#

C.Avoid Knight Attack#

Avoid Knight Attack

题目描述#

给定nnn * n 的棋盘和 mm个棋子位置,其中棋子能走的位置上图所示,问多少个位置可以放棋子,并且不被吃掉

解题思路#

模拟,需要注意边界处理

参考代码#

D.Many Segments 2#

Many Segments 2

题目描述#

给你两个长度分别为 NNL=(L1,L2,,LN)L=(L_1,L_2,\ldots,L_N)R=(R1,R2,,RN)R=(R_1,R_2,\ldots,R_N) 的正整数序列,以及一个整数 MM 。 求满足以下两个条件的整数对 (l,r)(l,r) 的个数:

  • 1lrM1\le l \le r \le M
  • 对于每一个 1iN1\le i\le N ,区间 [l,r][l,r] 并不完全包含区间 [Li,Ri][L_i,R_i]

解题思路#

考虑 O(m)O(m)的同时,维护一个左边界,就是当前位置能最多往前多少是刚好不完全覆盖的,最后这个左边界需要取个 max ,因为如果前面的左边界更右,那后面的左边界也要和前面一样。

参考代码#

E.Permute K times 2#

Permute K times 2

题目描述#

给定长度为 NN的数组 PP,将 PiP_{i}替换为 PPiP_{P_{i}}操作 KK次,输出 KK次操作后的数组.

解题思路#

在替换时,某个数多替换几轮就可能回到替换前的位置,那么我们就只需要找出环的大小即可,随后再取模即可

参考代码#

Atcoder beginner contest 377
https://santisify.top/blog/old/abc377
Author santisify
Published at October 24, 2024
Comment seems to stuck. Try to refresh?✨