NOIP20240726

NOIP20240726

T1 原根

  • 题意:自己看,我累了,不想总结,也不会总结。
  • 题解:暴力模拟题,先求欧拉函数,再用两个循环枚举比 \(m\) 小的数和次方,判断统计即可。
  • 代码

T2 道路覆盖

  • 题意:潘奕帆需要将一段路分成 \(N\) 段,每段路的初始高度为 \(H_i\)。潘奕帆可以使用 \(n\) 种泥土,每种泥土具有以下属性:
    • 每种泥土只能使用一次,泥土总共使用成本必须 \(\leq M\)
    • 每种泥土可以覆盖连续的 \(k\) 段路,价格为 \(C_i\) ,使用泥土后,被覆盖的所有路段的高度会增加 \(E_i\)
      求这段路的最低高度可以达到的最高值。
  • 题解:设 \(f_{i,s}\) 为前 \(i\) 段和前 \(k\) 种泥土的状态为 \(s\) 时满足最小值也大于等于二分值的最小代价,设 \(h_{i,s}\) 为从第 \(i\) 种往前数 \(k\) 种泥土的状态为 \(s\) 时的能增加的高度,然后如果当前位高度加上这个也小于二分值的话就不合法 \(f_{i,s}=\text{INF}\),然后显然只能从 s>>1s>>1+1<<k-1 转移过来。
    最后找 \(f_{n,s}\) 中有没有 \(\le m\) 的就行了。
  • 代码

T3 迷宫花园

  • 题意:自己看
  • 题解:对于每一个点进行连边,因为距离 \(v\) 的增大只能导致距离的增加,而不能导致距离的减小。所以我们进行二分答案,带入距离跑 BFS
  • 代码
posted @ 2024-08-26 11:22  liukejie  阅读(4)  评论(0编辑  收藏  举报