20210809K 复盘

看场溜一眼题发现 t4 非常原题,cqoi 的染色。

\({\cal O}(n^3)\)​ 的做法至少能拿绝大多的分数,先写了把样例测了没毛病

回头看 t1 发现是个简单期望,分开考虑算下方案数再快速幂一下用 1 减去再加起来就行了,很暴力的 \({\cal O}(nm)\)

看 t2 发现显然是同余最短路,于是先写了

9:00 写完了,然后调样例发现差 1,原来是 0 没有考虑到。哦这样

然后在求第二问的时候陷入了困境...

哦然后瞪了一会发现这不就是 dis - a[1] 取个 max 的事吗,写写写

然后看 t3,没思路...

后来发现,把点线距离公式拆开来,再加起来是一个二元多项式,求一个使得该多项式值最小的 \(x,\ y\) 取值。

随后企图线段树分治 + 模拟退火办这个事,不确定能拿多少。最后未完成。

300pts,所幸没有挂分


s2oj579 A.龙妹妹喝牛奶

根据期望的线性性,求每个点在 \(k\)​ 次选择之中被覆盖过的概率加起来即可。

概率用方案数求,根据该点左上右上右下左下四个区域可以计算不同方案数。总方案数是 \(n^2m^2\) 种。

除一下得到一个点一次选择被覆盖的概率

拿 1 减去得到一个点一次选择不被覆盖的概率

拿上面的求 \(k\)​ 次幂得到 \(k\)​ 次选择都不覆盖的概率

拿 1 减去得到在 \(k\) 次之内覆盖的概率

再加起来就可以了。根据求解的过程可以适当优化常数

s2oj580 B.枯法者训练

显然是同余最短路。跑一下

不建实边,直接在跑最短路的过程中枚举转移会快非常多

然后关于两问的答案:

  • 对于模 \(a[1]\) 剩余系下的每个数 \([0,\ a[1]-1]\),小于 \(dis\) 的同一个同余类的数都是不可表示的,根据这个统计出不能表示的数的个数
  • 取所有 \(dis[i]-i\) 的数,它是模 \(a[1]\)\(i\) 的所有数中不能被表示的最大数。对这些数取 \(\max\) 即是答案

s2oj581. C.没名字

拆式子发现是一个二元多项式,求一组实数解使得多项式的值最小。

ycs: 显然这就指向了某种纯数学方法,这就跟数据结构没有关系了

分别对 \(x\)\(y\)偏导,然后解某些方程...可以做到 \({\cal O}(1)\) 修改,\({\cal O}(1)\) 查询

由于对高数的无知,不懂偏导,至今尚不完全清楚,留待研究

s2oj582. D.线段树

序列染色问题,原题是 CQOI

使用一个区间 dp,复杂度上界是 \({\cal O}(n^3)\)​,但是除非\(n\)​ 的排列这种情况否则都跑不满

数据好像不是很卡,可以三方过。

posted @ 2021-08-09 19:56  熹圜  阅读(6)  评论(0编辑  收藏  举报