首页 > 其他分享 >做题记录

做题记录

时间:2025-01-10 10:55:06浏览次数:6  
标签:limits 记录 sum tag 答案 全局

CF1671E

注意到不同子树间的答案独立。那么对于 \(u\) 为根的子树,其贡献应该是其左儿子乘右儿子再乘它自己的方案。那么由于它自己的方案只与 \(f(l),f(r)\) 有关,所以当其操作后能使答案贡献增加,当且仅当 \(f(l) \ne f(r)\)。为了排除儿子自身的影响,我们将 \(f(x)\) 视为 \(x\) 为根子树中遍历得到字典序最小的序列。那么只要 \(f(l) \ne f(r)\),\(u\) 就会对答案贡献 \(2\) 倍,因为可以不交换。时间复杂度 \(O(n 2^n)\)。

CF1485F

考虑暴力 DP。定义状态函数 \(f_{i,j}\) 表示前 \(i\) 个数,\(\sum\limits_{k=1}^{i} a_k =j\) 时的方案数。对于情况 \(1\),我们有:\(f_{i,j}=f_{i-1,j-b_i}\)。对于情况 \(2\),我们有:\(f_{i,b_i}=\sum\limits_{j=-V}^{V} f_{i-1,b_i-j}\)。其中 \(V\) 为值域,我们可以将 \(V\) 视作 \(\inf\)。那么有:\(f_{i,b_i}=\sum\limits_{j=-V}^{V} f_{i-1,j}\)。

整理一下,有:\(f_{i,j+b_i}=f_{i-1,j},f_{i,b_i}=\sum\limits_{j=-V}^{V} f_{i-1,j}\)。不难发现,我们每次相当于将第二维同时增加了 \(b_i\),而后面是个全局 \(sum\)。这里有个很典的 trick,我们记录 \(tag\) 表示整体右移的大小。那么这次转移较初始状态右移了 \(tag=\sum\limits_{j=1}^{i} b_j\)。我们还原到初始状态,就有:\(f_{i,j}=f_{i-1,j},f_{i,b_i-tag}=sum\)。记 \(s_i=\sum\limits_{j=1}^{i} b_j\),有:\(f_{i,-s_{i-1}}=sum\)。然后就做完了,由于第一个转移相当于直接赋值,所以只需要维护 \(f_{i,-s_{i-1}}=sum\),记录全局 \(sum\) 即可。答案也为全局 \(sum\)。时间复杂度 \(O(n \log n)\)。

标签:limits,记录,sum,tag,答案,全局
From: https://www.cnblogs.com/harmisyz/p/18663586

相关文章

  • 做题记录
    CF600E线段树合并典题。P3899可以发现\(a\)固定了所以可以分讨。当\(a\)在\(b\)下面时,可以发现\(b\)能取的个数是\(\min(k,dep_a-1)\)而\(c\)的个数就是\(siz_a-1\)然后乘起来就是总方案数。当\(a\)在\(b\)上面时,可以推出\(dep_b-dep_a\leqk\)并且\(b......
  • markdown学习记录
    markdown学习标题标题用“#”字体这是加粗(两个星号)这是倾斜(一个星号)加粗+倾斜(三个星号)这是删除线(两个~~)引用大于号是引用分割线(“---”或“***”)插入图片!+[名称]+(URL)超链接[地址名]+(网址)我的博客地址列表有序用数字,无序用“-”号ABCEFG表格......
  • [CF2057F] Formation 做题记录
    link对我比较有意义的一道题目。我们先逐步分析,对于单个询问,先钦定最大值位置\(i\),我们现在的目标是最大化\(a_i\)的值。这显然有单调性,考虑二分一个\(mid\)表示最终值,那么会出现一个\(l(l\lei)\)以及一个序列\(c_{0\dotsl-1}\)有\(c_i=\lceil\dfrac{mid}{2......
  • linux网桥(Linux Bridge)的一些个人记录
    目录1.LinuxBridge简述2.网桥创建创建配置持久化在Debian/Ubuntu系统上:在CentOS/RHEL系统上:启用和验证3.关于linux网桥不转发ip帧的问题原因解决配置持久化4.查看网桥学习交换表手动添加或删除条目添加条目删除条目配置静态条目设置条目的老化时间持久化配置5.关于linux网桥......
  • 记录---JS 的蝴蝶效应 —— 事件流
    ......
  • linux8安装oracle 11g遇到的问题记录
    大家都知道oracle11g在linux6或7上安装是没有问题的,但在linux8上安装时在link编译环节会遇见各种问题。按照oracle官网的说法,可直接跳过这些错误,等他安装完毕,然后打补丁,再重新编译即可。官网给出的方案1、InstallOracleDatabase11.2.0.4(softwareonly):Note:Ignoreany......
  • 一次web服务失去响应记录
    现象:线上服务无法对接口进行响应,接口全部超时,但是Java进程还是在运行中,jvmGC日志正常。jstack命令查看线程情况: 大量线程处于BLOCKED状态,等待锁0x00000000cbc9b9c8的释放;该锁被持有的线程:scheduling-1,是一个异步线程。 通过观察上图,发现锁在getAccessToken方法中被获取,该......
  • 2024.12 做题记录
    [CF2042D]Recommendations\(\text{Link}\)发现所求即为包含\([l,r]\)的所有区间的交的长度减去\([l,r]\)的长度。考虑所有包含\([l,r]\)的区间\([L,R]\),不难发现其满足\(L\lel,r\leR\)。由于我们要求交,所以求出满足该条件的\(L\)的最大值和\(R\)的最小值即可。扫......
  • 1.9 CW 模拟赛 赛时记录
    前言策略不变,继续搞看题\(4\)神秘,开骗\(\rm{T1}\)思路先考虑对于一个确定的\(a\)怎么做发现一个数能否被删除与删除的顺序无关,本质上是因为\(j,l\)并不因为操作而改变考虑到一个数能被删除,仅当其在前后缀中都不为最大值,也就是说可以\(\mathcal{O}(n)\)......
  • 2025 1.9 做题记录
    CF1787D这里有个很典的trick。我们将\(i+a_i\)向\(i\)连边,那么只要一个\(<0\)或\(>n\)的点能够走到\(i\),就说明\(i\)能在有限的次数内出去。这玩意跑个拓扑排序即可。那么现在我们可以考虑从\(1\)开始走,因为只能修改一个点的值,记\(u\)为\(1\)走若干步后到达的......