AtCoder-ABC320A Leyland Number
依题意计算。
提交记录:Submission - AtCoder
AtCoder-ABC320B Longest Palindrome
直接 \(O(n^2)\) 枚举,\(O(n)\) 判断。
提交记录:Submission - AtCoder
AtCoder-ABC320C Slot Strategy 2 (Easy)
不妨将字符串复制三遍,枚举 \([0,3m)\) 判断。
提交记录:Submission - AtCoder
AtCoder-ABC320D Relative Position
由于确定了 \(1\) 的坐标,推断关系可以看作连边,DFS 处理即可。
提交记录:Submission - AtCoder
AtCoder-ABC320E Somen Nagashi
用 set
维护当前队列,小根堆维护仍处于等待阶段的队列,每次询问先将可以入队的从小跟堆插入 set
再计算。
提交记录:Submission - AtCoder
AtCoder-ABC320F Fuel Round Trip
过程一来一回,且要求每个位置来回只能加油一次,那么应当考虑一起 DP。
设 \(f(i,j,k)\) 表示当前考虑了前 \(i\) 个加油站,其中去程油箱油量 \(j\),返程油箱油量 \(k\) 的最小代价。这里转移比较奇怪,去程每次是移动消耗油,而返程是倒着做所以移动是增加油。
设 \(d=x_{i+1}-x_i\),讨论 \(i\) 位置是否加油。
如果不加油,转移有:
\[f(i+1,j-d,k+d)\leftarrow f(i,j,k) \]如果去程加油,\(i+1\) 处油量是 \(\min(j+f_i,H)-d\),转移有:
\[f(i+1,\min(j+f_i,j)-d,k+d)\leftarrow f(i,j,k)+p_i \]如果返程加油,设 \(i+1\) 处油量为 \(x\),那么有 \(\min(x-d+f_i,H)=k\),如果 \(k\neq H\),此时 \(x=k-f_i+d\),是唯一的,转移有:
\[f(i+1,j-d,k-f_i+d)\leftarrow f(i,j,k)+p_i \]反之则要求 \(x-d+f_i\ge h\),那么 \(x\le H-f_i+d\),对这个范围内的所有 \(x\),转移有:
\[f(i+1,j-d,x)\leftarrow f(i,j,k)+p_i \]由于第四个转移不为 \(O(1)\),但只有 \(k=H\) 时出现,因此复杂度是 \(O(nH^2)\)。
初始认为 \(f(0,H,k)=0\),而答案应为 \(\min_{k=1}^H \{f(n,k,k)\}\)。
提交记录:Submission - AtCoder
AtCoder-ABC320G Slot Strategy 2 (Hard)
考虑二分答案,区间在 \([0,nm)\),对于每个数 \(d\),建左部点为 \(i\in[1,n]\),右部点为 \(j\in[0,mid]\) 的二分图,当第 \(i\) 个轮可以在 \(j\) 时刻显示 \(d\) 时连边。
这样复杂度过高,注意到左部点数量较少,根据 Hall 定理,要求 \(|T|\le |N_G(T)|\),那么每个左部点只连前 \(n\) 条边就能保证存在完美匹配。
这样点数和边数只有 \(O(n^2)\),二分直接二分右部点的一个前缀即可。
提交记录:Submission - AtCoder
标签:AtCoder,Submission,leftarrow,题解,min,提交,ABC320,记录 From: https://www.cnblogs.com/SoyTony/p/Solution_on_AtCoder-ABC320.html