T1
城市有 \(N\) 个路口,被 \(M\) 条双向道路所连接。在路口 \(i\) (\(0 \leq i < N\)),有一盏高度为 \(H_i\) 的路灯。第 \(j\) (\(0 \leq j < M\)) 条道路连接编号为 \(A_j\) 和 \(B_j\) 的路口,长度为 \(L_j\)。要借用一盏路灯 \(H_i\),必须将其放倒在一条连接了路口 \(i\) 的道路上,前提是这条路上要有足够的空间:也就是说,放倒在第 \(j\) 条道路上的路灯长度之和不能超过 \(L_j\)。请帮助龙猫确定能借用的最大路灯数量
对于所有测试数据,保证 \(1 \leq N, M \leq 10^6\),\(1 \leq H_i \leq 1000\),\(0 \leq A_j, B_j < N\),\(1 \leq L_j \leq 2000\)。
T2
龙猫准备建造一个金字塔。金字塔由黑色和白色的立方体构成。为了加快进度,金字塔按如下方式建造:
- 首先,龙猫将设计底座(第0层):这一层是一个 \(N \times N\) 的立方体方阵,其颜色可以用矩阵 \(M\) 描述。具体来说,如果 \(M_{i,j} = 1\),\((i,j)\) 上的立方体就是黑色,否则是白色的。
- 然后,她将继续建造第1层到第 \(N-1\) 层。第 \(i\) 层的每个立方体都恰好位于其下方四个立方体的公共顶点之上。如果在它下方的四个立方体中,相邻的立方体都不同色,这个立方体就是黑色,否则是白色的。

龙猫的记性并不好,这给她的追忆旅程带来些许挑战。为了更好地追忆过去,龙猫会先告诉你金字塔第0层所有立方体的颜色,接着向你提出 \(Q\) 个问题:在每个问题中,她会询问你位于第 \(h\) 层、位置 \((x,y)\) 的立方体是什么颜色。
金字塔中的立方体可由一个三元组 \((h,x,y)\) 表示,其中 \(0 \leq h < N\) 是立方体的层数,\(0 \leq x, y < N-h\) 是其在层内的坐标。特别地,立方体 \((h,x,y)\) 恰好位于其下方四个立方体的公共顶点之上:\((h-1,x,y)\)、\((h-1,x+1,y)\)、\((h-1,x,y+1)\) 和 \((h-1,x+1,y+1)\)。在样例解释中你可以看到一个示例。
样例解释
下图展示了第一个样例:

位置 \((1,0,0)\) 上的立方体是黑色的,因为它下方的四个立方体中,相邻的立方体都不同色。位置 \((2,0,1)\) 上的立方体是白色的,因为它下方的立方体 \((1,0,1)\) 和 \((1,0,2)\) 相邻且同色。
对于所有测试数据,保证 \(1 < N \leq 5000\),\(1 \leq Q \leq 10^6\),对于所有 \(0 \leq i,j < N\),\(M_{i,j} \in \{0,1\}\),对于每次询问,\(1 \leq h < N\),\(0 \leq x, y < N-h\)。
对于所有测试数据,保证 \(1 < N \leq 5000\),\(1 \leq Q \leq 10^6\),对于所有 \(0 \leq i,j < N\),\(M_{i,j} \in \{0,1\}\),对于每次询问,\(1 \leq h < N\),\(0 \leq x, y < N-h\)。
T3
小F发现数数题总共有 \(n\) 个不同的考点,他打算把这 \(n\) 个考点出成 \(n\) 道题投给联考。每道题的考点互不相同;也就是说,假设第 \(i\) 道题的考点是 \(p_i\),则 \(p\) 是一个 \(1 \sim n\) 的排列。
同时为了避免选手从之前的题目推测出下一题的考点,小F要求对于任意相邻两道题,其考点编号差的绝对值不等于一个给定的参数 \(K\)。现在小F希望知道,他有多少种可行的组题方式,即有多少个排列 \(p\) 满足上述要求。
由于答案非常大,请对给定模数 \(M\) 取模。
对于所有测试数据,保证 \(1 \leq K \leq n \leq 5000\),\(10^8 \leq M \leq 10^9\)。
T4
你目前收到了 \(n\) 道题,第 \(i\) 道题思维难度为 \(a_i\),好写程度为 \(w_i\)。
有 \(n\) 个人打联考。第 \(i\) 个人有水平 \(b_i\)。你可以任意选择一个整数 \(k \in [0, n]\),然后将 \(n\) 道题里思维难度最大的 \(k\) 道题给 \(n\) 个人中水平最高的 \(k\) 个人做。定义这样做的训练效果为选中的题目的思维难度之和减去选中的人的水平之和。你希望这个训练效果越大越好。(容易发现,如果有题目思维难度相同,在上述过程中任意选一道不影响训练效果。)
接下来的 \(q\) 天里,你每天会收到一道思维难度为 \(a_i'\),好写程度为 \(w_i'\) 的题,并将这道题加入题库。因为你不喜欢码力场,在将这道题加入题库后,你会删去题库中好写程度最小的一道题,使得题目总数依然为 \(n\)。你需要输出初始时和每天结束时,你可以达到的最大的训练效果。部分子任务强制在线,详见输入格式。
对于所有测试数据,保证 \(1 \leq n, q \leq 2.5 \times 10^5\),\(c \in \{0,1\}\),\(0 \leq a_i, w_i, a_i', w_i', b_i < 2^{30}\),所有 \(w_i, w_i'\) 两两不同。
题解
