LOJ2719 「NOI2018」冒泡排序
一个排列 $P$ 的冒泡排序交换次数达到下界当且仅当:对于某个位置 $i$ ,在它左边的、比 $P_i$ 大的数的个数不能超过 $\max\{0, i-P_i\}$ 个。
这个条件也等价于:
微积分基础:极限、求导、导数的应用、积分
以下为我在校内讲课的课件。主要的参考资料为 James Stewart Calculus, 7th edition ,课件中的大部分的图片为这本书(6th or 7th edition)的截图,少部分图片来自维基百科(来自维基百科的图片均已在文中注明)。
错误可能比较多,欢迎指出。
CSAcademy Round #35 Counting Quests
对于一个序列和一个询问集合,设 $S_i$ 为包含了 $i$ 这个位置的询问的集合。一个询问集合合法当且仅当 $S_i$ 互不相同。
性质 1 :如果 $a<b<c<d, S_a=S_c, S_b=S_d$,那么 $S_a=S_b=S_c=S_d$ 。
20200328 联考
KD-Tree 学习笔记
20200325 联考
三角函数及其反函数的导数 整理+证明
LOJ2743 「JOI Open 2016」摩天大楼
Sol
假设 $A$ 按照从小到大排好序之后得到的数组是 $B$ 。对于相邻的两个位置,假设其中一个是 $B_i$ ,另一个是 $B_j$ ,其中 $i<j$ ,那么这两个位置对 $\sum |f_i - f_{i+1}|$ 的贡就是 $B_j - B_i = \sum_{k=i}^{j-1} (B_{i+1}-B_i)$ 。这个式子启发我们,对每个 $B_{i+1} - B_i$ 算有多少对相邻的位置满足其中一个数 $\le B_i$ 另一个 $\ge B_{i+1}$ ,就能得到 $\sum |f_{i+1}-f_i|$ 。这也等价于我们把所有 $\le B_i$ 的数插入之后得到的序列中,极大连续段的端点数。
设 $f_{i,j,k,d}$ 表示已经插入了 $i$ 个数,插入了的数在序列中形成了 $j$ 个极长的连续段,已经统计过的 $\sum |f_i-f_{i+1}|$ 的贡献和是 $k$ ,两个端点是否被占用过,对应的方案数。转移 $O(1)$ ,最后的答案是 $\sum_{j\le m} f_{n,1,j,2}$ ,总复杂度 $O(n^2m)$ 。