马上要NOIP了,感觉还是什么不会。
文化课大摆烂,期中考试一塌糊涂
知道自己水平,但是一等基本稳了,而距离省队却又差了不少,可是总还是想冲一冲,想要抓住那面积为0的可能性。
11-18
今天是lxl的模拟赛,有、毒瘤
以及题目名称设计别出心裁。
· 【模拟赛#5】a
大概是求俩序列的最长公共子序列,但是 \(n=1e6,m=1e3\) ,不能直接 \(\mathcal O(nm)\) ,但是可以dp答案,就可以做到 \(\mathcal O(m^2\log n)\)
· 【模拟赛#5】b
相当于找到一些不相交的环然后删掉,可以仿造 \(tarjan\) 算法,找到一个返祖边就把它所构造的环删去,然后所有边至多删掉一次,因此最终是线性的算法。
赛时脑瘫没有想到可以直接继续dfs,而不需要重新跑一遍。姑且认为是我太困导致状态不好
· 【模拟赛#5】c
最后10min想到了正解,然后意识到肯定写不完,极度折磨。
可以发现我们要求的是
设 \(a_x=dis(s,x)+x^2,b_x=dis(x,t)+x^2\)
那么就有我们要最小化 \(a_x+b_y-2xy\)
到这一步zry和wyp都看出来了分离 \(b_y-2xy\) 的做法,然而我卡住了,大抵是没有做过类似的题目的缘故。
枚举 \(a_x\) ,然后 \(b_y-2xy\) 可以变成一条直线,而直线的维护方法就很多了,比如李超线段树,二分栈,都是可以做的,复杂度是 \(\mathcal O((n+m)\log n)\) 的。
· 【模拟赛#5】d
首先肯定可以转化为求区间最大值之积的问题,然后枚举 \(r\) 可以用单调栈维护 \(l=x\) 时的区间最大值,然后每次加入一个点都是推平操作,我们需要维护三个序列最大值之积,那么推平的过程中就需要维护剩下两个序列的最大值之积,从而我们需要维护两两序列的最大值之积。
这样加上每个序列我们需要维护 \(7\) 棵线段树,考场上思路没有理清楚,加上觉得要维护一堆东西,就放弃了。
最后成绩: \(100+0+50+44=194pts\) 状态不佳。
标签:11,最大值,之积,序列,维护,日记,模拟,dis From: https://www.cnblogs.com/loverpaul/p/16905259.html