随笔分类 - codeforces
摘要:A. Circuit 题意:有 个灯和 个开关,每个开关控制一个灯,每个灯被两个开关控制,如果控制一个灯的两个开关中恰好有一个打开,这个灯就会亮。你不知道具体哪些开关控制哪些灯。现在给你 个灯的开关状态,求最少亮多少灯和最多亮多少灯。 最少的状态就是尽量让两个打开的开关控
阅读全文
摘要:A. String 题意:给你一个01串,你每次选一个子序列,其中相邻的两位不相同,如何把这个子序列位置上的数取反,问多少次能变成全0。 因为必须是10交替,那么取反后相当于没操作。所以我们每次操作一个1就行。这样操作数是1的个数。 点击查看代码 void solve() { std::string
阅读全文
摘要:A - Secret Sport 题意:两个人比赛,每有一个人赢了 场就算它赢了一轮。比赛是在有一个人赢了 轮后结束。你不知道 ,但给你一个每场的输赢情况,求谁是赢家。 去求 非常难,不如倒着想,一轮必然是因为赢的那个人赢了一把而结束,同样,整个比赛也是因为赢的那
阅读全文
摘要:A. Minimal Coprime 题意:互素区间是指 的区间,极小互素区间是互素区间并且没有一个被他包含的区间也是互素区间。问你区间 里有多少个极小互素区间。 根据数论的基础知识, 一定是互素的,所以统计所有长度为 的区间
阅读全文
摘要:A. Kevin and Arithmetic 题意:给你 个数,你一开始有一个 ,每次你让 加上一个没用过的数,然后 会一直除二直到变成奇数。如果你加上一个数后能除2,分数加1,问分数最大多少。 奇数后面加奇数才能是偶数,但一开始 是零,那么需要一个
阅读全文
摘要:A. Milica and String 题意:给你一个只包含 和 的串,你每次可以让一个前缀都变成 或者都变成 ,问让字符串恰好有 个 的最小操作数和方案。 我们最多操作一次。如果我们 的数量大于 ,那么我们找一个恰好有\(k-cnt
阅读全文
摘要:A. Shape Perimeter 题意:一个 的印章每次往右上方向移动,问盖出来的图形周长。 假设每次都能盖 的格子,那么看每两次盖章有多重复的减去就行。第 次移动了 ,那么就会有一个\(m-x_i, m-y_i\
阅读全文
摘要:A. Line Trip 题意:你要从 到 ,然后再从 到 ,路上有一些加油站,每行驶一单位消耗一格油,到了加油家会加满油,问油箱至少得多大。 显然油箱要支撑我们行驶完任意两个相邻点之间的路程,注意最后 到 的路径因为要返回所以要算两遍。 点击查看
阅读全文
摘要:A. Cover in Water 题意:有n个格子,有些格子是好的,有些是坏的,你要给好格子都装上水,你可以花费一点价值让一个格子有水, 也可以把一个格子的水移到另一个格子,没有花费。如果一个格子是好格子并且两边的格子都有水,这个格子就会自己填满水。 问最少花费让所有好格子有水。 容易想到,如果有
阅读全文
摘要:A. Bus to Pénjamo 题意:有n个家庭,每个家庭有 个人,现在有r排座位,每个座位可以坐两个人。如果一个人自己一个坐一个座位或者和自己家庭的人坐一个座位,他就会开心,问所有人都入座后最多有多少人开心。 我们肯定尽量让一个座位坐两个同一家庭的人,这样一个座位可以让两个人开心。
阅读全文
摘要:A. Binary Imbalance 题意:给你一个01串,每次选一个01或者一个10在他们中间插一个0进去,问能不能让0的个数大于1。 我们进行一次插入操作后,显然还可以继续操作,所以只要有0和1就一定可以。注意特判全0的情况。 点击查看代码 void solve() { int n; std:
阅读全文
摘要:A. Set 题意:给你[l, r]中的所有数和一个k,每次操作选一个数,这个数在剩下的数里有至少k个倍数,然后删掉这个数。求最大操作次数。 我们删除一个数不会影响后面的数能不能删,所以应该从小到大删,发现如果r / x大于等于k,那么x可以被删,那么最后一个满足的x就是r / k,看和l之间有多少
阅读全文
摘要:前言 这把打爽了,因为c题写错一个地方然后眼瞎一个小时没看见,直接掉大分。而且今天状态貌似很差,代码总是写错,ab都是莫名wa一发。 A. Two Frogs 题意:Alice和Bob在[1,n]这个区间玩,一开始Alice在a,Bob在b,他们轮流走,每个人可以往左或者往右,但不能越界,也不能走到
阅读全文
摘要:A. Alice's Adventures in "Chess" 题意:你从(0, 0)出发,重复固定的移动路径,问能不能经过(a, b)。 直接跑一百次就行,因为ab都很小(其实只要跑20次)。 点击查看代码 void solve() { int n, a, b; std::cin >> n >>
阅读全文
摘要:A. Alyona and a Square Jigsaw Puzzle 题意:一个人搭一个矩阵,一圈圈的围,每天放 个方块,当某天正好搭出来一个矩阵他就开心。问有多少天是开心的。 发现每搭一圈,矩阵长度加2,不同边长矩阵需要的方块也可以算出来,按题意模拟就行。 点击查看代码 void
阅读全文
摘要:A. Preparing for the Olympiad 题意,有两个数组a和b,如果你选了a数组中第i个,那么对手获得b数组第i+1个,求你们得分的差值最大。 直接加上所有ai > bi+1的就行。 点击查看代码 void solve() { int n; std::cin >> n; std:
阅读全文