8.1 NOIP 模拟赛总结

8.1 NOIP 模拟赛总结

T1

给你一个含有 \(n\) 个问号的形如 max(?,max(?,min(?,?))) 的表达式,将 \(1...n\) 填入 \(n\) 个问号中,求表达式一共有多少种可能的答案。

首先写的 \(10\ pts\) 的全排列,然后想了一会想不出来,就直接扬了。

直接是二叉树,很神奇。

T2

首先想暴力。

发现每回选一个点往外拓,然后比他小的直接吃掉。

然后发现直接暴力的话还要考虑返回,很麻烦。

过了 \(10\ min\) 发现可以用优先队列保证不用返回。

写完就交上去了。

然后发现两个规律:

  • 如果这个点可以统一,那么和它相连的点中比他大的点也可以统一,然后就可以一步一步往外拓。

  • 如果这个点不可以统一,那么和它相连的点中比他小的点也可以统一,然后就可以一步一步往外拓。

  • 考后发现:在这个点拓展的路径上也满足这个规律。

然后加上这个规律交上去,赛后发现过不去;

然后怕暴力写挂就码了个 \(Subtask\ 2\)

\(Subtask\ 2\)

就是优化枚举顺序加个并查集。

关于 \(\texttt {ZXK}\) 看到排序和并查集想到重构树这件事……(呜呜呜,我为什么没想到 \(QwQ\)

Kruskal I love You

T3

只看有一组的情况,胡推了个 \(5\ pts\) 柿子。

T4

没看……懂……

posted @ 2024-08-02 17:51  whrwlx  阅读(6)  评论(0编辑  收藏  举报