壹鲦热带鱼的小窝 - Atcoder
type: channel
link: https://www.fmcraft.top/category/atc/
items: 【abc436】AtCoder Beginner Contest 436
items: 反思 - UNIQUE VISION Programming Contest 2025 Christ
items: 反思 - UNIQUE VISION Programming Contest 2025 Christmas (AtCoder Beginner Contest 437)
items: 【abc435】AtCoder Beginner Contest 435

【abc436】AtCoder Beginner Contest 436
type: item
date: 2026-03-23T19:47:00+08:00
description: abc436 反思题面A - o 判定问题描述给定一个整数 $ N $ 和一个由小写英文字母组成的字符串 $ S $，其长度小于 $ N $。请输出通过持续在字符串 $ S $ 的开头添加小写英文字母 o 直到其长度变为 $ N $ 所得到的字符串。约束条件$ 2 \leq N \leq 100 $$ N $ 为整数$ S $ 是由小写英文字母组成的字符串，长度介于 $ 1 $ 到 $ N-1 $ 之间（包含边界）。输入格式输入通过标准输入以如下格式给出：$$ N $$$$ S $$输出格式输出答案字符串。样例输入 15 abc样例输出 1ooabc解释：$ N=5 $，$ S $ 的长度为 $ 3 $，因此需要在 $ S $ 的开头添加 $ 5 - 3 = 2 $ 个 o。样例输入 22 o样例输出 2oo样例输入 312 vgxgpuam样例输出 3oooovgxgpuamB - 幻方阵问题描述给定一个大于等于 $ 3 $ 的奇数 $ N $。有一个 $ N $ 行 $ N $ 列的方格，初始时所有格子均为空白。现在，按照以下步骤在方格中的每个格子上写入整数。记格子 $ (i, j) $ 表示从上到下第 $ i+1 $ 行、从左到右第 $ j+1 $ 列的格子（$ 0 \leq i < N, 0 \leq j < N $）。在格子 $ \left(0, \frac{N-1}{2}\right) $ 中写入 $ 1 $。重复以下操作 $ N^2 - 1 $ 次：设上一次写入整数的格子为 $ (r, c) $，写入的整数为 $ k $。如果格子 $ ((r-1) \bmod N, (c+1) \bmod N) $ 是空白的，则在该格子写入 $ k+1 $；否则，在格子 $ ((r+1) \bmod N, c) $ 中写入 $ k+1 $。这里，$ x \bmod N $ 表示 $ x $ 除以 $ N $ 的余数。请找出按照此过程在每个格子中写入的整数。可以证明，每个格子恰好会被写入一个整数。约束条件$ 3 \leq N \leq 99 $$N$ 是奇数输入格式输入通过标准输入以如下格式给出：$$ N $$输出格式设格子 $ (i, j) $ 中写入的整数为 $ a_{i, j} $，并按如下格式输出：$$ a_{0, 0} \ a_{0, 1} \ \dots \ a_{0, N-1} \\ \vdots \\ a_{N-1, 0} \ a_{N-1, 1} \ \dots \ a_{N-1, N-1} $$样例输入 13样例输出 18 1 6 3 5 7 4 9 2解释：在格子 $ (0, \frac{3-1}{2}) = (0, 1) $ 中写入 $ 1 $。格子 $ ((0-1) \bmod 3, (1+1) \bmod 3) = (2, 2) $ 是空白的，因此写入 $ 2 $。格子 $ ((2-1) \bmod 3, (2+1) \bmod 3) = (1, 0) $ 是空白的，因此写入 $ 3 $。格子 $ ((1-1) \bmod 3, (0+1) \bmod 3) = (0, 1) $ 非空白，因此在格子 $ ((1+1) \bmod 3, 0) = (2, 0) $ 中写入 $ 4 $。依此类推……样例输入 25样例输出 217 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9C - 放置 2×2 方块问题描述有一个 $ N $ 行 $ N $ 列的方格。记格子 $ (i, j) $ 表示从上到下第 $ i $ 行、从左到右第 $ j $ 列的格子。初始时，方格上没有任何方块。现在将进行 $ M $ 次操作。第 $ i $ 次操作（$ 1 \leq i \leq M $）如下：将以格子 $ (R_i, C_i) $ 为左上角的 $ 2 \times 2 $ 区域的方块放置到方格上，当且仅当该区域与已放置的其他方块不重叠。更精确地说，对于单元格集合 $ S = \{ (R_i, C_i), (R_i+1, C_i), (R_i, C_i+1), (R_i+1, C_i+1) \} $，如果方格上已存在的方块占据了 $ S $ 中的任意一个格子，则什么也不做；否则，放置一个占据 $ S $ 中全部 4 个格子的方块。请计算所有操作结束后，方格上共有多少个方块。约束条件$ 2 \leq N \leq 10^9 $$ 1 \leq M \leq 2 \times 10^5 $$ 1 \leq R_i, C_i \leq N-1 $输入均为整数输入格式输入通过标准输入按以下格式给出：$$ N \ M $$$$ R_1 \ C_1 $$$$ R…

反思 - UNIQUE VISION Programming Contest 2025 Christ
type: item
date: 2026-03-23T19:47:00+08:00
description: (x)abc437题面A - 英尺分值：100 分题目描述1 英尺等于 12 英寸。请问 A 英尺 B 英寸换算成英寸是多少英寸？约束条件$1 \leq A \leq 8$$0 \leq B \leq 11$所有输入值均为整数输入格式输入通过标准输入按以下格式给出：A B输出格式将答案输出在一行中。省略单位（英寸）进行输出。输入样例 16 7输出样例 1796 英尺 7 英寸换算成英寸为 $6 \times 12 + 7 = 79$ 英寸。输入样例 24 11输出样例 2594 英尺 11 英寸换算成英寸为 $4 \times 12 + 11 = 59$ 英寸。输入样例 38 0输出样例 3968 英尺 0 英寸换算成英寸为 $8 \times 12 + 0 = 96$ 英寸。B - 幸运抽奖题目描述有一个 $H$ 行 $W$ 列的网格。每个格子中写着一个整数，所有整数互不相同。从上到下第 $i$ 行、从左到右第 $j$ 列的格子中写有整数 $A_{i,j}$。现在，主持人喊出了 $N$ 个互不相同的整数 $B_1, \dots, B_N$。对于每一行，计算出主持人喊出的整数中，有多少个出现在该行中。这些数量的最大值是多少？约束条件$1 \leq H \leq 3$$1 \leq W \leq 5$$1 \leq N \leq 90$$1 \leq A_{i,j} \leq 90$$A_{i,j}$ 互不相同$1 \leq B_i \leq 90$$B_i$ 互不相同所有输入值均为整数输入格式输入通过标准输入给出，格式如下：H W N A_{1,1} ... A_{1,W} ... A_{H,1} ... A_{H,W} B_1 ... B_N输出格式输出一行，包含答案。输入样例 13 4 5 12 3 5 7 6 10 11 9 1 2 4 8 2 4 9 6 11输出样例 13输入样例 23 5 2 81 63 31 16 15 30 3 6 54 24 26 41 48 64 66 44 79输出样例 20输入样例 33 5 12 78 19 70 58 83 12 30 80 20 27 48 71 8 43 82 82 30 43 8 80 70 20 78 12 71 19 48输出样例 35C - 驯鹿与雪橇 2题目描述有 $N$ 头驯鹿和 1 架雪橇。第 $i$ 头驯鹿的体重为 $W_i$，力量为 $P_i$。对于每头驯鹿，需要选择是让它“拉雪橇”还是“乘坐雪橇”。但是，拉雪橇的驯鹿的力量总和必须大于等于乘坐雪橇的驯鹿的体重总和。最多可以让多少头驯鹿乘坐雪橇？给定 $T$ 个测试用例。请分别回答每个用例。约束条件$1 \leq T \leq 10^5$$1 \leq N \leq 3 \times 10^5$$1 \leq W_i, P_i \leq 10^9$所有输入值均为整数。单个输入文件中所有 $N$ 的总和不超过 $3 \times 10^5$。输入格式输入通过标准输入给出，格式如下：T case_1 case_2 ⋮ case_T每个测试用例的格式如下：N W_1 P_1 W_2 P_2 ⋮ W_N P_N输出格式输出 $T$ 行。第 $i$ 行输出第 $i$ 个测试用例的答案。输入样例 13 3 3 1 4 1 5 9 5 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000 1 10 133180711 458704923 531424946 225863856 141986070 637075158 500770732 289806469 502866767 408857335 559714289 569084545 287444582 992432993 559747907 753133304 432846188 949871298 727072164 756020367输出样例 12 0 6D - 差之和题目描述给定一个长度为 $N$ 的正整数序列 $A = (A_1, A_2, \dots, A_N)$ 和一个长度为 $M$ 的正整数序列 $B = (B_1, B_2, \dots, B_M)$。求 $\displaystyle \sum_{i=1}^{N} \sum_{j=1}^{M} |A_i - B_j|$ 的值，并对 $998244353$ 取模。约束条件$1 \leq N, M \leq 3 \times 10^5$$1 \leq A_i, B_j < 998244353$所有输入值均为整数。输入格式输入通过标准输入给出，格式如下：N M A_1 A_2 ... A_N B_1 B_2 ... B_M输出格式…

反思 - UNIQUE VISION Programming Contest 2025 Christmas (AtCoder Beginner Contest 437)
type: item
date: 2025-12-20T22:09:00+08:00
description: abc437题面A - 英尺分值：100 分题目描述1 英尺等于 12 英寸。请问 A 英尺 B 英寸换算成英寸是多少英寸？约束条件$1 \leq A \leq 8$$0 \leq B \leq 11$所有输入值均为整数输入格式输入通过标准输入按以下格式给出：A B输出格式将答案输出在一行中。省略单位（英寸）进行输出。输入样例 16 7输出样例 1796 英尺 7 英寸换算成英寸为 $6 \times 12 + 7 = 79$ 英寸。输入样例 24 11输出样例 2594 英尺 11 英寸换算成英寸为 $4 \times 12 + 11 = 59$ 英寸。输入样例 38 0输出样例 3968 英尺 0 英寸换算成英寸为 $8 \times 12 + 0 = 96$ 英寸。B - 幸运抽奖题目描述有一个 $H$ 行 $W$ 列的网格。每个格子中写着一个整数，所有整数互不相同。从上到下第 $i$ 行、从左到右第 $j$ 列的格子中写有整数 $A_{i,j}$。现在，主持人喊出了 $N$ 个互不相同的整数 $B_1, \dots, B_N$。对于每一行，计算出主持人喊出的整数中，有多少个出现在该行中。这些数量的最大值是多少？约束条件$1 \leq H \leq 3$$1 \leq W \leq 5$$1 \leq N \leq 90$$1 \leq A_{i,j} \leq 90$$A_{i,j}$ 互不相同$1 \leq B_i \leq 90$$B_i$ 互不相同所有输入值均为整数输入格式输入通过标准输入给出，格式如下：H W N A_{1,1} ... A_{1,W} ... A_{H,1} ... A_{H,W} B_1 ... B_N输出格式输出一行，包含答案。输入样例 13 4 5 12 3 5 7 6 10 11 9 1 2 4 8 2 4 9 6 11输出样例 13输入样例 23 5 2 81 63 31 16 15 30 3 6 54 24 26 41 48 64 66 44 79输出样例 20输入样例 33 5 12 78 19 70 58 83 12 30 80 20 27 48 71 8 43 82 82 30 43 8 80 70 20 78 12 71 19 48输出样例 35C - 驯鹿与雪橇 2题目描述有 $N$ 头驯鹿和 1 架雪橇。第 $i$ 头驯鹿的体重为 $W_i$，力量为 $P_i$。对于每头驯鹿，需要选择是让它“拉雪橇”还是“乘坐雪橇”。但是，拉雪橇的驯鹿的力量总和必须大于等于乘坐雪橇的驯鹿的体重总和。最多可以让多少头驯鹿乘坐雪橇？给定 $T$ 个测试用例。请分别回答每个用例。约束条件$1 \leq T \leq 10^5$$1 \leq N \leq 3 \times 10^5$$1 \leq W_i, P_i \leq 10^9$所有输入值均为整数。单个输入文件中所有 $N$ 的总和不超过 $3 \times 10^5$。输入格式输入通过标准输入给出，格式如下：T case_1 case_2 ⋮ case_T每个测试用例的格式如下：N W_1 P_1 W_2 P_2 ⋮ W_N P_N输出格式输出 $T$ 行。第 $i$ 行输出第 $i$ 个测试用例的答案。输入样例 13 3 3 1 4 1 5 9 5 1000000000 1 1000000000 1 1000000000 1 1000000000 1 1000000000 1 10 133180711 458704923 531424946 225863856 141986070 637075158 500770732 289806469 502866767 408857335 559714289 569084545 287444582 992432993 559747907 753133304 432846188 949871298 727072164 756020367输出样例 12 0 6D - 差之和题目描述给定一个长度为 $N$ 的正整数序列 $A = (A_1, A_2, \dots, A_N)$ 和一个长度为 $M$ 的正整数序列 $B = (B_1, B_2, \dots, B_M)$。求 $\displaystyle \sum_{i=1}^{N} \sum_{j=1}^{M} |A_i - B_j|$ 的值，并对 $998244353$ 取模。约束条件$1 \leq N, M \leq 3 \times 10^5$$1 \leq A_i, B_j < 998244353$所有输入值均为整数。输入格式输入通过标准输入给出，格式如下：N M A_1 A_2 ... A_N B_1 B_2 ... B_M输出格式输出一…

【abc436】AtCoder Beginner Contest 436
type: item
date: 2025-12-14T13:34:00+08:00
description: abc436 反思题面A - o 判定问题描述给定一个整数 $ N $ 和一个由小写英文字母组成的字符串 $ S $，其长度小于 $ N $。请输出通过持续在字符串 $ S $ 的开头添加小写英文字母 o 直到其长度变为 $ N $ 所得到的字符串。约束条件$ 2 \leq N \leq 100 $$ N $ 为整数$ S $ 是由小写英文字母组成的字符串，长度介于 $ 1 $ 到 $ N-1 $ 之间（包含边界）。输入格式输入通过标准输入以如下格式给出：$$ N $$$$ S $$输出格式输出答案字符串。样例输入 15 abc样例输出 1ooabc解释：$ N=5 $，$ S $ 的长度为 $ 3 $，因此需要在 $ S $ 的开头添加 $ 5 - 3 = 2 $ 个 o。样例输入 22 o样例输出 2oo样例输入 312 vgxgpuam样例输出 3oooovgxgpuamB - 幻方阵问题描述给定一个大于等于 $ 3 $ 的奇数 $ N $。有一个 $ N $ 行 $ N $ 列的方格，初始时所有格子均为空白。现在，按照以下步骤在方格中的每个格子上写入整数。记格子 $ (i, j) $ 表示从上到下第 $ i+1 $ 行、从左到右第 $ j+1 $ 列的格子（$ 0 \leq i < N, 0 \leq j < N $）。在格子 $ \left(0, \frac{N-1}{2}\right) $ 中写入 $ 1 $。重复以下操作 $ N^2 - 1 $ 次：设上一次写入整数的格子为 $ (r, c) $，写入的整数为 $ k $。如果格子 $ ((r-1) \bmod N, (c+1) \bmod N) $ 是空白的，则在该格子写入 $ k+1 $；否则，在格子 $ ((r+1) \bmod N, c) $ 中写入 $ k+1 $。这里，$ x \bmod N $ 表示 $ x $ 除以 $ N $ 的余数。请找出按照此过程在每个格子中写入的整数。可以证明，每个格子恰好会被写入一个整数。约束条件$ 3 \leq N \leq 99 $$N$ 是奇数输入格式输入通过标准输入以如下格式给出：$$ N $$输出格式设格子 $ (i, j) $ 中写入的整数为 $ a_{i, j} $，并按如下格式输出：$$ a_{0, 0} \ a_{0, 1} \ \dots \ a_{0, N-1} \\ \vdots \\ a_{N-1, 0} \ a_{N-1, 1} \ \dots \ a_{N-1, N-1} $$样例输入 13样例输出 18 1 6 3 5 7 4 9 2解释：在格子 $ (0, \frac{3-1}{2}) = (0, 1) $ 中写入 $ 1 $。格子 $ ((0-1) \bmod 3, (1+1) \bmod 3) = (2, 2) $ 是空白的，因此写入 $ 2 $。格子 $ ((2-1) \bmod 3, (2+1) \bmod 3) = (1, 0) $ 是空白的，因此写入 $ 3 $。格子 $ ((1-1) \bmod 3, (0+1) \bmod 3) = (0, 1) $ 非空白，因此在格子 $ ((1+1) \bmod 3, 0) = (2, 0) $ 中写入 $ 4 $。依此类推……样例输入 25样例输出 217 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9C - 放置 2×2 方块问题描述有一个 $ N $ 行 $ N $ 列的方格。记格子 $ (i, j) $ 表示从上到下第 $ i $ 行、从左到右第 $ j $ 列的格子。初始时，方格上没有任何方块。现在将进行 $ M $ 次操作。第 $ i $ 次操作（$ 1 \leq i \leq M $）如下：将以格子 $ (R_i, C_i) $ 为左上角的 $ 2 \times 2 $ 区域的方块放置到方格上，当且仅当该区域与已放置的其他方块不重叠。更精确地说，对于单元格集合 $ S = \{ (R_i, C_i), (R_i+1, C_i), (R_i, C_i+1), (R_i+1, C_i+1) \} $，如果方格上已存在的方块占据了 $ S $ 中的任意一个格子，则什么也不做；否则，放置一个占据 $ S $ 中全部 4 个格子的方块。请计算所有操作结束后，方格上共有多少个方块。约束条件$ 2 \leq N \leq 10^9 $$ 1 \leq M \leq 2 \times 10^5 $$ 1 \leq R_i, C_i \leq N-1 $输入均为整数输入格式输入通过标准输入按以下格式给出：$$ N \ M $$$$ R_1 \ C_1 $$$$ R…

【abc435】AtCoder Beginner Contest 435
type: item
date: 2025-12-06T21:50:00+08:00
description: [collapse status="false" title="Typora 渲染后的 PDF"]https://www.fmcraft.top/usr/uploads/2025/12/4031836290.pdf[/collapse]abc435A - Triangular Number 三角数题面翻译时间限制：2 秒 / 内存限制：1024 MiB分数：100 分题目描述给定一个正整数 $N$。输出从 1 到 $N$ 的所有整数的和，即 $1+2+\dots+N$。约束条件$1 \le N \le 100$$N$ 是整数输入格式输入从标准输入按以下格式给出：N输出格式输出从 1 到 $N$ 的所有整数的和。样例输入 15样例输出 115样例解释 1因为 $1+2+3+4+5=15$，所以输出 15。样例输入 21样例输出 21样例输入 329样例输出 3435思考很简单，方法在题面中已经给出了，即 $\sum_{i=1}^{n} i$ ，这个算法的时间复杂度是 $O(n)$ 的。也可以使用高斯求和的方法， $\frac{n(1+n)}{2}$。我太懒了，使用高斯求和的方法。代码#include <bits/stdc++.h> using namespace std; int n,x,i,s; int main(){ cin>>n; for(i=1;i<=n;i++) s+=i; cout<<s; }B - No-Divisible Range 无因数区间题目翻译时间限制：2 秒 / 内存限制：1024 MiB分数：200 分题目描述给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\dots,A_N)$。请找出满足 $1 \le l \le r \le N$ 的整数对 $(l,r)$ 的数量，要求这些整数对满足如下条件：对于所有满足 $l \le i \le r$ 的整数 $i$，$A_i$ 不是区间 $[l,r]$ 内所有元素的和的约数。约束条件$1 \le N \le 50$$1 \le A_i \le 1000$所有输入值均为整数输入格式输入数据通过标准输入给出，格式如下：N A_1 A_2 … A_N输出格式输出满足条件的整数对 $(l,r)$ 的数量。样例输入 15 8 6 10 5 7样例输出 16样例解释 1序列 $A=(8,6,10,5,7)$。例如，整数对 $(l,r)=(1,2)$ 满足条件：区间和为 $A_1+A_2=14$，$A_1=8$ 和 $A_2=6$ 都不是 14 的约数。而整数对 $(l,r)=(1,3)$ 不满足条件：区间和为 $A_1+A_2+A_3=24$，$A_1=8$ 是 24 的约数。满足条件的整数对为 $(1,2),(1,4),(2,3),(2,4),(3,5),(4,5)$，共 6 个，因此输出 6。样例输入 23 1 1 1样例输出 20思考就不打炮打蚊子了。直接暴力枚举 $l$ 到 $r$，求和为 $S$ ，公式为 $S=\sum_{i=l}^{r} a_i$，然后判断从 $l$ 到 $r$ 如果能被 $S$ 整除，那这个就不是一个无因数区间，不应该计入到答案，否则就计入到答案，最后输出即可。警告：暴力枚举 $l$ 到 $r$ 的时候，需要排除 $l > r$ 的状态，即 if(l>r) continue;。时间复杂度为 $O(n^3)$，题目规定 $N \leq 50$，可以通过。代码#include <bits/stdc++.h> using namespace std; int n,i,a[60],fl,s,t,w,ans; int main(){ cin>>n; for(i=1;i<=n;i++) cin>>a[i]; for(t=1;t<=n;t++) for(w=1;w<=n;w++){ if(t>w) continue; fl=1;s=0; for(i=t;i<=w;i++) s+=a[i]; for(i=t;i<=w;i++) if(s%a[i]==0) fl=0; ans+=fl; } cout<<ans; }C - Domino 多米诺题面翻译时间限制：2 秒 / 内存限制：1024 MiB分数：300 分题目描述有 $N$ 张多米诺骨牌排成一行，放置在数轴上。第 $i$ 张骨牌位于坐标 $i$ 处，高度为 $A_i$。当第 $i$ 张骨牌向右倒下时，坐标在 $i$ 到 $i+A_i-1$（包含两端）范围内的所有骨牌都会向右倒下。当第一张骨牌向右倒下时，总共会有多少张骨牌倒下？约束条件$1 \le N \le 5 \times 10^5$$1 \le A_i \le N$所有输入值均为整数输入格式输入数据通过标准输入给出，格式如下：N A…