CF725F Family Photos 做题记录
有 n 个大小为 2 的照片堆,每张照片可以用一个二元组 (a,b) 描述,每个堆可以用一个四元组 (a1,b1,a2,b2) 描述,表示堆顶的照片为 (a1,b1),堆底的照片为 (a2,b2)。
Alice 和 Bob 要轮流取照片,Alice 先手,轮到某个人取时他可以选择跳过,若一轮中两人均选择跳过则游戏结束。
对于一张照片 (a,b),Alice 取它能获得 a 分,Bob 能获得 b 分,位于堆底的照片要等到相应堆顶的照片被取掉才能取。
记 Alice 的得分和为 ta,Bob 的为 tb。Alice 的目标是最大化 ta−tb,Bob 则要最大化 tb−ta。
两人绝顶聪明,求出游戏结束时的 ta−tb。
1≤n≤105,0≤a1,b1,a2,b2≤109。
AGC035D Add and Remove 做题记录
给定一个长 n 的序列 a,每次操作可以选择相邻三个元素 ai−1,ai,ai+1,将 ai−1 和 ai+1 都加上 ai 然后删掉 ai。操作完后序列会自动补位,即 ai−1 和 ai+1 会相邻。
最后会剩下两个元素,最小化它们的和。
2≤n≤18,1≤ai≤109。
P5336 [THUSC2016] 成绩单 做题记录
给定一个长 n 的序列 a,每次操作可以选择一个区间 [l,r] 将其删去,代价为 A+B×(l≤i≤rmax{ai}−l≤i≤rmin{ai}),其中 A 和 B 是给定的常数。
一个区间被删掉后两边的元素会自动补齐空位,求把序列删空的最小代价。
1≤n≤50,1≤A≤1500,1≤B≤10,1≤wi≤1000。
ARC149E Sliding Window Sort 做题记录
给定 n,m,k,考虑对某个 n 的排列 A(标号 0∼n−1)做如下操作:
- 从 0 到 k−1 枚举 i,把 [Ai mod n,A(i+1) mod n,A(i+2) mod n,…,A(i+m−1) mod n] 拿出来升序排序再放回去;
给定一个 n 的排列 B,求有多少个 A 满足操作完后会变成 B。
1≤m≤n≤3×105,1≤k≤109。
CF1718D Permutation for Burenka 做题记录
定义两个长 n 的数组相似,当且仅当对于每一个区间 [l,r],两个数组在该区间中最大值的位置相同。
给定 n 的排列 p 和一个长 n 且缺了 k 个值的数组 a,再给定一个大小为 k−1 的集合 S。
q 次询问,每次给定一个整数 d,求能否将 S∪{d} 以任意顺序填入 a 的空缺位置使得 a 和 p 相似。
保证 a,S,d 中元素两两不同。
1≤n,q≤3×105,2≤k≤n,1≤ai,Si,d≤106。
CF1253F Cheap Robot 做题记录
给定一张 n 个点 m 条边的无向图和一个正整数 k,边有边权表示机器人经过这条边消耗的电量,点 1,2,3,…,k 为充电中心。机器人可以在充电中心免费充满电。
q 组询问,每次给定两个节点 s,t,保证 1≤s,t≤k。你需要求解以下问题:
- 若有一个机器人从 s 出发,它的电池容量至少为多少才能顺利到达 t?
1≤n,m,q≤3×105
