总想写点东西,但是写一篇博文太耗时间了,就写点小玩意罢
2023/10/1
水题乱做
CF1662D
一个神秘构造题。首先要注意到操作可逆,还要注意到字母B
有特殊性质,更要注意到题目中给的操作可以转化为互换相邻字母A
和字母B
位置。主要考察注意力
CF1662N
一个神秘计数题。注意到对于合法矩形有1个点满足相邻点都小于自己,对于非法矩形有2个点满足,利用这一性质即可将对矩形的统计转化为对点的统计。注意力++
闲话瞎讲
怎么国庆只放 7+3=2.5 天啊,差评!
2023/10/2
水题乱做
模拟赛 T1
高精度除法,不知道为什么考这个
模拟赛 T2
二分答案,转化为拓扑DP求最多有多少细菌到达终点
模拟赛 T3
模拟,不知道为什么考这个,而且题目位置是不是放错了?
模拟赛 T4
令 \(a_i\) 为红球标号,答案可表示为 \(i,j(i<j)\) 满足 \((\sum_{k=i}^{j}a_k)/(j-i+1)>M\) 的数量。利用前缀和可以将此式转化为 \((s_j-s_i)/(j-i)>M\ (s_i=\sum_{j=1}^{i}a_j)\),通过分离与 \(i,j\) 有关的项可以进一步转化为 \(s_j-j\times M>s_i-i\times M\)。令 \(b_i=s_i-i\times M\),答案即为 \(b\) 的逆序对数量。
P6477
首先从小到大枚举一个 \(i\),表示当前考虑前 \(i\) 个数。令 \(lst_c\) 为值 \(c\) 在前 \(i\) 个数中最后一次出现的下标。维护一颗线段树,下标为 \(j\) 的位置存储 \(f(j,i)\)。再考虑 i++
后末尾加入一个数 \(a_i\) 对这颗线段树的影响。不难发现,由于在 \(lst_{a_i}\) 及之前 \(a_i\) 已经出现过一次,所以只会使线段树内下标位于区间 \([lst_{a_i}+1,i]\) 内的数加一,这实际上是一个区间加操作。每次 i++
对答案的贡献即为线段树内所有数的平方和。
P3153
先咕着 再咕几天
闲话瞎讲
国庆假期结束了。上午嗓子疼,下午全身疼,感觉有点生病,但是学还得上。就这样吧。
2023/10/3
水题乱做
模拟赛 T1
令给的排序后的一堆数为 \(a_i\) ,排序后的答案为 \(x_i\) 。不难发现 \(x_1+x_2=a_1\),\(x_1+x_3=a_2\) ,如果我们知道 \(x_2+x_3\) 就可以大力解方程从而知道 \(x_1,x_2,x_3\) 了。所以不妨枚举它等于哪个 \(a_i\)。设 \(a_k=x_2+x_3\),事实上,对于 \(i\in [4,k-1]\),有 \(a_k=x_1+x_{i-1}\) 成立,也就是说可以解出 \(i\in [3,k-2]\) 时的 \(x_i\) 了。利用已经解出的 \(x\) 排除掉后面的“干扰项”,再重复以上过程,即可解出全部的 \(x\)。
这题洛谷过了,S2 没过,就很神奇。
模拟赛 T3
最简单的一道,筛就完了!
CF1765F
想象一下——建立一个坐标系,横轴表示浓度,纵轴表示价格,则溶液可看作点 \((x_i,c_i)\),一组选点方案的利润期望就是把这些点依次连起来再积分一下面积再除以一个“长度”......差不多就是这么个意思吧,反正我也是看的题解。
闲话瞎讲
又是半死不活的一天,没什么好说的,真累。但是感冒有点好转。
2023/10/4
水题乱做
CF1662L
不难发现,\(i\) 号 Kick 可以接上 \(j\) 号 Kick 等价于 \(|a_i-a_j|\le v(t_i-t_j)\) ,变形得
拆式子真快乐
可以把每个 Kick 看作点 \((v\times t_i + a_i, v\times t_i - a_i)\) 。这就变为一个二位数点问题,转化为 LIS 后瞎搞即可。要注意排除不属于第一象限的点。
CF1662F
大力 BFS ,但是找点可以用线段树,非常神奇。
CF1866L
题解讲得比我好
P2520
把 \(x\) 和 \(y\) 拆开整,发现相当于判断一个有奇偶限制的不定方程组有没有解,大力分类讨论就完了。
闲话瞎讲
今天开学,作业还没写,难受
2023/10/5
水题乱做
今天听了一晚上课,啥题都没做
闲话瞎讲
太困了,感冒还没好
2023/10/6
水题乱做
P2272
缩点成 DAG,注意到“最大半连通子图”一定是条链儿,瞎 jb DP 一下就好了。
闲话瞎讲
昨天晚上咳得太厉害,失眠了。为了不犯困,今天就喝了两瓶咖啡。困倒是不困了,就是心脏跳得贼快,感觉快去世了。