摘要: 对于一种构造,考虑怎么表示。 可以把相邻不同颜色建图连边。 注意到答案不可能小于 \(n-1\),否则图不联通,显然不可能。 考虑什么情况下是 \(n-1\)。图是一棵树。 考虑怎么构造出一棵树。 因为一种颜色出现次数大于等于这个点的度数,可以考虑可以确定叶子。 把剩余度数最小的往最大的连边,如果出 阅读全文
posted @ 2024-08-03 11:03 adam01 阅读(28) 评论(0) 推荐(0)
摘要: 首先考虑 \(n\equiv 0\pmod 3\) 的情况。 非常简单, 然后考虑 \(n\equiv 1\pmod 3\) 的情况。 只要把多出来的第一列第一行填满就行了。还要比原来情况多一个连通块。 然后考虑 \(n\equiv 2\pmod 3\) 的情况。 手玩一下,再往左上角添一点东西就行 阅读全文
posted @ 2024-08-03 11:03 adam01 阅读(30) 评论(0) 推荐(0)
摘要: 考虑每次更新就跑一遍 bfs。 \(O(n^4)\),复杂度不对? 但是注意到 \(dis\) 的最大值也就是 \(n\),每次更新 \(dis\) 至少减一。 所以最大值最多被更新 \(n\) 次,一共更新 \(O(n^3)\) 次,复杂度是对的。 直接暴力。 #include<bits/stdc 阅读全文
posted @ 2024-08-03 11:02 adam01 阅读(28) 评论(0) 推荐(0)
摘要: 因为一条边只能在 \(V_i,V_i+1\) 之间,如果把 \(V_1,V_3,\cdots\) 看作一部分,\(V_2,V_4,\cdots\) 看作一部分,这就是个二分图。 考虑一个二分图怎么“展开”成最多的集合。 考虑答案上界。上界是点对最短路的最大值加一。 如果集合个数超过上界,那么一定存在 阅读全文
posted @ 2024-08-03 11:02 adam01 阅读(30) 评论(0) 推荐(0)
摘要: 这里树的直径 \(l\) 定义为两个有硬币的点的最长距离。 做一次操作后,树的直径一定会变短。 我们发现,如果在直径端点做操作,直径减一。 在非直径端点操作,直径减二。 于是变成了一个威佐夫博弈,但是要注意的是,在直径长度为 0,1,2 的时候,每次都只能让直径减一。 因为直径长度为 1,先手必败, 阅读全文
posted @ 2024-08-03 11:01 adam01 阅读(30) 评论(0) 推荐(0)
摘要: A. Strong Password 注意到最大效果是在两个相同字符之间插入一个不同的,贡献为 3。 否则在一开始插入一个和首位不同的,贡献为 2。 #include<bits/stdc++.h> using namespace std; typedef long long ll; void sol 阅读全文
posted @ 2024-07-31 12:00 adam01 阅读(128) 评论(0) 推荐(0)
摘要: \(O(mk\alpha(n))\) 暴力,考虑对于每个询问 \(l,r\),枚举 \(1\sim l-1,r+1\sim m\),并查集连边即可。 1154 ms。 \(O(n(m+k\alpha(n)))\) 我们发现枚举 \(i\in [1,l),j\in (r,m]\) 太慢了。 考虑先预处 阅读全文
posted @ 2024-07-28 18:19 adam01 阅读(35) 评论(0) 推荐(0)
摘要: D 先对 \(a\) 从小到大排序。 将题目转化成找到最小的 \(d\),使得恰好有 \(k\) 个 \(a_i\in [b-d,b+d]\)。 对于每个询问 \(b,k\),考虑二分答案。 设待检查的答案为 \(d\),二分找到最小的 \(p1\) 使得 \(a_{p1}\geq b-d\) 和最 阅读全文
posted @ 2024-07-27 23:04 adam01 阅读(152) 评论(0) 推荐(0)
摘要: 题面 \(O(nd^2)\) 考虑 \(f(i,j,k)\) 表示 dp 到第 \(i\) 维,距离 \(p,q\) 曼哈顿距离 \(j,k\) 的方案数。 考虑朴素转移: 设 \(dis=|p_{i+1}-q_{i+1}|\)。 \[\begin{aligned} f(i+1,j+t,k+dis- 阅读全文
posted @ 2024-07-27 16:46 adam01 阅读(60) 评论(0) 推荐(0)
摘要: 题面 注意到操作只对当前行/列有效,所以只要记录当前所在行和列是否有被操作。 设 \(f(i,j,x,y)\) 表示到了位置 \((i,j)\),第 \(i\) 行是否被操作,第 \(j\) 列是否被操作的最小代价。 转移: 设 \(col = c(i,j) \oplus x \oplus y\)。 阅读全文
posted @ 2024-07-27 16:44 adam01 阅读(30) 评论(0) 推荐(0)