atcode题解
文章平均质量分 90
atcoder
as_sun
这个作者很懒,什么都没留下…
展开
-
Monoxer Programming Contest 2024(AtCoder Beginner Contest 345)题解
我们从叶子节点开始一层一层往上的话,开的灯会多一些,因为如果先开了父节点,那么开叶子节点的时候,父节点的状态就是不确定的了,但如果先开了子节点,那么用父节点的父节点去开的时候就不会影响子节点。显然是可以的,不过要注意,我们需要考虑结尾的颜色,所以最大值不一定能用,故而应该同时维护一个次大值,一定要保证最大值和次大值的颜色不同,将这两个值和两种颜色记一下,然后不断遍历,不断更新即可。有n个灯泡和m条边,每条边连接两个灯,我们任意选边,然后将边上开着的灯关掉,关着的灯打开,问最后能否恰好有k个灯打开。原创 2024-03-19 07:54:48 · 927 阅读 · 0 评论 -
Daiwa Securities Co. Ltd. Programming Contest 2023(AtCoder Beginner Contest 331)补题
我们将主菜和套餐都按照从大到小的顺序来排序,然后暴力循环,当然肯定不能让循环跑满,跑满肯定超时,就需要来记录最大值,如果当前访问到的组合价格小于最大值,那么实际上没有往后访问的必要了,后面的肯定更小,我们就要开始下一层的循环,这样就很容易的找出了最大值。因为这种块不管是怎么得到的,都可以变换成左上角的形态。我们可以发现将画“x”的部分去掉以后,还剩两列,但由于此时行是n的倍数,那么这两列刚好都是整列,这里画“x”的作为整块来算,剩下的整列整列来算,但是这里就要注意区分,它对应到左上角的区域对应的哪一列。原创 2023-12-03 15:56:02 · 2497 阅读 · 1 评论