首页 > 其他分享 >10.18

10.18

时间:2024-10-19 18:21:12浏览次数:5  
标签:二分 log 钦定 10.18 序列 复杂度 小数

A.钢琴教室

线段树二分板子题,对于 \(a_i<i\) 的将 \([a_i+1,i]\) 区间加一,查询的话线段树上二分即可。

B.丰雪千里祥音颂

[PA2019] Terytoria,今年终于会写了。
钦定某一条边必走,这样状态都确定了,枚举这条边,线段树维护最大值个数即可。

C.不连续子串

所有非空子序列的非空子序列个数和。

有点厉害,显然要 \(dp\),我们钦定钦定一种子序列在最左的出现位置处统计到。
设外层子序列为 \(S\),内层子序列为 \(T\),\(f_i\) 为考虑到第 \(i\) 位且钦定 \(i\) 在 \(T\) 内的答案。
枚举 \(T\) 的上一个位置 \(j\),考虑将 \((j,i)\) 中的数填入 \(S\) 的方案数,有以下限制:

  1. \(\forall p\in(j, i),a_p = a_i\), \(a_p\) 不能选 (不然不是 \(T\) 中最左)
  2. 令 \(l\) 为最大的 \(p\in(j, i)\) 使得 \(a_p = a_i\), 必须 \(∃q\in(l, i)\) 的 \(a_q\) 选入 \(S\) (不然该方案应在 \(l\) 处被统计)
  3. 对 \(S\) 中每相邻两个数 \(p,q\), 要求 \(∀k∈(p, q),a[k]\neq a[q]\) (不然不是 \(S\) 中最左)
    复杂度 \(O(n^2)\)

D.复读机

设当前二分答案为 \(v\),我们将 \(\le\lfloor\frac{v}{2}\rfloor\) 的称为小数,反之称为大数。
小数可以连着选,都选上就好,唯一要考虑的是两个相邻小数之间能不能添上一个大数,所以我们可以用 \(\text{set}\) 在 \(O(n\log n)\) 的时间内求出若干四元组 \((i,j,l,r)\) 表示 \(v\in[l,r]\) 时,\((i,j)\) 有 \(1\) 的贡献,差分完后就变成了三元组。
对值域进行扫描线后就变成了单点加,然后把所有的询问放一块整体二分即可,复杂度 \(O(n+q)\log^2n\),可以变成 \(O(n+q)\log n\),但是我不会。

标签:二分,log,钦定,10.18,序列,复杂度,小数
From: https://www.cnblogs.com/ZepX-D/p/18478090

相关文章

  • 2024.10.18 2342版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 2024.10.18 2309版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 10.18noip联考总结
    10.18noip联考总结T1数据造的很水,按道理来说,std的\(O(64\timesn\times\log_2n)\)的做法是不能过掉极限数据的,可以进行特殊构造把std卡掉。在考场上也想到了与std相同复杂度的做法,但是在算了之后发现是不能过的,期望分数与暴力相同,所以也就没打,后面写了一个很假的做法......
  • 10.18
    学习了异常处理,在处理用户请求时,合理的异常处理能提升应用的稳定性。importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.......
  • 发癫(2024.10.14-2024.10.18)
    虽然已临近CSP复赛,但我还在不务正业更改缺省源最近几天莫名其妙的的想改一下我的缺省源。之前和现在的缺省源比较:之前:#include<stdio.h>#include<string.h>//#include<bits/stdc++.h>//#include<iostream>//usingnamespacestd;//usingstd::cin;#defineitnint#d......
  • 10.18
    10.181、tar-cvf打包格式:tar-cvf***.tar******C打包v显示打包进度f指定文件x解包2、tar-xvf解压格式:tar-xvf压缩包名.tar3、tar.gz包格式:tar-zcvf压缩包名.tar.gz****解压格式:tar-zxvf压缩包名.tar.gz4、zip文件打包格式:zip压缩......
  • 2024.10.18考试总结
    本文于github博客同步更新。A:考虑如果现在在点\(i\),能否走到编号更小的点。如果可以,那么必然存在一个\(j\geqi>a_{j}\)使得你可以走到点\(a_{j}\)。那么我们对于每个\(i\),将区间\(\left(a_{i},i\right]\)加一,从\(x\)开始能走到的编号最小的点也就是\(x\)左侧最......
  • 10.18 模拟赛
    炼石计划10月04日NOIP模拟赛#8【补题】-比赛-梦熊联盟(mna.wang)复盘T1有种div.2B的风格,没秒,想看题。T2。只判是否无解?\(k\le100\)?把\(200\)个关键连通块拿出来建图跑传递闭包不就做完了。一遍过大样例?简直不可思议,但还是把T2关了吧。用分析CF题的方......
  • 2024.10.18模拟赛反思
    2024.10.18模拟赛反思感觉今天状态不太好,整个人比较恍惚。早自习我都不知道在干什么,考试的时候脑子里也是一团糨糊(晚上提前到\(12\)点睡觉,结果状态更差了)。首先是\(T1\),开始我以为简单无向连通图的“简单”是指的仙人掌,所以想了一个点双的做法。写到一半发现做法复杂了,用最小......
  • 2024.10.18 test
    B\(n\)次操作,每次操作选择下面三个中的一个:令\(P\getsP+x_i+S\);\(S\getsS+y_i\);\(D\getsD+z_i\)。在每次操作后,\(S\getsS+D\)。询问\(P\)的最大值。\(n\le80,x,y,z\le1e9\)。由于不可能把\(P,S,D\)存进状态里,考虑拆贡献,即计算每个操作对后面的贡献。\(D\getsD+z_......