ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

AtCoder Beginner Contest 245

2022-03-27 02:00:28  阅读:380  来源: 互联网

标签:AtCoder 遍历 结尾 Beginner 短路 245 枚举 国籍 dp


比赛链接

A - Good morning

输入输出。

B - Mex

用个数组\(a_i\)标记\(i\)是否出现过,然后遍历一遍就能知道答案。

C - Choose Elements

可以动态规划。

\(dp_{i, j}\)表示前\(i\)个元素,结尾元素为\(j\)的状态是否可达, 其中\(j = 0\)表示结尾是\(A_i\),\(j = 1\)表示结尾为\(B_i\)。

\(dp_{0}\)显然都可达,然后\(dp_i\)可以很简单的从\(dp_{i-1}\)转移算出:枚举当前的结尾元素,枚举前一位的结尾元素,若二者差的绝对值小于\(K\)则可以转移。

看\(dp_{n}\)是否包含可达状态即可。

D - Polynomial division

多项式除法,就竖式除法模拟一下。

E - Wrapping Chocolate

贪心。

对于所有巧克力和盒子,按宽为第一关键字降序排序。

枚举巧克力,把所有宽度大于它的盒子加入候选。

现在候选中每一个盒子的宽度都比当前巧克力大,只需要长度再比他大即可。

然后由于候选中的宽度都是满足条件的,现在长度更珍贵,所以就贪心地选候选中长度条件满足且最小的那个。

F - Endless Walk

拓扑排序。

拓扑排序中环不会被遍历到,而环能走到的点会由于环这个前置条件没有满足而不会被遍历到,而其余点的前置条件都回逐渐被满足然后遍历到。

但是题目要的是能走到环的点,所以就在反图上搞,在反图上搞就是能走到环的点了。

存图的反图,然后拓扑排序,没有入过队的点均为答案。

G - Foreign Friends

最短路。

首先,设置一个虚拟源点,往所有popular连边长为0的边,这样点到虚拟源点的最短路就是到popular的最短距离。

然后,还要求说国籍要不同,所以再入队时可以标记一下路径的类型为国籍,并且传递下去,这样就可以知道枚举到的路径最终是到哪一个国籍的popular了。

但是这样复杂度还是会比较高,不过因为只要求国籍不同,所以维护最短和次短两个不同类型的最短路就可以了。

然后如果最短路的类型是不同国籍的,就直接用最短;不然就切换到次短。

Ex - Product Modulo 2

不会数数,给题解都看不懂。

标签:AtCoder,遍历,结尾,Beginner,短路,245,枚举,国籍,dp
来源: https://www.cnblogs.com/zengzk/p/16061744.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有