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