NOIP20240804

NOIP20240804

T1 A-B

  • 题意:给出一串数以及一个数字 \(C\),要求计算出所有 \(A-B=C\) 的数对的个数。(不同位置的数字一样的数对算不同的数对)
  • 题解:map 维护即可。

队测时数据有变,需要特判 \(N=0\)

T2 吉波那契数列

  • 题意:告诉你数列的第 \(i\)\(G_i\) 和两个正整数 \(i\)\(j\),定义 \(G_n=G_{n-1}+G_{n-2}\),要你计算出数列的第 \(j\)\(G_j \bmod 19960515\)。数列的初始条件是 \(G_0=1\)\(G_1=t\)\(t\) 是一个未知数。
  • 题解:可算出 \(G_i=F_{i-1}\times t+F_{i-2}\),逆运算即可。
  • 代码

T3 魔塔 这题目和数据有问题,不写

T4 对战

  • 题意:问满足 \(a_i<a_j<a_k(i<j<k)\)\(a_i>a_j>a_k(i<j<k)\) 这样的 \(i,j,k\) 有多少种。

  • 题解:用树状数组求解逆序对的方法,最后统一计算即可。

  • 代码

T5 Easy problem I 不会

T6 City Upgrading

  • 题意:在一个图上,一个潘奕帆可以覆盖当前这个节点以及和他相邻的节点,每个节点覆盖都有一个价值,问你用潘奕帆把这个图全部覆盖掉的最小价值。(洛谷有类似题目,只有输入变了。
  • 题解:
  • 三个状态
    • \(f_{i,1}\):节点 \(i\) 位置放潘奕帆的最小花费
    • \(f_{i,2}\):节点 \(i\) 位置不放潘奕帆,但被子节点的潘奕帆覆盖
    • \(f_{i,3}\):节点 \(i\) 位置不放潘奕帆,但被父节点的潘奕帆覆盖
  • 状态转移:
    • \(f_{i,1}\):节点 \(i\) 位置放潘奕帆,那么它可以合并子节点任何状态的最小值;
    • \(f_{i,2}\):节点 \(i\) 位置不放潘奕帆,但被子节点的潘奕帆覆盖,那么它可以合并一个子节点的状态 \(1\) 和其余子节点的状态 \(2\) 加和状态 \(1\) 的最小值;
    • \(f_{i,3}\):节点 \(i\) 位置不放潘奕帆,但被父节点的潘奕帆覆盖,那么它可以合并子节点除了状态 \(3\) 以外的状态。
  • 最终答案:\(\min(f_{1,1},f_{1,2})\)
  • 代码
posted @ 2024-08-25 15:46  liukejie  阅读(1)  评论(0编辑  收藏  举报