
题解-AtCoder
题解-AtCoder
Azcii
这个作者很懒,什么都没留下…
展开
-
AtCoder Grand Contest 032D - Rotation Sort(DP)
AtCoder Grand Contest 032D - Rotation Sort题目大意给出一个NNN的排列,每次可以花费AAA的代价把任意区间向左循环转一格,或花费BBB的代价向右循环转一格,求排序的最小代价。N≤5000N≤5000N≤5000题解首先可以把操作简化一下,实质上就是花费BBB的代价把某个数向左插入到任意位置,或花费AAA的代价把某个数向右插入到任意位置。如果能想到这里,剩下的就更加自然了。接着会发现,每个数最多被操作一次,且不操作的数必须构成单调上升子序列。那么可原创 2020-10-27 22:34:15 · 215 阅读 · 0 评论 -
AtCoder Grand Contest 026F - Manju Game(分类讨论+二分)
AtCoder Grand Contest 026F - Manju Game题目大意给出一个长度为NNN的序列,两人轮流取数,每次只能取上一次取的数旁边相邻的数,如果没有则任意,两人都尽可能使自己取数总和大,求最后两人取的数总和分别是多少。N≤300000N≤300000N≤300000题解分析一下取数的过程可以发现,每次AAA取了一个数,BBB取了与之相邻的一个数,限定了一个方向之后,就只能取到最边界才停下,接着下一个人可以任意取,以此类推。然而知道这就能怎么样呢?还需要发现其他结论原创 2020-10-22 22:31:32 · 342 阅读 · 0 评论 -
AtCoder Regular Contest 091F - Strange Nim(SG函数+找规律)
AtCoder arc_091F - Strange Nim题目大意NNN堆石子,每堆有AiA_iAi颗,两个人轮流取,每次选择其中一堆,当其剩下石子数为xxx时,取的石子数不能超过x/kx/kx/k下取整,每堆的kkk是一个定值,不能取的人为负。N≤200N≤200N≤200Ai,ki≤109A_i,k_i≤10^9Ai,ki≤109题解显然可以先计算出对于不同kkk的每个状态的SG函数值,从000开始打个表出来,把这些数kkk个一行,会发现第一列从000开始依次递增111,第一原创 2020-10-22 22:06:07 · 226 阅读 · 1 评论 -
AtCoder Regular Contest 099F - Eating Symbols Hard(哈希)
AtCoder arc_099F - Eating Symbols Hard题目大意给定一个下标从负无穷到正无穷且初始全为000的序列和初始在000的指针,NNN个支持指针左/右移或当前位置加/减111的操作,求操作序列有多少个子区间,使得执行此区间内操作的结果和执行所有操作后的结果相同(最后指针位置可以不同)。N≤250000N≤250000N≤250000题解首先可以发现,序列的下标范围再大,超出了±N±N±N的部分都是不会被修改的,那么只有在[−N,N][-N,N][−N,N]内才可能原创 2020-10-19 22:27:22 · 263 阅读 · 0 评论 -
AtCoder Grand Contest 027D - Modulo Matrix(构造)
AtCoder agc_027D - Modulo Matrix题目大意要求构造一个n∗nn*nn∗n的元素互异且值域为小于等于101510^{15}1015正整数的矩阵,要求满足任意相邻两个数x,yx,yx,y满足max(x,y)mod min(x,y)=mmax(x,y) \mod min(x,y)=mmax(x,y)modmin(x,y)=m,其中正整数mmm为某个不确定的定值。n≤500n≤500n≤500题解可以先把相邻的格子黑白染色,那么同种颜色之间没有干扰,一种最简单的构造原创 2020-10-17 16:53:14 · 161 阅读 · 0 评论 -
Atcoder Grand Contest 023D - Go Home(贪心)
Atcoder agc023_D - Go Home题目大意一条路上有NNN幢房子,每幢房子住有XiX_iXi个人,最初汽车从某个地点SSS出发,装着所有的人,汽车每次走一个单位,向左或向右由所有人投票决定,少数服从多数,如果汽车到达了自己所住的房子则下车。每个人都会尽可能使自己尽早到达,求最晚到达的人的到达时间。N≤105N≤10^5N≤105题解第一眼以为维护前缀和后缀和,每次最最贪心地判断左右哪边人多久往哪边走,但一看样例就会发现这样是错的,也就是说,对于每个人而言,不一定每次都原创 2020-09-23 22:12:14 · 203 阅读 · 0 评论 -
AtCoder Grand Contest 029C - Lexicographic constraints(二分+栈)
ATCoder agc_029C - Lexicographic constraints题目大意给出一个长为NNN的序列AAA,最小化能构造NNN个字符串满足严格字典序升序且第iii个字符串的长度为AiA_iAi的字符集大小。N≤2∗105N≤2*10^5N≤2∗105Ai≤1∗109A_i≤1*10^9Ai≤1∗109题解最早想的是从左往右直接贪心尽可能小地构造,但是会发现有些时候不能确定怎样才最优。比如当前Ai=Ai+1=3A_i=A_{i+1}=3Ai=Ai+1=3,构造到原创 2020-09-18 22:17:09 · 259 阅读 · 0 评论 -
AtCoder Grand Contest 034D - Manhattan Max Matching(最大费用最大流)
AtCoder agc_034D - Manhattan Max Matching题目大意平面上有NNN个位置上分别有若干红点,NNN个位置上分别有若干蓝点,保证红点蓝点总数相等。求一个红点和蓝点的匹配,使得每个点对的曼哈顿距离之和最大,输出最小的答案。N≤1000N≤1000N≤1000题解据说奇奇怪怪限制的题,一般会想到网络流,这题还有关点对之间的匹配,则更像是网络流。观察题目的限制,不同的匹配权值不同,考虑使用费用流,即最大费用最大流。由于曼哈顿距离的式子中有绝对值,先把绝对值原创 2020-09-18 21:59:16 · 954 阅读 · 0 评论