2023NOIP A层联测30 总结

2023NOIP A层联测30 总结

\(T1\) 给定一个序列 \(a\) ,有 \(m\) 次操作\(l , r , v\) ,表示将 \([l , r]\) 内的每个 \(a_i\) 变为 \(\max (a_i , v)\)

\(n \le 10^5 , m\le 10^7\)

看到 \(n\le 10^5 , m \le10^6\),赶紧打一个 \(O(m\log_2n)\) 的线段树做法,在看到 \(20pts\)\(l = 1\) ,再搞个差分,检查一下就到 \(9:30\) ,于是马上看后面的题目。

正解是 \(ST\)\(O(1)\) 修改,\(O(n\log_2n)\) 查询。

\(T2\)

有一个 \(n\) 个点 \(m\) 条边的无向图,定义一条路径的大小就是这条路径上的每一条边的权值的异或和,求最大的路径权值。

\(n , m \le10^5\)

打了一个不知道时间复杂度的 \(dfs\) ,想水 \(20pts\)

正解是线性基加上 \(trie\) 树。

\(T3\)

有一个矩形,其中有 \(k\) 个点。现在要以这每个点为斜边中点,构造 \(k\) 个斜边长度相同的等腰直角三角形,且这些三角形既不相交也不超出矩形范围,求最大的斜边长度。

\(k \le 200 , 0\le W , H \le 10^9\)

想水 \(k \le 4\) 的数据点,想到了二分,但是太麻烦了,赶紧切。

\(T4\)

有一个长度为 \(n\) 的字符串 \(s\) 只包含 \(A , B\) ,现在要选出 \(k\)\(A,B\) ,要求:

  • 每组 \(A , B\) 数量相同。
  • 每组的 \(A\) 在原字符串中的位置应该在 \(B\) 左边。

现在你可以交换若干次相邻的两个字符,期望最小的交换次数使得满足题目要求。

\(n \le 10^6 , 1\le K \le N\)

这个题后面没时间想了,但是考后发现有 \(16pts\) 还是比较好骗的,比 \(T3\) 的部分分好打。

总结:今天还是没有把该拿的分拿到,看到 \(T3\) 有点难下手后,应该马上看能不能 \(T4\) 中再水一点分,而且 \(T2\) 还是可以再深入思考一下做法,可能可以把 \(40 pts\) 想到。

posted @ 2023-11-13 22:28  2020fengziyang  阅读(13)  评论(0编辑  收藏  举报