首页 > 其他分享 >杂题总结 Vol.3

杂题总结 Vol.3

时间:2024-09-19 17:14:32浏览次数:1  
标签:总结 Vol.3 BA 一个 text 2024 textcolor 杂题 def

杂题总结 Vol.3

\(\def\EZ{\textcolor{#51af44}{\text{EZ}}}\EZ\) 表示简单,10分钟内就能想到。
\(\def\HD{\textcolor{#3173b3}{\text{HD}}}\HD\) 表示中等,能独立想出
\(\def\IN{\textcolor{#be2d23}{\text{IN}}}\IN\) 表示困难,独立思考能想到 \(50\%\) 以上
\(\def\AT{\textcolor{#383838}{\text{AT}}}\AT\) 表示非常困难,独立思考只能想出 \(50\%\) 以下

JOI 2024 Final [2024-09-18]

P10208 [JOI 2024 Final] 礼物交换

\(\IN\)

本题再次提示我们,忘记了一个定理不要慌。。。也许不要定理结论也能出来。


由于本题连边关系非常特殊,排序之后就会变成前缀后缀。如果把 AB 排序放到一个序列里面,那么此时就可以发现,我们要的匹配就是要求 B 与右边的 A 匹配,而且不能匹自己。

我们发现每个 B 都是往后匹配的,且每个 B 往后都至少有其自己的 A,但是不能只有其自己的 A,都必须至少要有一个别人的 A,对于所有的,包括最后一组 BA 都是这样,换句话说,如果从 B 到 A 是一个区间,每个区间都必须至少有一个相交(包含或被包含也算相交)的才可以。

再次理解一下,一个区间 BA 右边如果有 K 个 BA,那么 B 右边至少也是有 K+1 个 A 的,但是自己那个 A 不能用,如果要用别人的一个 A,就必须把自己的 A 拿出去交换,换句话说,当前这组 BA 至少有一个 B 能够吃到这个 A,否则别人的就不够了。

每次都排序是不行的。但是这里有一个 Trick,如果多次询问在一个区间内是否存在满足条件的元素、元素对,可以对于每一个位置、元素求出上、下一个满足条件的元素在哪里,从而转化为只关于判断前驱后继位置的询问,可以考虑离线询问后扫描线做。

典例:P1972 [SDOI2009] HH的项链

P10207 [JOI 2024 Final] 马拉松比赛 2

\(\IN^{-}\)

要对自己有自信,不要摆,仔细考虑每一个想法。


本来想出了 81pts 的 DP,但是我好像不太相信自己能写出 DP,然后没继续想。

有一种天真的想法是从 \(S\) 出发之后先走到一个端点把球全拿了,然后折回终点。

但是这个是不对的,因为有可能有一边球特别多,全拿了会导致代价飙高。

以上要对必须满足两个性质:1. 折返的时候经过的球必须拿 2. 靠远的必须比靠近的先拿

2 是肯定正确的。但是 1 不一定是对的,实际上不一定要一次性拿走。

但是这个告诉我们,保留的球一定是一段。故可设 \(f_{l,r,0/1}\) 表示若从左边第一个开始,当前还剩下 \([l,r]\) 中没有拿,且当前在左边/右边端点。计算答案的时候把它与 \(S,G\) 拼上即可。当然,也不一定从左边第一个开始,再设一个 \(g\) 表示从右边第一个开始的那种,转移一样。

标签:总结,Vol.3,BA,一个,text,2024,textcolor,杂题,def
From: https://www.cnblogs.com/haozexu/p/18420973

相关文章

  • MySQL强化篇指优化思路总结
    基础--连接退出数据库连接:mysql-h地址-P接口-u用户名-p密码退出:exit或者/q数据库操作关键字create创建数据库createdatabase数据库名如:createdatabasetestdefaultcharsetutf8关键字show查看当前有哪些数据库showdatabase;查看创建数据库的语句......
  • React升级18总结
    升级1818有哪些更新root节点的处理//旧ReactDOM.render(<App/>,document.getElementById('root'));//新constroot=createRoot(document.getElementById("root"));root.render(App);render中移除了回调函数//旧constcontainer=document.getElementB......
  • 代码随想录总结篇
    数组一般是排序以及索引问题链表翻转,重组,环问题哈希(map)hash暂存结果实现时间复杂度缩小字符串翻转,kmp算法,最长公共序列双指针快慢指针,左右指针栈队列先入先出后入先出二叉树二叉树dfs,bfsdfs计算深度高度二叉搜索树相关问题回溯递归三部曲参数返回值,终止条......
  • 2024.09.19短时训练赛总结
    $T1$感觉没有蓝,只有中绿左右。赛时写了正解,漏了个$+$号,寄了,然后逆元处理了$inv$,但是不知道为什么写的是快速幂,于是就T了。考虑枚举两端改变,中间随便的区间$[i,j]$,然后乱搞即可。$\color{black}{zzzcr}$有一个$O(n)$的做法是考虑双指针,然后对于有交的区......
  • 终于有人总结了大模型技术!
    本文分为三个章节,深入浅出地解读大模型的技术,具体如下三个部分*1、GPT、LLaMA、ChatGLM、Falcon等大语言模型的技术细节比较*在深入研究LLaMA、ChatGLM和Falcon等大语言模型时,我们不难发现它们在技术实现上有着诸多共通之处与独特差异。例如,这些模型在tokenizer(分词器)的......
  • 深度学习:常用的损失函数的使用和损失函数学习总结
    1.损失函数的概念        损失函数是监督学习中的一个核心概念,用于衡量模型预测的结果与真实值之间的差距。在机器学习模型的训练过程中,损失函数计算预测值与实际标签之间的误差,训练的目标就是通过优化算法(如梯度下降)最小化这个损失函数,从而使模型在给定数据集上的表......
  • java代码-编译-打包-执行_云原生时代笔记总结
    楔子:可能201几年开发的时候,有个ide,加上打包插件,就可以开发了,测试的时候war包扔到服务器容器里就可以跑起来了。(而且没有做过批处理的小伙伴对jar包执行可能不甚熟悉,只见过web容器的目录结构和lib中的jar包。)但是2015年之后应该是全面进入,云原生时代。大量操作需要linux命令行......
  • 自动化测试 RobotFramework-ride使用相关总结
    开发环境win11家庭中文版Python3.9.13robotframework6.1.1说明:为了方便的使用robot命令,安装好robotframwork后,修改系统环境,添加robot.exe(PYTHON_HOME/Scripts/robot.exe)所在路径到系统环境变量path安装参考连接:https://github.com/robotframework/robotframework/blob/mast......
  • 20240918 模拟赛总结
    期望得分:100+100+15=215实际得分:100+25+0=125?????????????????????????????????????不是哥们T1签到题,倒着做二分即可。T2我服了啊,我以为复杂度有点假,可能T掉几个点,结果挂成n^2了,怎么回事呢???第一眼想到的就是CF888G那个异或完全图最小生成树,当时只想了Kruskal的做法,这次也想照搬啊,实现就用了普通线段树+......
  • 试用完几十款ETL工具后的经验总结,ETL工具用这三款就足够了
    1.ETL选型前言市面上ETL工具国内外加起来估计得有30种之多,其中近20款工具都花时间试用过,现在把试用后总结出来的经验分享一下,目前很多企业在选择ETL工具时不知道怎么选择适合自己的工具也不可能一款一款的去试用,试用成本非常高,而且不同企业数据量,对数据质量的要求,技术开发人员的......