AtCoder Regular Contest 073~077

C D E F
ARC073 + + - +
ARC074 + +1 + +
ARC075 + + + +
ARC076 + + + +2
ARC077 + + + +
+:赛时通过 +:赛后通过 +:未知 -:嘴巴

AtCoder Regular Contest 073

D. Simple Knapsack

考虑枚举选了 t 个。显然这些至少有 w1t 的大小,直接从 W 中减掉。

但是这样背包还是会很大啊。注意到此时所有物品大小都是 {0,1,2},总大小只有 3n。复杂度 O(n4)

提交记录

E. Ball Coloring

考虑我们无论如何最小值和最大值一定会出现在式子里,不妨枚举它们是否同一颜色。如果是的话就是 联合省选2021D1T1,否则也差不多就是一个双指针。

有点屎,代码咕咕咕了。

F. Many Moves

考虑 dp。设 fi,j 表示做了前 i 次转移,另一个棋子留在 j 的最小方案。

即:

fi,j+|qi+1qi|fi+1,j

fi,j+|qi+1j|fi+1,qi+1

然后第一部分显然是一个定值,第二部分考虑对 qi+1 左右分类讨论,本质上是一个区间最小值。

直接线段树处理即可。

初始情况特殊处理。复杂度 O(nlogn)

提交记录

AtCoder Regular Contest 074

E. RGB Sequence

考虑非常暴力的思路:对于一个序列,固定右端点,左端点向左移动过程中颜色数必然是不降的。

所以用 fi,j,k 表示当前在 i 位置,左端点为 j 时开始两种颜色,为 k 时开始三种颜色。可以发现所有限制可以通过这三个信息判断是否合法。

然后枚举下一个颜色是哪一种(为了方便可以枚举是 i/j/k 位置的颜色),直接转移即可。复杂度 O(n3)

提交记录

F. Lotus Leaves

考虑行列建点,可以发现一个荷叶的作用其实只有从某一行转移到某一列。

转化成最小割模型,直接跑流即可。复杂度 O(n3)

提交记录

AtCoder Regular Contest 075

E. Meaningful Mean

考虑整体减 k,就变成 0 子区间个数。转化成区间大于等于某个数个数。

可以用值域线段树,当然也可以 pbds 直接水。复杂度 O(nlogn)

提交记录

F. Mirrored

先枚举长度 l。这样对于 aiail 其实我们只关心他们的差 di

考虑两个数的差其实就是 di(10li10i)。其中 di[9,9],毛估估一下不会有太多可能,事实上每个位置最多只有两种 di 满足条件。

暴力枚举,复杂度 O(2lgVlogV)

提交记录

AtCoder Regular Contest 076

E. Connected?

手模一下可以发现只要两端有一个不在边界上,这条线就一定可以连上。所以只要考虑在边界上的情况。

然后就是很经典的问题了。考虑拆环为链,可以发现无论怎么拆,相交线的永远相交,不交的线永远不交。最后判一下这些区间有无相交关系即可。

提交记录

F. Exhausted?

考虑用 Hall 定理。可以发现在这里子集 S 对应的节点数为 min{m,maxL(S)+mminR(S)}

首先考虑最外面那个 m,这与 S 无关,那么一定让 |S| 最大即为 n。换句话说要求答案至少为 max(nm,0)

那么将 m 拆掉后,剩下的式子中 L(S)R(S) 就可以分开算了。不妨令 (L,R) 表示的区间为 [L,mR],容易发现两者等价。

这样就变成一个经典问题:有 n 个区间,每个区间要求选择一个点,不同区间不能选同一个点,问有几个匹配。
经典的构造是:按区间右端点排序,每个区间取能取的点中最靠左的点,不能取即没有匹配。证明考虑对增广路径的情况分类讨论,可以得到不存在增广路径。

用线段树/set 维护。复杂度 O(nlogn)

提交记录

AtCoder Regular Contest 077

E. guruguru

首先先认为每次操作都是按 forw,贪心地想,如果 fav 按钮位置在 aiai+1 的路径上,那么一定会先摁这个按钮,收益是 ai 到这个按钮的位置的步数 1。显然这构成一个公差为 1 的等差数列,差分一下最后推一遍即可。

复杂度 O(n)

提交记录

F. SS

可以发现 f(SS)=STST,其中 TS 最短的 period。再模拟一下可以发现 f2(SS)=STSST,令 g(S)=ST,可以发现 gi(S)=gi1(S)+gi2(S),可以发现是斐波那契数列的形式。直接暴力递归处理复杂度就是 O(nlogV) 的。

提交记录

posted @   Flying2018  阅读(29)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示