摘要:
最优公式 题意 有一个长为 \(n\) 的数组 \(A1,A2,…,An\)。 你需要找到两个实数 \(a\), \(b\),使得 \(\sum_{i=1}^n \sum_{j=1}^n \max (|A_i - a|, |A_j - b|)\) 尽可能小。 求出这个最小值。 容易发现答案乘上 2 阅读全文
摘要:
P3165 [CQOI2014]排序机械臂 题目链接 题意 给一个长度为$n$序列$a_1,a_2,\dots,a_n$,第$i$次操作选择第$i$小的数字,找到它的位置$p$,翻转区间$[i,p]$。 分析 先不考虑哨兵$-inf$和$inf$。 在平衡树中插入下标$1\sim n$,对每个数字$ 阅读全文
摘要:
P4291 [HAOI2008]排名系统 题目链接 题意 给一个排名系统,三种操作: \(+name~score\),名为$name$的玩家上传了新的分数$score$,他之前的分数会被删除。 \(?name\),询问名为$name$的玩家的排名,得分相同的玩家,则先得到该得分的玩家排在前面。 \( 阅读全文
摘要:
P1486 [NOI2004]郁闷的出纳员 题目链接 题意 第一行有两个整数 \(n\) 和 \(\min\)。\(n\) 表示下面有多少条命令,\(\min\) 表示工资下界。 接下来的 \(n\) 行,每行一个字符 \(x\) 和一个整数 \(k\),表示一条命令。命令可以是以下四种之一: I 阅读全文
摘要:
Splay 求一个数的前驱后继和排名和第k大的数 普通平衡树 #include<algorithm> #include<iostream> #include<cstring> #include<iomanip> #include<sstream> #include<cstdio> #include< 阅读全文
摘要:
1011-Kidnapper's Matching Problem 题意 给两个长度分别为$n$和$m$的数组$a,b$,和一个集合$S$,$a$中一个长度为$m$的子段和$b$匹配需满足$a_l \oplus b_1,a_{l+1}\oplus b_2,\dots,a_{l+m-1} \oplus 阅读全文
摘要:
J-Josephus Transform 题意 对排列$P=\left{ 1,2,\dots,n \right}$做$m$次操作,每次操作给一对数$k,x$,表示对$P$做$x$次步长为$k$的约瑟夫变换,求出最终的$P$排列。 分析 先考虑如何求一个$k$-约瑟夫变换,注意每次取出的数字是剩下的几 阅读全文
摘要:
I-Valuable Forests 题意 定义一个森林的权值为这个森林所有点的度数和,计算所有$n$个点的森林的权值和。 分析 首先我们需要学习一下 prufer 序列,得到一个公式: 一个 \(n\) 个点 \(m\) 条边的带标号无向图有 \(k\) 个连通块。第 \(i\) 个连通块的大小为 阅读全文
摘要:
1010-Expectation 题意 给一个$n$个点$m$条边的无向图,定义生成树的权值为生成树上所有边权的 \(AND\) 和,问随机选择一个生成树的权值的期望是多少。 \(n \le100,m \le 10^4,w\le 10^9\) 分析 利用基尔霍夫矩阵可以在$O(n3)$的时间内计算出 阅读全文
摘要:
1007-Go Running 题意 给定平面上 \(n\) 个点,你可以选斜率为 $1$ 与 \(−1\) 的直线去覆盖它,问最少要几条直线。 分析 对于平面上每个点有两条能覆盖它的直线,把这两条直线建点,这个点作为连接这两条直线的边,问题就转化为了二分图的最小点覆盖问题,二分图的最小点覆盖=二分 阅读全文