首页 > 其他分享 >JOI Final 2020 题解

JOI Final 2020 题解

时间:2023-06-18 10:55:40浏览次数:41  
标签:ac submission 题解 2020 https JOI qoj

JOI 2020 Just Long Neckties

首先一定是贪心将两个从小到大排。然后考虑维护 \(a_i-b_i\) 的前缀 max 与 \(a_{i+1}-b_i\) 的后缀 max 即可。

https://qoj.ac/submission/113106

JOI 2020 JJOOII 2

考虑维护出每个点往前跳 \(k\) 个 J/O/I 跳到哪里。于是枚举右端点,然后往前跳找到最大的左端点即可。

https://qoj.ac/submission/113117

JOI 2020 Collecting Stamps 3

考虑破环后设计 DP:\(f(l,r,x)\) 表示目前走遍了 \([l,r]\) 并停在了 \(l\) 并拿了 \(x\) 个邮票的最小用时,\(g(l,r,x)\) 表示停在 \(r\) 的最小用时。于是 \(f(l+1,r,x)\) 就可以转移到 \(f(l,r,x')\) 满足 \(x'=x+[f(l+1,r,x)+d_{l+1}-d_l\le t_l]\)。同时还有 \(f(l,r,x)\) 和 \(g(l,r,x)\) 的互相松弛(用 \(d_r-d_l\) 松弛)。

https://qoj.ac/submission/113146

JOI 2020 Olympic Bus

考虑对于边 \(u\to v\),翻转后对于 \(1\to n\) 和 \(n\to 1\) 的影响。以 \(1\to n\) 为例。如果 \(u\to v\) 是最短路必经边,那么就求一下删掉之后的最短路;如果不是,那么就有两种情况,取原最短路,和取反边后 \(1\to v\to u\to n\),显然两者都不会用到 \(u\to v\)。删掉之后的最短路考虑最短路图后支配树。由于这题有零边所以不能直接 DAG 支配树!暴力复杂度 \(O(nm)\) 即可。

https://qoj.ac/submission/113239

JOI 2020 Fire

首先考虑 \(L=1,R=N\) 怎么做。我们发现每个 \(s_i\) 覆盖的区间会不断右移。\(a_i\) 表示 \(s_i\) 覆盖的区间左端点开始动的时间,即最大的 \(j\) 满足 \(s[i-j,i)\le s_i\);同理 \(b_i\) 表示区间右端点停止的时间,即最大的 \(j\) 满足 \(s(i,i+j]<s_i\)。考虑 \(f_t\) 表示 \(t\) 时间的和,那么 \(s_i\) 对 \(f_t\) 的贡献是一个类似梯形的一个关于 \(t\) 的函数,我们可以轻易通过 \(a_i,b_i\) 找到 \(i\) 对 \(f\) 的二阶差分的贡献的位置。然后考虑分块,同理我们也可以对于每个块,处理出它的 \(f\),遍历每个 \(i\) 看 \(s_i\) 对这个块的 \(f\) 的二阶差分的贡献的位置。具体而言,对于块 \([L,R]\),块左边的贡献为 \(L-i\) 处 \(+s_i\),\(L-i+a_i+1\) 处 \(-s_i\),\(\min(R-i,b_i)+1\) 处 \(-s_i\),\(\min(R-i,b_i)+a_i+2\) 处 \(+s_i\)。块内部点的贡献后面两个是相同的,前面的是 \(0\) 处 \(+s_i\) 以及 \(a_i+1\) 处 \(+s_i\)。

https://qoj.ac/submission/113415

标签:ac,submission,题解,2020,https,JOI,qoj
From: https://www.cnblogs.com/TetrisCandy/p/17488813.html

相关文章

  • 蓝桥杯嵌入式第十三届客观题解析
    (文章目录)前言本篇文章将带大家来学习蓝桥杯嵌入式的客观题了,蓝桥杯嵌入式的客观题涉及到模电,数电,单片机等知识,需要非常扎实的基础,客观题不能急于求成只能脚踏实地一步步的积累,下面就让我们正式进入客观题的讲解。一、题目1第一题是一个多选题选ABC在参考手册中我们可以清......
  • 【题解】[NOIP2017 提高组] 逛公园
    题目描述:策策同学特别喜欢逛公园。公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有自环和重边。其中\(1\)号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值,代表策策经过这条边所要花的时间。策策每天都会去逛公园,他总是从\(1\)号点进去,从\(N\)号......
  • 【题解】Atcoder ABC300 F.More Holidays(线性做法)
    F.MoreHolidays题目描述:给你一个由o和x组成的长度为\(N\)的字符串\(S\),以及整数\(M\)和\(K\)。保证\(S\)至少包含一个x。假设\(T\)是由\(S\)复制\(M\)次而成的长度为\(NM\)的字符串。考虑将\(T\)中的\(K\)个x恰好替换为o。你的目标是在替换后的......
  • P2161 [SHOI2009]会场预约 题解
    蒟蒻提供一种fhq-treap的做法,但是不如其他题解的快(也没有stl快,不开O21.8s),但是比较好想,扩展了fhq的模板,也算是为使用fhq提供一个新方法。首先,fhq-treap是什么,如果有同学不清楚,请点击学习(并非我的blog)那么,由于fhq树的分裂操作,使得我们可以很方便的取出我们想要的区间。那么,在......
  • react经典面试题解析--持续更新--day01
    一、类组件和函数组件的区别(面试常考)简单理解(所有同学都要掌握)1、类组件有生命周期,函数组件没有2、类组件需要继承Class,函数组件不需要3、类组件可以获取实例化的this,并且基于this做各种操作,函数组件不行4、类组件内部可以定义并维护state,函数组件都称为无状态了,那肯定......
  • AtCoder ABC056D 题解
    题目直达0x00思路从大到小枚举每个元素,同时加入\(sum\)进行累计,当\(k\lesum\)时,便会返现之前的元素可以构成“好的组”(因为他们都大于\(p_i\)),即有用的,所以要清空。0x01举个例子36143我们对输入排序后,会得到\(p\)为。431这时,我们的\(i=1\),即\(p_i=......
  • AtCoder ABC228D 题解
    [ABC299D]FindbyQuery题解0x00题目分析题目传送门经过分析,我们得到的几个关键信息:\(n\le2\times10^5\)最多可以问法官\(20\)个问题。s[1]=0,s[n]=1分析\(n\)的范围,发现\(\log_n=17.6096\),刚好比\(20\)小一点点。这时便考虑二分的做法。看到s[1]=0,......
  • AtCoder ABC047D 题解
    题意理解&分析:大概的题意应该是十分清晰的,就是一个人要从\(1\)到\(n\)的城市中买苹果。另一个人要其中调整价格。这里的调整也不需要太多,就\(1\)就可以了。但是,如果有多组购买方案可以得到相同的利润,就还需要将其他相同的价格一并调整。这道题的关键就在于求出有几组购买......
  • joint_learners_next用例
    【leave-joint处理前】 【leave-joint处理结果】voters=(2)&&(1)learners_next=(1)处理后voters=(2)learners=(1)【逻辑】 ......
  • CF1732D1 题解
    CF1732D1Balance题解题目解释输入一个\(op\)和\(x\),\(op\)有\(2\)种情况。\(op\)为+,则将\(x\)加入到集合中。\(op\)为?,则找到一个最小的\(k\),使\(k\timesx\)不在合集中。题目非常简单明了。具体实现这时,看到这句话:\(1\lex\le10^{18}\),所以不可......