11 2020 档案
摘要:洛谷传送门 Solution 我们可以发现这个题和游走很像(虽然游走是HNOI2013,这个是HNOI2011吧) 但是这个题是要求异或和,每一位是互不干扰的,再加上期望的线性性,所以考虑每一位单独计算。 我们设 表示从 到 路径这一位异或和为 的概率
阅读全文
摘要:洛谷传送门 这个题用到了单调队列的优化,但是精髓绝不止在于此。+_+ Solution 我们先不管字典序怎么办,想想怎么求最小的 首先,因为要的是绝对值,那么考虑将 化为 ,也就是将没有景点的城市看作会减少一个景点的城市(雾 设 表示城市 \(a
阅读全文
摘要:洛谷传送门 CF传送门 Solution 题解里都是暴力的做法,这里也介绍一下。 既然要求找最小的边,那么必然要将 的边从大到小排序,然后将每条边的两个端点尽量分到不同的集合,直到分不了,就可以输出答案了。 时间复杂度: 要不是时限 秒,就都得没了 但是
阅读全文
摘要:洛谷传送门 CF传送门 弄这个题,弄了一天半,才弄完。 Solution 首先暴力的想法是直接合并串,再将 的所有后缀进行字典序的排序,最后将前 位输出。 但是发现: 存不下这么长的后缀,我们发现 的长度就是斐波那契数列,那么当
阅读全文
摘要:洛谷传送门 CF传送门 Solution 很显然的,两个队列肯定选择最强的,即使 个操作均为‘b’操作,这些操作也只和最强的 个英雄有关。 发现题目中 ,所以可以考虑状压DP。 在DP之前,还有一点问题——跳过‘p’和'b'怎么办?
阅读全文
摘要:注意!!! 和 是可以有等于 的,翻译错了 洛谷传送门 AT传送门 为什么会有两个たのしい Solution 考虑最后能够获得收入的位置,这些位置构成一个先上升再下降的序列。 那么我们可以枚举那个最高点,然后算出这个点左边递增的最大收入和右边
阅读全文
摘要:洛谷传送门 CF传送门 Description 给定一个长度为 的序列,第 个点的价值为 ,颜色为R,B,G其中的一种。 你的初始位置是 ,向左或右移动一步需要花费 的时间,但是收集某个点的价值不需要时间。 要求是收集点的时候前后两个点的颜
阅读全文
摘要:洛谷传送门 Solution 先考虑二维 对于一个点 ,要么是在第 列被消毒,要么是在第 列被消毒,考虑二分图匹配,左边是列,右边是行,求最小点覆盖即可。 回到三维 显然三分图匹配是不可的,所以要看看别的东西。 题目中给了
阅读全文
摘要:洛谷传送门 Solution 因为有 个点和 条边,所以这就是一个基环树森林。 那么题目让我们求的就是基环树的直径之和。 基环树的直径只有两种可能:1.在以环上某一点为根的子树中 2.在两颗子树中并经过环上一部分 那么分别求出两种可能的最大值然后比较大小即可。 对于第一种可能
阅读全文
摘要:洛谷传送门 CF传送门 Description 在一个长度为 的环上有指定的 个点,每个点可以选一个方向(左或右)延伸出一条长度为 的线段,问覆盖这个环的最小 Solution 因为要求最小的 ,所以可以考虑二分答案。 那么我们怎么 \(\
阅读全文
摘要:2020.10.14 CF662C Binary Table 可以拿 做,但是不会。 观察发现 ,考虑状压。 设 表示经过 次单点修改可以达到状态 的列的个数,可得状态转移方程: \[ dp_{j,k}+=d
阅读全文
摘要:吐槽一句,这题是绿的就离谱。 题意 给一条直线的斜率 和截距 ,和某一时刻 个在直线上的点的横坐标,还有每个点沿坐标轴的速度 。 问这些点在 的时间内的碰撞次数。 Solution 设某两个点在时
阅读全文
摘要:洛谷传送门 CF传送门 Solution 这题在暑假就讲了,等模拟赛出了还没做,只能亡羊补牢( ̄▽ ̄)" 先考虑如果指定经过一条边的最短路怎么求? 设此边为 ,那么考虑从 和 开始分别跑两次最短路 。设 为 到 的最
阅读全文
摘要:Solution 给我的感觉就是很暴力的计数DP。 因为再暴力,这也算个DP 那么我们可以显然的构造出一个状态 ,表示现在是第 个踏板放在某个面上,其它三个面的下一个踏板距离这个的距离为 ,当前这个踏板是/否能从地面到达。 在此
阅读全文
摘要:洛谷传送门 CF传送门 感谢同机房大神ql12345指导 Solution 因为位运算每一位之间是互不影响的,所以可以按位考虑然后将每一位的方案数相乘得到最终答案。 对于题目中的限制也可以按位拆成小限制,对于 ,如果 这一位上是 ,那么第
阅读全文
摘要:洛谷传送门 Solution 发现对于一块土地 和 ,如果 ,那么把 和 合在一组对答案是不会更劣的。 将土地按照长度和宽度排序,维护一个栈,将有必要存在的土地留下。 在最优决策下,每一组土地都是
阅读全文
摘要:Solution 这个题可以看成找一段区间书的数量最多,那么我们不难想到尺取法。 代码 #include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e5+10; int a[N],n,t; int ma
阅读全文