日记

 


7.4

Codeforces Round 905 (Div. 3)

A

B

C

D

E

F

Codeforces Round 904 (Div. 2)

A

B

C

D

E

F

7.5

Codeforces Round 943 (Div. 3)

A

B

C

D

E

F

Codeforces Round 953 (Div. 2)

A

B

C

D

E

F

CF 1900

CF1624G

或意义下的最小生成树。
考虑拆位后从高到低位贪心,由于二进制的性质,因此可以枚举舍弃每一位对应的边后图是否仍然联通,如若联通则舍弃相对应的边一定是最优的。并查集判断即可。
https://codeforces.com/contest/1624/submission/268905549

7.6

AtCoder Beginner Contest 361

A

B

判断两个三面平行于坐标平面的立方体是否有交。
判断 x 轴范围,y 轴范围,z 轴范围是否均有交集即可。

C

D

n+2 个格子,前 n 个格子中每个格子有 BW ,最后两个为空,每次挪动相邻两个字符至空格内,请问由 S 变换至 T 的最少次数,n14
n 范围较小考虑状压,暴力做三进制,记录每个位置分别是什么,复杂度 O(n3n) ,考虑到两个空格始终相邻,可简化状态,状态中仅包含长度为 n 的字符串和空格的位置即可,求最小次数只需要广搜即可。时空复杂度均为 O(n2n)
https://atcoder.jp/contests/abc361/submissions/55287530

E

求从任意一点起始遍历整棵树所经过的最小边权和。
考虑最优路径,从某个点出发到某个叶子节点停止,反证法容易证明。那么仅需换根处理即可。f(x) 表示遍历以 x 为根的子树并回到 x 的和,g(x) 表示遍历以 x 的父亲为根去除掉子树 x 的整个树的最小边权和, 加和后减去以 x 为根的最长链即可。以上均可通过两次 DFS 完成。
https://atcoder.jp/contests/abc361/submissions/55300868

F

n 以内的整数有多少能表示为 ab,b2 的形式。 n1018
发现三次方以上的数极少,可以暴力枚举,对于完全平方,n 以内有 n 个,检测上述数字中是否含有完全平方即可。

7.7

地球online

科目一94分。

Codeforces Round #956 (Div. 2)

A

B

矩形内部只有 0、1、2 三种数,每次操作可将一组对角的数加 1 后对 3 取余,另一组对角加 2 对 3 取余,问能否将 S 操作为 T 。
考虑每次操作不改变每行和每列之和对 3 取余的余数,因此依次判断每行每列是否相同,这是必要的,充分性待证明。

C

爱丽丝、鲍勃和查理想分享一个切成 n 块的长方形蛋糕。每个人认为每块蛋糕的价值都不同。爱丽丝认为 i 这一块的价值是 ai ,鲍勃认为是 bi ,而查理认为是 ci。所有 ai 、所有 bi 和所有 ci 的总和是一样的,都等于 tot 。考虑到每个人每块蛋糕的值,需要给每个人一块连续的蛋糕。换句话说,对于 Alice、Bob 和 Charlie 来说,这些子数组左端和右端的索引(给每个人的蛋糕片)可以分别表示为 (la,ra)(lb,rb)(lc,rc) 。分割需要满足以下约束条件:没有一个棋子被分配给多人,即 [la,,ra][lb,,rb][lc,,rc] 中没有两个子数组相交。i=laraai,i=lbrbbi,i=lcrccitot3

仅需枚举顺序后,在第一段满足条件的情况下,指针定位第二段的最左位置,在判断第三段是否合法即可。考场上没想好直接写了个二分。
https://codeforces.com/contest/1983/submission/269255496

D

给定长度为 n 的两个不同正整数数组 ab ,我们希望使这两个数组相同。长度为 k 的两个数组 xy 在所有的 1ik,xi=yi 中都相同。一次操作,可以在 a(lr) 中选择索引 lr ,并交换 alar ,然后在 b 中选择 pq(pq) ,使得 rl=qp ,并交换 bpbq 。有可能使两个数组相同吗?
打表后发现是判断逆序对是否为偶数,证明待补充。

E

F

G

7.8

Codeforces Round 950 (Div. 3)

CF

CF1509C

CF1517D

7.9

Educational Codeforces Round 167 (Rated for Div. 2)

7.10

Codeforces Round 955 (Div. 2, with prizes from NEAR!)

https://codeforces.com/contest/1982

A

考虑转化为棋盘格上走路,本质上是从 (x1,y1) 走到 (x2,y2) 且不能跨越对角线,判断两个点是否在两侧即可。

B

大暴力显然无法通过,一个比较显然的优化是一次直接加到能被 y 整除的数,如果操作足够多,经过若干次操作后一定会出现 1 ,因此会从 1y 循环,直接取余即可,时间复杂度不会证明。但实测跑得飞快。

C

考虑 fi 为前 i 张牌最多赢几次,暴力转移即为对于所有 Lsum(j,i)Rj, fi=maxfj+1 。到这里已经可以直接二分+线段树在 O(nlogn) 的时间内解决了。但是考虑 f 的性质,其单调不降,因此只需维护一个指针,即最大的满足 Lsum(j,i)Rj 即可在 O(n) 的复杂度内解决。

D

考虑枚举每一个左上角的位置,其能改变的两种数之差的量必然为子矩阵内 0/1 个数差的倍数,因此预处理出所有子矩阵 0/1 个数差,根据裴蜀定理,有解等价于总差为所有个数差的 gcd

7.11

地球online

领毕业证,出去吃饭,打球。下回了几百年没有玩的吃鸡结果落地成盒了。

7.12

地球online

早上五点半起床去驾校学车,VR 太难玩了,曲线转弯短短不到一百米压了 96 次线,古希腊掌管驾驶技术的神。

codeforces Round 951 (Div. 2)

https://codeforces.com/contest/1979

C

考虑到对于每个 i 都需要满足 xiski ,那直接看 1ki 是否严格小于 1 即可,大于等于 1 则无解,小于 1 直接令 S 为所有 k 的 lcm。

7.13

地球online

玩 VR 太困了睡着了,被教练当场抓包。侧方停车直接停马路牙子上了,我实在是太强大了。

AtCoder Beginner Contest 362

居然有两个板子。。。

C

E

7.25

posted @   shao0320  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
****************************************** 页脚Html代码 ******************************************
点击右上角即可分享
微信分享提示