摘要: 简介 对于一些复用性较高的算法或者数据结构,需要时再重新实现一次是费时的,如果有一份设计得不错得代码模板,可能会花费更少的时间。 在实现实现某个算法时,如果有类似算法的代码作为参考,可能效率会比较高。 复习所学内容时,如果将已学内容的实现记录下来的话,可能会有更好的效果。 基于以上目的,我自己会实现 阅读全文
posted @ 2021-01-07 22:36 _Backl1ght 阅读(204) 评论(0) 推荐(2) 编辑
摘要: D - Factorial and Multiple 对 $k$ 进行质因数分解。 如果 $k$ 最大的质因子 $p$ 满足 $p * p > k$ ,那么答案就是 $p$。因为一定要包含一次,也只需要包含一次。 否则直接爆搜。 AC代码 // #define MULTIPLE_TASK #incl 阅读全文
posted @ 2022-12-04 20:00 _Backl1ght 阅读(161) 评论(0) 推荐(1) 编辑
摘要: 咕咕咕。 D - Freefall 三分求极值,注意下标得是整数,所以最后再搜索三分结果附近的整数。 直接求导应该也可以。 AC代码 // #define MULTIPLE_TASK #include "hira/main.cpp" void Initialize() {} void SolveCa 阅读全文
posted @ 2022-11-27 15:49 _Backl1ght 阅读(166) 评论(0) 推荐(1) 编辑
摘要: 咕咕咕。 D - All Assign Point Add 把数拆分成 $base + delta$ 。 $base$ 就是操作一设置的数,初始时认为 $base = 0$;$delta$ 的维护可以有两种方法。 一种是我比赛时的做法,类似树状数组的时间戳优化额外维护一个时间戳,时间戳对不上就先清空 阅读全文
posted @ 2022-11-19 23:41 _Backl1ght 阅读(87) 评论(0) 推荐(1) 编辑
摘要: ABC略。 D. Make It Round 问题可以看成凑出尽可能多的 $10$ 作为因子。 注意到 $10$ 的因子只有 $1, 2, 5, 10$。 首先,$n$ 自己已经凑出来的 $10$ 没必要拆开,并不会更优。 然后就是看 $n$ 有多少个多余的 $2$ 或者 $5$,然后 $k$ 先尽 阅读全文
posted @ 2022-11-19 01:42 _Backl1ght 阅读(170) 评论(0) 推荐(0) 编辑
摘要: E - Crystal Switches 经典分层图。 搞两层图,一层对应初始状态,一层对应开了奇数次开关后的状态;假设点 $v$ 处有开关,就在两层图中 $v$ 对应的点间连一条边。 然后就是最短路板子了。 F - Sorting a Matrix $0$ 可以变成任何数,所以可以忽略。 观察:不 阅读全文
posted @ 2022-11-14 22:07 _Backl1ght 阅读(114) 评论(0) 推荐(3) 编辑
摘要: 咕咕咕咕。 E - Round Trip 如果存在某个点双满足这个点双包含起点且点双大小大于 $4$ 则有解。 F - Double Chance 考虑不断在之前的基础上在末尾添加一个数,每次更新期望。 假设此前已经有 $i - 1$ 个数了,期望为 $E$ ,新添加的数为 $a_i$ 。 在 $i 阅读全文
posted @ 2022-11-06 02:13 _Backl1ght 阅读(114) 评论(0) 推荐(1) 编辑
摘要: A. Two Groups 数组和的绝对值即为答案。 B. BAN BAN 大概就是尽可能把前面的 B 搞到后面,尽可能把后面的 N 搞到前面。 答案为 $\lceil \frac{n}{2} \rceil$ ,操作为每次交换正数第 $i$ 个 BAN 的 B 和倒数第 $i$ 个 BAN 的 N 阅读全文
posted @ 2022-11-05 01:05 _Backl1ght 阅读(184) 评论(0) 推荐(1) 编辑
摘要: 咕咕咕咕咕咕。 G - Infinite Knapsack 做法1 - 二分 假设第 $i$ 个物品选了 $x_i$ 个,$x_i$为非负整数,有 $$ \lim_{x \to +\infin} \frac{f(x)}{x} = \frac{\sum_i c_i x_i}{\max(\sum_i a 阅读全文
posted @ 2022-10-30 01:18 _Backl1ght 阅读(128) 评论(0) 推荐(2) 编辑
摘要: 咕咕咕。 C2. Make Nonzero Sum (hard version) 易得有奇数个非零值时无解。 现在考虑将相邻的两个非零值配对,只要每一个非零值对都搞成和为零,总的和就为零。 由于非零值只有正负一,所以对于一个非零值对,考虑前者符号不变,看情况改变后者符号即可。 AC代码 // Pro 阅读全文
posted @ 2022-10-23 23:43 _Backl1ght 阅读(56) 评论(0) 推荐(1) 编辑
摘要: E - Booster TSP问题变种,典中典。 AC代码 // Problem: E - Booster // Contest: AtCoder - キーエンスプログラミングコンテスト2022(AtCoder Beginner // Contest 274) URL: https://atcode 阅读全文
posted @ 2022-10-23 00:16 _Backl1ght 阅读(155) 评论(0) 推荐(1) 编辑