摘要: 好像是某道CF问题的变形, 记一下. 题目描述 有若干的排列在一条直线上的点$p_i$, 每个点上有$a_i$个人, 找出一个点, 使得所有人移动带这个人的位置上的总距离最小. 结论. 从左到右累加人数, 寻找刚刚过半的人数. 证明. (扰动法) 若$\sum_{i=1}^{x-1}<\sum a_ 阅读全文
posted @ 2022-11-07 21:34 Micoael_Primo 阅读(51) 评论(0) 推荐(0)
摘要: 前缀和 对于二维前缀和, 令$b[n][m]$是$\sum_{i=1}^n\sum_{j=1}^ma_{ij}$ 的值, 那么因为容斥原理, 有 $$ b[i][j] = b[i-1][j]+b[i][j-1]-b[i-1][j-1]+a[i][j]. $$ 要是查询$(a,b)..(c,d)$的话 阅读全文
posted @ 2022-11-07 21:23 Micoael_Primo 阅读(38) 评论(0) 推荐(0)
摘要: Idea 注意到中位数只关心数据的相对大小, 因此考虑从目标数字开始往两边求前/后缀和, 接下来使用乘法原理来进行组合即可. 可以用map统计. 第一次感觉只要看一看扩展, 当时忽略了这些扩展之间可以组合. Code #include <bits/stdc++.h> using namespace 阅读全文
posted @ 2022-11-07 11:45 Micoael_Primo 阅读(22) 评论(0) 推荐(0)