首页 > 其他分享 >【题解】AtCoder-ABC320

【题解】AtCoder-ABC320

时间:2023-09-17 09:00:10浏览次数:49  
标签:AtCoder Submission leftarrow 题解 min 提交 ABC320 记录

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

相关文章

  • ABC320
    T1:LeylandNumber模拟代码实现a,b=map(int,input().split())print(a**b+b**a)T2:LongestPalindrome模拟代码实现#include<bits/stdc++.h>#definerep(i,n)for(inti=0;i<(n);++i)usingnamespacestd;boolisPalindrome(strings){string......
  • 【POJ 3275】Ranking the Cows 题解(传递闭包)
    农夫约翰的N头奶牛(1≤N≤1000)产奶率各不相同,FJ希望根据这些比率从最快的奶牛到最慢的奶牛订购奶牛。FJ已经比较了M(1≤M≤10000)对奶牛的产奶率。他想列出另外C对奶牛的列表,这样,如果他现在比较这些C对奶牛,他肯定能够推断出所有N头牛的正确顺序。请帮助他确定C的最小值,这样的列表是可......
  • 合并果子题解-C++ STL priority_queue容器的使用
    说明:本博文关于priority_queue容器的说明来源于www.cnblogs.com/fusiwei/p/11823053.html本人是刚刚接触算法竞赛的萌新,如果有大佬发现了错误,还望指出(真的有人会看本蒟蒻的博文吗)这是我的第一篇博文,更多是作为测试以后会将博客作为笔记记录学习的体会基本概念priority_queu......
  • lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga 常见问题解答
    1.概述    CrossLink开发板,是用Lattice的芯片CrossLink家族系列的,LIF-MD6000-6JM80I。该芯片用于桥接视频接口功能,自带2路MIPI硬核的功能,4LANE MIPI的功能,支持高速率1.5Gbps。   其他普通IO支持1.2Gbps速率,支持5路MIPI通道功能。 芯片包含LVDS,SLVS200,SubL......
  • atcoder313C
    313C题目概述:给定序列A,可以任选两个数,使其中一个数加1,另一个数减1.可以通过任意次操作,问需要至少多少次操作,才能使A中最大数和最小数差值不超过1。解题思路:将该题进行抽象转化:1.我们需要将A序列转化为B序列,sumB=sumA。操作次数为:\(\frac{\sum\limits_{i}^n|a_i-b_i|}{2}\)2......
  • 华为应用市场上架 视频介绍上传 遇到的问题解决
    昨天在华为应用市场上架应用, 视频介绍上传时, 一直是视频加载中,百思不得其解. 虽然不是第一次上传视频了,怎么这次遇到这个问题.偶然发现在视频介绍上传时, 选择海报后,一定要下划,点击确认,才能完成上传!否则一直是视频加载中............
  • AnyCAD程序无法启动的问题解决方法
    在某些电脑上会出现基于AnyCAD开发的程序无法启动的问题,如:System-ArgumentEcception:Pleasecheckthedependendes解决方法安装最新的VS运行时库,如VS2022:微软官方下载地址:x64:vc_redist.x64.exeSystem.AccessViolationException:"Attemptedtoreadorwriteprotected......
  • CF1542E1 Abnormal Permutation Pairs (easy version) 题解
    CF1542E1AbnormalPermutationPairs(easyversion)题解不会Hardversion对于第一个限制字典序,我们可以考虑枚举前\(i\)位相同,然后考虑后\(n-i\)位。我们只需要保证\(p_{i+1}<q_{i+1}\)即可。我们设\(len=n-i\)。由于前\(i\)位完全相同,所以前\(i\)位内部......
  • CF1852B Imbalanced Arrays 题解
    CF1852BImbalancedArrays题解Links洛谷CodeforcesDescription对于一个给定的长度为\(n\)的数组\(A\),定义一个长度为\(n\)的数组\(B\)是不平衡的当且仅当以下全部条件满足:\(-n\leqB_{i}\leqn\)且\(B_{i}\ne0\)。即每个数在\([-n,n]\)内且不为\(0\)。......
  • LeetCode-Java题解 209. Minimum Size Subarray Sum
    题目地址:209.MinimumSizeSubarraySum解题思路:    看到这道题,心里本身是有双指针这个概念的,但是不知道怎么用,脑子里第一反应就是暴力解法,双for一把梭,然后时间就超时了...看了题解才知道滑动窗口这个解法,不禁直呼妙啊!感觉和双指针非常类似,其核心点在于避免了暴力算法的枚......