AtCoder 刷题笔记(1)

ARC058~ARC103 这段时间是 AtCoder 比赛的第二版,此时 ABC 和 ARC 合并为六道题,ABC 为 ABCD 题,ARC 为 CDEF 题。

虽然有一点久远但是感觉难度跟现在的 NOIP 差不多,有些题可能稍微要难一点点,但都是经典,很适合提高~省选的选手。

题目在这里 ARC058~ARC103 link 有汇总,并且都按照顺序排好了,非常地方便(实际上我是懒得每道题的题目都给 link 了)。

[ARC058A] こだわり者いろはちゃん / Iroha's Obsession

AC code

一开始读错题意了,以为是把有 $k$ 种纸币不能用求最少需要花多少钱,上来就直接 DP,发现答案不对,后来一看样例才发现,题目求的是花的钱数在十进制表示下不能出现 $k$ 种数字且最小,由于 $n$ 很小直接暴力从 $n$ 开始找即可。

时间复杂度为 $O(10n\log_{10}{n})$,只有当数据是 $n=10^4$ 且能用的数字只有 $9$ 的时候才能够达到这个上界。

[ARC058B] いろはちゃんとマス目 / Iroha and a Grid

AC code

组合计数好题,首先不妨来一个小测试(实际上这个小测试就告诉你这道题的正解了):

$H=5$,$W=6$,$A=3$,$B=3$,根据下图的提示,你能手玩出答案,并推导出柿子是什么吗?

正确答案是 $45$,柿子是:

$\dbinom{H+W-2}{H-1}-\sum\limits_{i=H-A}^{H-1}\dbinom{i+B-1}{i}\dbinom{H+W-i-B-2}{H-i-1}$

提示:考虑容斥,求出起点到绿点(即绿色箭头)和蓝点到终点(即蓝色箭头)的方案数,注意每个绿点必须强制走到它右边的蓝点(即紫色箭头)否则会与下方绿点的方案算重。

注意起点是左上角,即坐标是 $(1,1)$ 不是 $(0,0)$,注意容斥的时候不要算重方案。

时间复杂度为 $O(H+W)$。

[ARC058C] 和風いろはちゃん / Iroha and Haiku

[ARC058D] 文字列大好きいろはちゃん / Iroha Loves Strings

posted @ 2021-11-06 21:22  jhqqwq  阅读(216)  评论(0编辑  收藏  举报