标签:math 区间 决定 n+1 枚举 丢失 函数 维护 https
这一场偏简单,我终于可以补完题了
代码就不放了。
题目大意:给你 \(n\) 个数,每次可以对任意一个数 \(+1\),求最少需要多少次操作使得最后所有数的和与积均不为 \(0\)。
将所有 \(0\) 全部加 \(1\) 后判断和是否为零即可。
题目大意:给你 \(2n\) 个数,将它们分成两组,且每组必须有奇数个,使得分组后两组的中位数之差最小,并输出差值。
首先将数列排序。
考虑让每个数作为其中一组的中位数,容易发现若要使差值最小,则中位数两边的数一定可以在两组中随意调换而不影响中位数(反证法易得)。所以我们枚举每个数,使其单独成组,另一组直接求得即可。
由此可以推出最终答案即为 \(a_{n+1}-a_{n}\)。
时间复杂度为 \(O(nlog_2n)\),即排序复杂度。
div1A自闭日常。。。
题目大意:定义函数 \(f(x,y)=(x|y)-y\),给定数列 \({a_n}\),决定每个数的位置,使得 \(f(f(a_1,a_2),a_3)...a_n)\) 的值最大。
首先可以比较轻松的得到 \(f(x,y)=x\&(\sim y)\)。
那么我们可以将最后的答案写成 \(a_1\&(\sim a_2)\&(\sim a_3)\&...\&(\sim a_n)\)。那么我们发现,最终答案只与\(a_1\)有关。
所以我们可以枚举每个数作为 \(a_1\),记录取反后前缀或、后缀或,就可以在 \(O(n)\) 的时间复杂度内解决问题。
大型猜结论现场
题目大意:给定一个凸多边形,判断其所有平移后点 \((0,0)\) 在其内部的所有图形的并是否与原图形相似。
有偶数点的中心对称的凸多边形满足条件。感性证明选手
通过向量可以在不丢失精度的情况下判断。
题目大意:给定一个数列 \(a_n\),每次你可以将一段区间赋值为其区间内数的平均数,使得最后 \(a_n\) 是一个递增序列,且字典序最小。
现在看来真的很裸,直接使用单调栈维护即可。
(比赛时咋没想出来呢)
记得用 \(\texttt{printf}\)。(血与泪的教训)
Codeforces Round #618 (Div. 2)
标签:math 区间 决定 n+1 枚举 丢失 函数 维护 https
原文地址:https://www.cnblogs.com/HenryHuang-Never-Settle/p/CF618_div2.html