首页 > TAG信息列表 > APIO2020

APIO2020

做贺了一下,作文以记之。 [APIO2020]粉刷墙壁 题意: 直观描述一下:就是 \(M\) 个人,可以涂一些特定颜色的墙,看成一个环,可以从任意处断开成 \(M\) 个数的数列。 有 \(N\) 个面的墙,对于一连续段长度为 \(M\) 的面,如果 \(M\) 个人可以依次涂这些墙,就代表这一次刷墙是合法的。求最小

洛谷 P6764 [APIO2020]粉刷墙壁(dp,贪心)

传送门 解题思路 第一步,求出从每个墙壁开始刷是否合法。 第二步,合法的墙壁位置作为每个区间的左端点,变成区间覆盖问题。 第二步很显然是个贪心,重点是第一步如何解决。 我们设dp[i][j]表示从第i个墙壁第j个承包商开始刷能刷的墙壁的数量。 那么 当第j个承包商能刷第i个墙的时候,dp

「APIO2020」交换城市 题解

参考:APIO2020交换城市 - syksykCCC's blog Statement APIO2020 交换城市 - 洛谷 Solve 首先,我们简化题意: 给定一个 \(n\) 个点,\(m\) 条边的无向图,求图上 交换两点 所走过的边中 权值最大的最小是多少 这里,我们定义交换:从点 \(x,y\) 分别出发,到达对方,要求路径不相交,但允许在路径

[APIO2020] 交换城市

一、题目 点此看题 二、解法 显然是连通性问题,直接最小生成树不好做,可以考虑 \(\tt kruskall\) 重构树。 首先考虑 \(x,y\) 能相互到达的充要条件,其实除了连通块是链的情况,都可以到达。转化一下就是连通块中存在度数大于等于 \(3\) 的点或者边数大于等于点数。 我们把边权从小到大

【比赛日志】APIO2020(2020.08.15)

考试策略:花半个小时看题目,想所有题( [Contest Strategy Lecture.pdf](../reference/Contest Strategy Lecture.pdf) ) 考前突然发现 APIO2020参赛登录注意事项及竞赛规则(新版务请仔细阅读).pdf 里面有这么一条: 这不是Codeforces赛制吗qwq……瞬间觉得自己无敌了(Fake) 完了……比

APIO2020 粉刷墙壁

观察到 \(\sum{f(k)}^2\le 4\times 10^5\),我们可以暴力求出哪些长度为 \(M\) 的区间能够被粉刷。 然后动态规划求出最小代价: 设 \(dp_i\) 表示粉刷 \(1\) ~ \(i\) 的所有格子的最小代价。 转移方程 \(dp_i = \begin{cases} +\infty, & \text{若以 }i\text{ 为结尾的长度为 }M\tex

APIO2020游记

Day -INF~0 大型颓废现场。 Day 1 早到半个小时,先把存lg上的多项式板子拷了下来,(但貌似没啥卵用) 开题先看交互题,想了会发现好像很神仙,然后就弃了看T1T2,发现都还可以。 选择正序做题,T1有一个显然的 \(O(n(n-m)f(k))\) 的暴力,开了个单调队列优化以后想得63pts,结果就开始码码码,没想到