• 2022 9.6 模拟


    这次模拟用了大概一个半点做三道题。

    T 1 T1 T1 是白送的,就不说了

    T 2 T2 T2 的时候,一开始觉得好像很简单,但想了离散化之后排序搞,但不对。于是卡了能有很长时间吧,去看了 T 3 T3 T3.

    T 3 T3 T3 是在 Y b t O J YbtOJ YbtOJ 上面做过的原题。用 t a r j a n tarjan tarjan 缩点之后建一个新图,然后根据题意进行更新答案即可。但是交上去之后发现 T L E TLE TLE 了一个点,很神奇,把数组开小之后,竟然 T L E TLE TLE 的点变多了。考完之后去 l u o g u luogu luogu 上测,发现两份代码都能跑过,就很玄学。

    然后回去看 T 2 T2 T2。教练在群里说了一句,别把题想的太难。我把之前的思路都给放弃了重新看。看到数据范围,正解大概是 O ( n log ⁡ n ) O(n \log n) O(nlogn) 的做法,而且给的 l l l r r r 的范围显然不能建线段树这种东西。

    重新想,发现这道题的区间虽然有包含,但是静态的。而且要求第 k k k 小值,如果在一个数组中,很容易就会想到二分。本题也一样,可以进行二分。每次二分一个 x x x,看 n n n 个区间所有 ≤ x \leq x x 的值有多少,跟 k k k 比较,这样最后就能二分出答案了。

    总结: T 2 T2 T2 确实不难,但自己想了很长时间,对于一些基础算法的掌握不扎实,对于模型的建立不够好。以后在做题的时候,要多思考,与之前学过的算法比较,建立解题思路。

    最后,一句经典的话非常适合这次考试: S t o p Stop Stop l e a r n i n g learning learning u s e l e s s useless useless a l g o r i t h m s algorithms algorithms , , , l e a r n learn learn n o w now now t o to to u s e use use b i n a r y binary binary s e a r c h ! search! search!

  • 相关阅读:
    Java基础教程详解:多线程(1)-----多线程概念
    matlab运行CLBP程序为什么没有图?
    医学之细胞组织基因(完整)
    【MySQL】视图操作
    实验7 Spark初级编程实践
    Neuron v2.2.2 发布:MQTT插件功能提升 、新增OPC DA驱动
    muduo源码剖析之TcpServer服务端
    学会多线程&高并发,敢于向大厂“开炮”
    设计模式 | 策略模式
    Python基础学习019--跳过
  • 原文地址:https://blog.csdn.net/glorious_dream/article/details/126734793