数学 做题笔记

在这个随笔中,会有笔者的一些做题笔记,包括但不限于数学的思想、解题技巧、代码实现等。

TAG:数学,贪心,暴力

思路:从最大的数开始枚举,如果当前为是偶数,差不变。如果当前为是奇数,则往下找,知道这个 \(p^k\) 被补齐。如果补齐不了,则后面的数一直往小的加。

代码中会有提高代码效率的一行( \(35\) 行) 这一行的 need > n 把往搜索的范围控制在了 \(\log_p n\) 里。

代码

  • P5278 算术天才⑨与等差数列
  • P3792 由乃与大母神原型和偶像崇拜

TAG: 数学,乱搞

思路:对于 \(l,r,k\)

\(x = \min_{i=l}^{r}a_i\),则

\[\begin{align*} \sum a_i^2&=\sum (x+ki)^2\\ 右式 &= \sum (x^2+2kix+k^2i^2)\\ &= (r-l+1)x^2+xk(r-l)(r-l+1)+k^2\sum i^2\\ &= (r-l+1)x^2+xk(r-l)(r-l+1)+\frac{k^2(r-l)(r-l+1)(2r-2l+1)}{6} \end{align*} \]

线段树维护平方和最小值即可。

代码 for P5278 代码 for P3792

  • CF1034B Little C Loves 3 II \(\texttt{*2000}\)

TAG: 分类讨论

分类讨论 \(1\) 行、\(2\) 行的情况。代码

首先易得 \(a_1=1,a_n=n\)。然后直接让 \(xi \equiv i+1\pmod n\)。求逆元。

代码

posted @ 2024-08-18 10:09  qmwneb946  阅读(17)  评论(0编辑  收藏  举报