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

Atcoder abc 复盘(更新中)

+313 219

补:+191 229 212 211 223 243

注:该为 AtCoder Beginner Contest 复盘合计,可以直接点击右侧查看,目前还有一些在更新中。由比赛编号降序排序。


Beginner Contest 335(更新中)

跳转比赛链接

A - 202< s >3< /s >

思路:立意很好的一道题,惊艳到我了。

AC 代码

B - Tetrahedral Number

思路:

AC 代码

C - Loong Tracking

思路:

AC 代码

D - Loong and Takahashi

思路:

AC 代码

E - Non-Decreasing Colorful Path

F - Hop Sugoroku

思路:第一次赛时AC F题,太吊啦!!!

AC 代码


Beginner Contest 333(更新中)

跳转比赛链接

A - Three Threes

思路:for 循环。

AC 代码

B - Pentagon

思路:对比差值即可。

AC 代码

C - Repunit Trio

思路:预处理,之后直接输出即可。

AC 代码

D - Erase Leaves

思路:找顶点 1 所有子节点删除所需的数量总和,再删除最多需要删除的那个子节点数量。

AC 代码

E - Takahashi Quest

思路:贪心,每次拿从最后的瓶子开始拿。

AC 代码


Beginner Contest 330(更新中)

跳转比赛链接

A - Counting Passes

B - Minimize Abs 1

C - Minimize Abs 2

D - Counting Ls

思路:

AC 代码

E - Mex and Update

思路:

AC 代码


Beginner Contest 312(更新中)

跳转比赛链接

A - Chord

思路:if 枚举。

AC 代码

B - TaK Code

思路:对每个 9×9 的矩阵依次枚举是否是二维码。

AC 代码

C - Invisible Hand

思路:wc,我以前这么吊的吗?我现在根本看不懂我以前写的代码,这题我甚至是赛事 A 的,题解都是二分,就我不是?思路新奇。说实话这个思路确实好。题解

AC 代码

D - Count Bracket Sequences

思路:看不懂赛时代码了 qwq。记录一下我 dp 的状态,以免以后忘了。
dpi,j 表示前 i 个字符中有 j 个左括号。

AC 代码

E - Tangency of Cuboids

思路:看到坐标最大为 100,所以考虑枚举每个 1×1×1 的小正方体,看旁边有没有其他的与它所示长方体不同的小正方体。O(1003 logN) 可过。

AC 代码


Beginner Contest 301(更新中)

跳转比赛链接

A - Overall Winner

思路:不会有人红题不会吧?字符串处理,依次遍历即可。要注意胜负相等的情况。

AC 代码

B - Fill the Gaps

思路:依次遍历处理,如遇绝对值差大于 1,循环插入即可。

AC 代码

C - AtCoder Cards

思路:记录两个字符串中不同字符出现的数量(包括字符 @)。判断:如果字符不为 atcoder 中的一个,失败;如果剩余 @ 不够来替换,失败。

AC 代码

D - Bitmask

思路:由于 2n>2n1+...+21,所以肯定优先选择更高位的,之后依次向低位枚举即可。

AC 代码

E - Pac-Takahashi

警钟长鸣:数组大小开反了,调了 2 天!!!

思路:发现糖果数量至多 18 个,算上起点和终点一共 20 个,非常的少。所以我们先可以 BFS 暴力枚举他们之间的距离。最后在使用一个状压 DP 即可。

警钟长鸣 ×2:数组大小开反了,调了 2 天!!!!

AC 代码


Beginner Contest 279(更新中)

跳转比赛链接

A - wwwvvvvvv

B - LOOKUP

C - RANDOM

思路:统计每列 #(或 .)数量,看是否可以数量相同。

AC 代码

D - Freefall

思路:显然三分。我的早期三分代码,太清新了!

AC 代码

E - Cheating Amidakuji

思路:先求出交换完成后每个数的位置,然后发现如果第 i 次交换被去世删除了,只需要看是否会交换到 1 这个数。如果没有,正常输出。如果有,无非是 baibai+1 两种情况 (我知道我说的很不清楚,详见代码)。

AC 代码


Beginner Contest 278(更新中)

跳转比赛链接

A - Shift

B - Misjudge the Time

C - FF

用 set 即可,O(NlogN)

AC 代码

D - All Assign Point Add

思路:肯定不能直接将所有都赋为一值,所以需要一个 vis 来记录是第几个操作 1,然后判断输出即可。

AC 代码

E - Grid Filling

警钟长鸣:复制代码片段相同的代码时,一定记得改所有的变量!!!

思路:水题。H,W 都很小,每次 O(N3) 转移。 O(N3) 过即可。

AC 代码


Beginner Contest 273(更新中)

跳转比赛链接

A - A Recursive Function

思路:

AC 代码

B - Broken Rounding

思路:

AC 代码

C - (K+1)-th Largest Number

思路:

AC 代码

D - LRUD Instructions

思路:

AC 代码

E - Notebook

思路:

AC 代码


Beginner Contest 261(更新中)

跳转比赛链接

A - Intersection

思路:染两点之间的间隔。

AC 代码

B - Tournament Result

思路:for 循环中 if 判断。

AC 代码

C - NewFolder(1)

思路:map 简单应用,不过可以看看我以前的做法,是 hash。

AC 代码

D - Flipping and Bonus

思路:简单 dp。

AC 代码

E - Many Operations

思路:拆位后 dp。

AC 代码

F - Sorting Color Balls

思路:容易发现操作顺序不影响结果,所以只要没有重复操作即可。考虑点对 (i,j),i<j 对答案的贡献,如果 Ci!=CjXi>Xj 则必然会产生一次交换。那么就将题目转换为一道求逆序点对的题。先求出整个序列关于 X 的逆序对,再减去 Ci=Cj 的逆序对(因为本身不产生贡献)。

AC 代码


Beginner Contest 243(更新中)

跳转比赛链接

A - Shampoo

思路:while 循环简单枚举。

AC 代码

B - Hit and Blow

思路:双层 for 嵌套枚举。

AC 代码

C - Collision 2

思路:判断是否存在:两个在同一行的点是否左边的往右,右边的往左。

AC 代码

D - Moves on Binary Tree

思路:不用栈,考虑最大不会超过 1e18,所以超出记录超出次数即可。

AC 代码

F - Lottery

思路:简单概率 dp。

考虑 dpi,j,k 表示只考虑前 i 个奖品,抽了 j 次,有 p 种不同奖品的的概率。

转移即为:dpi,j,k=dpi,j,k+dpi1,j1,kr×airr!+dpi1,j1,kr

AC 代码

G - Sqrt

思路:通过一步一步优化得:dpn=i=1n(ni2+1)dpi

AC 代码


Beginner Contest 240(更新中)

跳转比赛链接

A - Edge Checker

思路:判断是否相邻即可,注意 110

AC 代码

B - Count Distinct Integers

思路:简单 map 即可。

AC 代码

C - Jumping Takahashi

思路:简单 bitset 即可。

AC 代码

D - Strange Balls

思路:简单栈即可。

AC 代码

E - Ranges on Tree

思路:简单搜索即可,叶子节点赋值为 (i,i)

AC 代码

F - Sum Sum Max

思路:两个前缀和,最大值有可能在一段的开始或结束。当然,也有可能在中间(如果前面的前缀和仍然大于 0,这样值就仍然会增加)。

AC 代码

G - Teleporting Takahashi

思路:题解

AC 代码


Beginner Contest 223(更新中)

跳转比赛链接

A - Exact Price

思路:if 即可。

AC 代码

B - String Shifting

思路:把所有字符串扔进 vector,排序即可。

AC 代码

C - Doukasen

思路:左边、右边分别为 i,j,显然不能模拟每分钟,所以模拟每一根。时间为 O(N)

AC 代码

D - Restricted Permutation

思路:拓扑图,每次去掉入读为 0 的节点即可。

AC 代码

E - Placing Rectangles

思路:发现只会有这几种情况:1. 全部横着放 2. 一个横着两个竖着 (交换长宽也一样)。

AC 代码


Beginner Contest 221(更新中)

跳转比赛链接

G - Jumping sequence

思路:见题解

AC 代码


Beginner Contest 219(更新中)

跳转比赛链接

F - Cleaning Robot

思路:题解

AC 代码

G - Propagation

思路:赛时 AC 力!见题解


Beginner Contest 191(更新中)

跳转比赛链接

A - Vanishing Pitch

思路:简单 if 判断。

AC 代码

B - Remove It

思路:for 循环中 if 判断相同。

AC 代码

C - Digital Graffiti

思路:很傻的做法,把所有外围的边弄出来,dfs 一圈就可以了。

AC 代码

D - Circle Lattice Points

思路:利用 x2+y2=r2 的公式即可。

AC 代码

E - Come Back Quickly

思路:简单 djk。

AC 代码



__EOF__

本文作者ziyistudy
本文链接https://www.cnblogs.com/ziyistudy/p/17893285.html
关于博主:S300+,NOIP1=
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ziyistudy  阅读(113)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示