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})\)
- 代码