首页 > 其他分享 >2024.07.14模拟赛总结

2024.07.14模拟赛总结

时间:2024-07-14 16:58:38浏览次数:19  
标签:左子 2024.07 那么 14 线段 右子 当前 考虑 模拟

前言:又上头了

T1

赛时做法:首先,假设对答案做出贡献的是点x,y,设y的祖先且为x的儿子的点为z,那么显然,把除了z以外的所有都归入集合是最优的,因为这不会影响对y的统计且尽量满足了限制
于是就枚举点x
但这时,我不会了,我知道启发式合并可以做,但我不会(忘了),于是我想线段树合并,事实证明,还是有点难写的,码量上了5k,还另外写了一颗线段树来维护距离一个点最远的点
然后被卡常了
正解:还是考虑上面的转化,但用dfs序转化成序列后用双指针,然后看满足有K种颜色的最小区间,并和当前点的子树或除了当前点的子树的所有点的区间比较然后更新即可

T2

简单题,首先贪心的思路是显然的,每次选最大c[i]个操作
然后考虑快速维护这个过程,考虑减1的性质,就是减后交换一部分区间
于是考虑序列平衡树,每次平衡树查找后划分成4个区间,然后按序合并即可

T3

一道挺有难度且很有意思的题
首先,考虑当前的i和目标j,起点数组为a
假设\(a[i]<a[j]\),那么每次跳到下落速度更快的一定更优,因为如果在这个位置换,到目标线段的时间一定优于不换,大于就改成下落速度更慢的,类似,于是只考虑第一种
那么最优策略一定是一个类似凸包的轨迹
考虑从上往下扫起点,用单调栈,如果当前的与栈顶没交点就弹
如果当前的和次栈顶的相交时间比栈顶更早,那么就弹
记录当前点的下一个点,设为dw
那么对于每个i,一直跳dw即可,这样是\(n^2\)的
考虑优化,用倍增的思想,把dw看做父亲,就可以倍增跳然后跳到父亲与目标更优的最右的点,然后跳到父亲,最后求交点,没有交点就无解

T4

一道挺有难度且很有意思的题
首先,可以从任意一个点开始,等待一段时间后全部收掉,这是不劣于走两圈的
考虑环,直接段环成链即可,那么对于i,设从s时刻开始走,那么可得不等式:\(s+(j-i)>=T_j\),移项可得\(s>=(T_j-j)-i\),那么s最大就是右边的最大,总时间应再加上n-1即可
那么可得答案式子:\(\min_{i=1}^n(i+\max_{j=i}^{i+n-1}(T_j-j))+n-1\)
首先,内层的j的枚举范围可以改成\(n\times 2\),因为多出来的j原来的j-n也有,且j比j-n大,所以一定不优
于是就转化成了一个近似固定的形式,由于带修,所以考虑线段树
设\(minn[i]\)表示线段树节点i的左子树的答案,因为我们倍长了数组,\(maxn[i]\)表示线段树节点i的\(T_j-j\)的最大值
建树,修改简单,于是我们考虑如何更新
首先,maxn的更新是简单的,但minn可能由于右子树的改变而改变,于是我们递归左子树并考虑当前的右子树的maxn(设为mmax)对左子树中的节点的影响
分类讨论:1,为叶子,那么就直接考虑不更新和用mmax更新的优劣
2,当前的右子树的maxn更劣,那么右子树中所有答案都无效,则右子树的答案就是\(mid+1+mmax\),但不知道左子树的情况,于是递归左子树
3,当前的右子树更优,那么左子树不会改变,于是递归看右子树的优劣
这样就完成了更新,然后统计答案即可,时间复杂度\(O(n\log^2n)\)
——————————————————————————————————————————————————————————————————————————————
下次加油!!!

标签:左子,2024.07,那么,14,线段,右子,当前,考虑,模拟
From: https://www.cnblogs.com/longzhaocheng/p/18301759

相关文章

  • 014java jsp SSM乡镇自来水收费系统水价水表管理(源码+文档+PPT+开题+任务书+运行视频+
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......
  • 2024/7/14 每日一题 + 周赛P3/P4
    807.保持城市天际线问题描述给你一座由nxn个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从0开始的nxn整数矩阵grid,其中grid[r][c]表示坐落于r行c列的建筑物的高度。城市的天际线是从远处观察城市时,所有建筑物形成的外部轮廓。从东、南......
  • JDK14新特征最全详解
    JDK14一共发行了16个JEP(JDKEnhancementProposals,JDK增强提案),筛选出JDK14新特性。-343:打包工具(Incubator)-345:G1的NUMA内存分配优化-349:JFR事件流-352:非原子性的字节缓冲区映射-358:友好的空指针异常-359:Records(预览)-361:Switch表达式(标准......
  • Android 14.0 Camera2 静音时拍照去掉快门声音
    1.概述在14.0系统rom定制化开发时,在Camera2静音情况下有快门拍照声音,这就不符合使用规范了静音的情况下拍照也不应该发出声音,所以在静音拍照流程中要求去掉快门声音,接下来具体实现相关的功能2.Camera2静音拍照去掉快门声音核心代码/packages/apps/Camera2/src/co......
  • 题解:CodeForces 843A Sorting by Subsequences[模拟/排序]
    CodeForces843AA.SortingbySubsequencestimelimitpertest:1secondmemorylimitpertest:256megabytesinputstandardinputoutputstandardoutputYouaregivenasequence\(a_1, a_2, ..., a_n\)consistingofdifferentintegers.Itisrequiredtos......
  • 2024 /7/14 H3U与MD600Modbus通讯应用指导
    目录步骤一:硬件接线步骤二:变频器参数设置步骤三:软件PLC程序配置 注意事项:步骤一:硬件接线                    PLC侧485端子                           MD600变频器侧......
  • LeetCode 144. 二叉树的前序遍历
    更多题解尽在https://sugar.matrixlab.dev/algorithm每日更新。组队打卡,更多解法等你一起来参与哦!LeetCode144.二叉树的前序遍历,难度中等。classSolution{publicvoidpreorderTraversal(TreeNoderoot,List<Integer>ans){if(root==null)re......
  • 题解:CodeForces 618C Constellation[贪心/模拟]
    CodeForces618CC.Constellationtimelimitpertest:2secondsmemorylimitpertest:256megabytesinputstandardinputoutputstandardoutputCatNokuhasobtainedamapofthenightsky.Onthismap,hefoundaconstellationwithnstarsnumberedfrom......
  • 题解:CodeForces 1511 C Yet Another Card Deck[暴力/模拟]
    CodeForces1511CC.YetAnotherCardDeckDescriptionYouhaveacarddeckof\(n\)cards,numberedfromtoptobottom,i. e.thetopcardhasindex\(1\)andbottomcard —index\(n\).Eachcardhasitscolor:the\(i\)-thcardhascolor\(a_i\......
  • 基于Ubuntu 24.04 LTS安装elasticsearch-8.14.3+Kibanna
    1.安装Elasticsearch1.1下载Elasticsearch#1.更新包索引sudoaptupdate#2.升级已安装的软件包sudoaptupgrade-y#3.进入/opt目录cd/opt#4.下载Elasticsearch压缩包sudowgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8......