首页 > 其他分享 >20230719巴蜀暑期集训测试总结

20230719巴蜀暑期集训测试总结

时间:2023-07-19 19:57:29浏览次数:63  
标签:复杂度 16pts 暑期 LDS 20230719 LIS 序列 集训 dp

T1

赛时打了一个 \(O(n^3)\) \(16pts\) 暴力和一个似乎可以过一个 \(20pts\) 特殊性质但其余无正确性的贪心。结果出来发现特殊性质挂了一个点,另一个地方还莫名其妙对了。说明特殊性质挂掉了,如果运气不好可能就挂到 \(16pts\) 了。考后看题解发现 \(O(n^2)\) 其实也是不难想的,有点可惜。

设 \(dp_{i, x, y}\) 表示考虑前 \(i\) 个数,第一个子序列最大值为 \(x\),第二个子序列最小值为 \(y\) 时的答案,暴力转移复杂度 \(O(n^3)\)。

观察发现,对于 \(dp_{i,x,y}\):

  • 如果 \(x>y\),则之后的位置两个序列的选择已经互不影响,可以直接预处理后缀 LIS 和 LDS,可以直接得到答案。将这种状态称为无效状态。

  • 如果 \(x<y\),则第一个序列的所有元素都小于第二个序列的所有元素。意味着 \(y\) 即是 \(x\) 在 \(a_{1\sim i}\) 中的后继。故对于每个 \(i\) 只有 \(i\) 个状态,共 \(O(n^2)\) 个状态。可以做到 \(O(n^2)\) 的时间复杂度。

对于无效的状态,不妨设 \(dp_{i-1,x,y}\) 转移到了 \(dp_{i,x,a_i}(x>a_i)\)。则答案为 \(dp_{i-1,x,y}+1+LIS_{i,x}+LDS_{i+1,a_{i+1}}\) 其中 \(LIS_{i,x}\) 表示 \(a[i\sim n]\) 中只考虑 \(\ge x\) 的数时的 LIS。LDS 类似。

这个式子中 \(LDS_{i+1,a_{i+1}}\) 在 \(i\) 一定时不变。而 \(LIS_{i,x}\) 在 \(x\) 上的变化(\(LIS_{i,1},LIS_{i,2}\dots,LIS_{i,n}\))相当于 \(O(n)\) 段区间加(转化成倒序求 LDS 后当前数值和被替换的数值之间的值会 \(+1\),可以画个图理解)。

于是可以用线段树维护有效状态中 \(dp_{i,x,y}+LIS_{i+1,x}\) 的值。

对另一种情况的操作类似。

时间复杂度 \(O(n\log n)\)。

标签:复杂度,16pts,暑期,LDS,20230719,LIS,序列,集训,dp
From: https://www.cnblogs.com/dks-and-xiao-yu/p/17566572.html

相关文章

  • 【学习记录】2023年暑期ACM训练
    学习记录7月16日集训正式开始前一天,搬东西到了机房,在我的老古董笔记本上配置好了环境。这半个月来基本没有写代码,目前非常生疏。晚上在VJudge上拉了个热身赛,做了些简单的签到题,稍微找回了些手感。有一道计算几何的题目有思路,但是卡在了代码实现上,毕竟还没有系统学过。7月17日&......
  • “范式杯”2023牛客暑期多校训练营1 蒻蒟题解
    A.AlmostCorrect题意:给定一个01串,要求构造一系列排序操作(xi,yi),使得经过这些排序操作后可以使与给定01串等长的所有其他01串完全排好序,而给定的01串无法完全排好序Solution构造题我们考虑到对0和1的位置进行统计,统计得出最左边的1的位置为l,最右边的0的位置为r我们进行三次......
  • 集训游记 7.19-7.20 图论
    最小生成树MSTP5994[PA2014]Kuglarz考虑连边\(i,j\)表示花费代价知道区间\([i,j)\)的奇偶性.容易发现\(i,j\)联通就可以发现表示出\([i,j)\).考虑最终局面,一定要推出每个\([i,i+1)\)的奇偶性.要求每对\([i,i+1)\)联通.即整张图联通.最小生成树k条白边最小生成树......
  • 20230718巴蜀暑期集训测试总结
    T1做了\(3h\),时间复杂度不对,小样例都还有一个没过。考虑容斥,不连通的情况枚举\(1\)号点所在连通块。设\(f_{S,i}\)表示\(S\)连通且选了\(i\)条边的方案数。设\(inb_s\)表示\(S\)内部的边数。那么有转移:\[f_{S,i}=\binom{inb_S}i-\sum_{T\subsetneqqS,1\inT}......
  • 2023ACM暑期集训 DAY 3
    目前进度——动态规划1:线性dp、背包问题,区间好题1012[NOIP1999]拦截导弹前言本题不重要,重要的是关于伪单调栈求最长单调子序列的理解。伪单调栈求最长单调子序列的一些理解重点最终伪单调栈中的序列不一定是最长单调子序列。以最长上升子序列为例,解释操作的意图。若目前......
  • 暑期熔炉7月16
    幻觉贸易阶级电梯高级魔术高级发明演员失业电缆失窃共同富裕共享恐惧笔记 包装类基本数据类型及对应的包装类序号基本数据类型包装类1byteByte2shortShort3intInteger4longLong5charCharacter6floatFloat7doubleDouble8boolea......
  • 你省(福建)省队集训模拟赛题解
    Day5$\texttt{T1}$简要题意有两个正整数\(a<b\le10^9\),给出\(\dfrac{a}{b}\)的小数点后\(19\)位,要求还原\(a,b\),保证有解。solution一个科技:\(\texttt{Stern-Brocottree}(SBT)\),可以参考这个博客学习。先给出$O(n)$找的代码#include<bits/stdc++.h>#defineLL......
  • 2023ACM暑期集训 DAY 2
    模拟赛1题解A上班代码点击查看代码#include<bits/stdc++.h>usingnamespacestd;intx,y,z;intmain(){cin>>x>>y>>z;printf("%d",x+min(y,z));}B 崇拜代码点击查看代码#include<bits/stdc++.h>#definelllonglong#define......
  • 暑期 7.15 第一周博客总结
    在这一周中我学习了SSM的基本框架,学习了springboot与mybats等的基本知识,我也学习了b站上黑马程序员最新出的javaweb的视频教程,我又深入学习了一下javascri的语法。1.我学习了浏览器弹出框的警告:window.alert("")//浏览器弹出警示框document.alert("")//写入html在浏览器展示co......
  • 题解 P2839【[国家集训队] middle】
    Problem一个长度为\(n\)的序列\(a\),设其排过序之后为\(b\),其中位数定义为\(b_{n/2}\),其中\(a,b\)从\(0\)开始标号,除法下取整。给你一个长度为\(n\)的序列\(s\)。回答\(Q\)个这样的询问:\(s\)的左端点在\([a,b]\)之间,右端点在\([c,d]\)之间的子区间中,最大的中......