\(4.5\)省选测试\(solution\)

题面可是我精心准备(咕咕咕)了一周写出来的,大家就当看故事吧(那里面的人物确实是存在的,\(E\)就是本人啦,也算是对一段经历的回忆吧,所以这套考试的题目叫——忆)

暴力分给了\([20,40]+30+[30,60]=[80,130]\)

\(std\)的代码量\(1kb+1kb+2kb\)

因为出题人自己也不喜欢很长的代码,所以就找了几个较短的题

知识点考察

\(T1:wqs\)二分\(+\)斜率优化\((P5308)\)

\(T2:\)小清新结论题\((CF351E)\)

\(T3:\)图论,最小路径覆盖\((P5769)\)

总的来说,知识点考察比较全面,还是不错的

预计得分情况人均\(100+100+[30,60]=[230,260]\)

思维难度系数\(Lv4\)

代码难度系数\(Lv2\)

综合难度系数\(Lv3\)

\(T1\)

比较显然的,既然出现了恰好\(k\)次的限制,比较容易想到\(wqs\)二分,每次需要\(O(n)\)转移

考虑优化\(O(n^2)\)

正推式子\(:\)

\(f[i]=f[j]+\frac{i-j+1}{n-j}\)

发现并不是很好搞

那么考虑一下倒推

\(f[i]\)表示从后往前进行选人还剩\(i\)个人的最大贡献

\(f[i]=\max(f[j]+\frac{i-j}{i})\)

\(f[i]=\max(f[j]+1-\frac{j}{i})\)

直接以\(i^{-1}\)为斜率就好了

凸性证明的话,如果\(k\)越大,价值越多,我们每决策一次就减去一部分贡献就好了

\(T2\)

首先全部取正

\(a_1...a_n\)

那么我们考虑代价

对所有的\(i<j\)

要产生逆序对

\(Sit_1:a_i<a_j\)

\(sol_1:j取反\)

\(sol_2:i,j取反\)

\(Sit_2:a_i>a_j\)

\(sol_1:\)都不取反

\(sol_2:j\)取反

那么对于每一个\(i\)进行两个决策

我们考虑我们决策的话为了保证逆序对不重复

那么我们只需要对于目前最大的数字求一下贡献就好了,或者说,每个数都会比自己小的数进行逆序对统计

那么我们的贡献就是取正,右边小的,取负,左边小的,直接求就好了

\(T3\)

原本是要出\(NOI2016\)循环之美的

至于换题的原因嘛,\(MD\)代码怎么才\(1kb,\)教练不得吐槽我\(?\)

那我换成\(2kb\)的目前的\(T3\)了。。。\(kx\)

对于航线之间的关系建图,然后就成了最小路径覆盖问题

直接建一建图,写一个网络流板子就好了

建图的话\(:\)

考虑怎么才能从航线\(i->j\)

\(d_i+t(x_i,y_i)+p_{y_i}+f(y_i,x_j)\leq d_j\)

后记

并没有打算出很难的题,找了几道有意思的题就出了

其实做了这么多题,感觉一道题最快乐的地方是能体会到这道题的乐趣,这个算法的精妙

或许目前成绩是唯一衡量标准,但是,对一个事物的喜欢不仅仅是无论怎样都要取得好成绩,能每天在自己热爱的事业上努力着,也是一件快乐的事,\(OI\)嘛,是乐趣,如果沾染太多功利和虚伪,那就不快乐了,不是吗\(?\)

考试最开心的事也是思考的过程啊,即使最后可能没有想通,但是那份过程也是难得的快乐\(\sim\)

每个人的人生都是联通图,没有到达终点之前,我们就没资格说失败\(!\)

\(2022.4.5--Eternal\underline{}Battle\)

4.5省选模拟solution的更多相关文章

  1. 【洛谷比赛】[LnOI2019]长脖子鹿省选模拟赛 T1 题解

    今天是[LnOI2019]长脖子鹿省选模拟赛的时间,小编表示考的不怎么样,改了半天也只会改第一题,那也先呈上题解吧. T1:P5248 [LnOI2019SP]快速多项式变换(FPT) 一看这题就很手 ...

  2. @省选模拟赛03/16 - T3@ 超级树

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 一棵 k-超级树(k-SuperTree) 可按如下方法得到:取 ...

  3. 省选模拟赛 project

    solution: 最小割问题. 建如下边: (S,i,Ai)代表选用A语言编写第i个项目: (i,T,Bi)代表选用A语言编写第i个项目: 其后注意要反向连边 (i,j,D)代表选用B语言编写第i个 ...

  4. 省选模拟赛第四轮 B——O(n^4)->O(n^3)->O(n^2)

    一 稍微转化一下,就是找所有和原树差距不超过k的不同构树的个数 一个挺trick的想法是: 由于矩阵树定理的行列式的值是把邻接矩阵数值看做边权的图的所有生成树的边权乘积之和 那么如果把不存在于原树中的 ...

  5. [省选模拟]Rhyme

    考的时候脑子各种短路,用个SAM瞎搞了半天没搞出来,最后中午火急火燎的打了个SPFA才混了点分. 其实这个可以把每个模式串长度为$K-1$的字符串看作一个状态,这个用字符串Hash实现,然后我们发现这 ...

  6. [省选模拟]array

    这题真是太神了! 考试的时候冲着四十分写了个$O(\frac{N^3logN}{32})$的制杖算法. 然后就狠狠的T掉了.如果没有充分的理解单调性和应用单调性就只有10分的傻逼分拿了. 首先考虑枚举 ...

  7. NOI2019省选模拟赛 第五场

    爆炸了QAQ 传送门 \(A\) \(Mas\)的童年 这题我怎么感觉好像做过--我记得那个时候还因为没有取\(min\)结果\(100\to 0\)-- 因为是个异或我们肯定得按位考虑贡献了 把\( ...

  8. NOI2019省选模拟赛 第六场

    传送门 又炸了-- \(A\) 唐时月夜 不知道改了什么东西之后就\(A\)掉了\(.jpg\) 首先,题目保证"如果一片子水域曾经被操作过,那么在之后的施法中,这片子水域也一定会被操作&q ...

  9. 省选模拟赛 arg

    1 arg (arg.cpp/in/out, 1s, 512MB)1.1 Description给出一个长度为 m 的序列 A, 请你求出有多少种 1...n 的排列, 满足 A 是它的一个 LIS. ...

随机推荐

  1. 归约与分组 - 读《Java 8实战》

    区分Collection,Collector和collect 代码中用到的类与方法用红框标出,可从git库中查看 收集器用作高级归约 // 按货币对交易进行分组 Map<Currency, Li ...

  2. 使用pdfcrack & crunch暴力破解PDF密码

    crunch是密码字典生成器,可以根据指定的字符来生成组合密码字典. pdfcrack是Linux下一个PDF暴力破解密工具,可以使用crunch生成的密码字典来暴力破解PDF文件的密码. 注:没有强 ...

  3. swiper使用

    swiper使用 初始化 var mySwiper = new Swiper ('容器区域类', { // 存放swiper属性 }) 属性 基本属性: 1.initialSlide 设定初始化时sl ...

  4. VB.net使用Microsoft.Office.Interop.Excel对Excel进行简单的读取和写入

    环境:Visual Stadio 2017  .NET Framework 4.6.1 1.直接进入正题,新建一个控制台程序,右键引用-管理Nuget程序包,搜索Microsoft.Office.In ...

  5. 使用git提交和拉取gitee的代码

    使用git提交和拉取gitee的代码 1. 安装Git(自行摸索) 2. 在gitee新建仓库 名称和路径自己写 这两个二选一足矣 默认分支master就行 复制这个链接,待会要用 3. 新建项目目录 ...

  6. 快速选择 第k个数

    快速选择 第k个数 题目描述 给定一个序列,求第k小的数 算法思想 利用快速排序思想,算法复杂度能达到O(n)步骤如下: 1.找到排序分界点x,这里选择区间最左值 2.排序,让左边的值都小于x,右边都 ...

  7. 技术分享 | Appium 用例录制

    原文链接 下载及安装 下载地址: https://github.com/appium/appium-desktop/releases 下载对应系统的 Appium 版本,安装完成之后,点击 " ...

  8. 循序渐进 Redis 分布式锁(以及何时不用它)

    场景 假设我们有个批处理服务,实现逻辑大致是这样的: 用户在管理后台向批处理服务投递任务: 批处理服务将该任务写入数据库,立即返回: 批处理服务有启动单独线程定时从数据库获取一批未处理(或处理失败)的 ...

  9. Prometheus安装教程

    Prometheus安装教程 欢迎关注H寻梦人公众号 参考目录 docker安装Prometheus 基于docker 搭建Prometheus+Grafana prometheus官方文档 dock ...

  10. Python音频处理基础知识,这不是轻轻松松~~~

    大家好鸭,我是小熊猫 咱今天来讲一讲音频处理的基础知识上才艺~~~ 1.声音的基础 2.python读取.wav音频 欢迎加入白嫖Q群:660193417### import wave import ...