当前位置: 首页 > news >正文

家训

菜成什么样了

2156 Div.2

D

压线过了。

考虑从低位到高位判定 0/1,每次 check 的数大约减半,那么 \(time=n+\frac{n}{2}+\frac{n}{4}+\dots=2n+\epsilon\),有 \(\epsilon\) 是因为可能上一步只删了下取整个。

剪枝是如果当前位置只剩 0 或 1 了就 skip。

E

二分答案 \(g\),设 \(f_{g}(i)=\sum_{j \ne i} [b_{\max(i, j}-b_{\min(i, j)}\ge g]\)

假如 Alex 先手,那么只要有一个 \(f_{g}(i) \ge 2\) 那么他就一定能保证最终结果 \(\ge g\),因为 Alex 锁了 \(i\) 后再锁其中一个对应的数即可。

那么考虑 Hao 最开始要删谁,显然是删完它后剩下的所有 \(f<2\)

暴力枚举第一个删的数,朴素做是查影响的所有数,直接写线段树能做,但发现我们只需要维护前后最近的各最多 3 个点即可,于是暴力 check 即可(set 维护 3 个值,每次超出时把最大的删掉)。

submission

F1&F2

操作简述:选择 \(3(12/21)\) 变成 \(1(23/32)\)

如果首项为奇数 \(a_1=2k+1\),则每次选 \(a_1, a_1-1, a_1-2 \to a_1-2, a_1, a_1+1\) (后面两个先后顺序不重要)

那么最后一定会变成 \(a_1=1\),之前所有 \(<a_1\) 的数 +1

\(a_{1}=2k\),注意到我们能类似把 \(a_1\) 变成 2。

考虑一个任意位置的奇数什么时候能变成 \(1\),显然是比它小的都在它右边,

考虑最靠左的满足条件的位置 \(p\),我们操作先使得 \(a_p=1\),然后把 \(a_1=2\)

因为首位是 \(2\),所以 \(p\) 至少能被找到(即 \(a_p=1\) 算一个合法解)

这样最优的原因:考虑 \(1\le j<p\),由于 \(\forall a_{x}<a_p, x>p\),所以 \(a_j > a_p\),那么减小 \(a_p\) 的时候不会对 \([1, p)\) 产生任何影响


那么做完上述过程递归,将剩余部分变为 \(1-(n-1/n-2)\) 的排列继续操作,复杂度 \(O(n^2)\), link。

简化上述操作,就是相当于找第一个 \(2 \nmid a_{p}, \min_{1\le j \le p} a_j=a_p\)\(p\),将其变为 1(首项为偶数时),其他的相当于按相对顺序赋值 2-n。然后把 \(1\) 删除,其余前移一位,等价于开始就把 \(p\) 删掉,所有 \(>a_p\) 的数全部 -1。

重新整理操作

  1. \(p\)(若首项为奇数则直接跳过 12 到第三步)
  2. 删数 \(a_p\),并使所有 \(>a_p\) 的全部 -1。
  3. 删除首项,并使 \(>a_1\) 的数-1。

注意到 23 操作并没有影响相对大小,即不影响 1 操作。

维护 \(pos_i=k\) 表示 \(a_k=i\),找合法 \(p\),我们先满足 \(\min_{1\le j\le p} a_j=a_p \to \min_{1\le j< a_p} pos_j>p\),考虑第一步从首项开始找,即设 \(p_1=\min_{1\le j<a_1} pos_j\)(首先 \(pos_{(i, p_1)}\) 没有一个出现的比 \(p_1\) 早,\(pos_{(p_1, a_1)}\) 的不合法(因为比它们小的 \(p_1\) 在前面),故 \(p_1\) 是满足条件 \(\min_{1\le j\le p} a_j=a_p\) 的最小 \(p\)),若 \(a_{p_1}\) 此时为偶数,则找 \(p_2=\min_{1\le j<a_{p_1}} pos_j\)(显然 \(a_1>a_{p_1}>a_{p_2}\),所以 \(\min_{1\le j<a_{p_1}} pos_j\ge \min_{1\le j<a_{1}} pos_j\),即 \(a_{p_2}\ge a_{p_1}\)

http://www.hskmm.com/?act=detail&tid=40751

相关文章:

  • 线段树入门 - idle
  • 文档抽取技术在智能合同对比系统中的应用与优势分析
  • 2025年10月临江鳝丝店推荐榜:五家口碑店铺深度对比与选择指南
  • 2025年10月临江鳝丝店推荐榜单:五家特色店铺详细对比分析
  • 2025年10月临江鳝丝店详细评测:结合实地体验与行业标准
  • 2025年10月临江鳝丝店评价榜:传统与创新菜系全面解析
  • 【题解】Educational Codeforces Round 105E
  • anaconda常用命令
  • 业务人员能学低代码吗
  • 低代码只能做简单表单?复杂业务场景的适配方案
  • 2025青科会启幕,网易伏羲携游戏AI前沿实践共话未来
  • Python电力负荷预测:LSTM、GRU、DeepAR、XGBoost、Stacking、ARIMA结合多源数据融合与SHAP可解释性的研究
  • P4427 [BJOI2018] 求和
  • 白忙活这么多年!早知道有这9款软件,我少熬好几个通宵!
  • 专题:2025年医疗健康行业状况报告:投融资、脑机接口、AI担忧|附130+份报告PDF合集、图表下载
  • SQL Server创建指定数据库的账号且看不到其他任何用户创建的数据库
  • 第二十九篇
  • 专题:2025年制造业数智化发展白皮书:数字化转型与智能制造|附130+份报告PDF、数据、绘图模板汇总下载
  • Paper Reading: Symbolic Regression Enhanced Decision Trees for Classification Tasks
  • 思源笔记多端同步方案:Docker MinIO + Siyuan-unlock
  • AI辅助渗透测试小试牛刀
  • VisionPro学习笔记- CogCreateGraphicLabelTool
  • Linux内核6.15.4性能调优、网络优化与稳定性增强详解
  • [SKILL] 常用语句
  • 团队博客 1plus:团队项目NABCD方案
  • 程序员修炼之道:从小工到专家读后感(2025_10_29)
  • 软件工程学习日志2025.10.29
  • 2025年三聚氰胺饰面板源头厂家推荐榜前十强分析
  • 2025年国内冷弯型钢工厂/冷弯型钢厂家综合评测与选择指南
  • 从零开始编写一个办公软件(一、自定义窗口)