摘要: 还记得如何比较两个数的大小吗?在两个数数位长度都相同的情况下,从高位开始依次比较。题目中数据的值域为 [0,260),我们比较最多约 60 次即可得知答案。 我们依次考虑 V 二进制前缀的若干位。 开 60 个并查集。对于长度为 i 后缀,我们将其最后一位强制赋上 1,记这个值为 s。 然后,倘若当 阅读全文
posted @ 2024-10-19 01:20 MrPython 阅读(6) 评论(0) 推荐(0)
摘要: 这是一篇测试文章,请审核管理直接将其跳过 中文English 中文 English 阅读全文
posted @ 2024-10-08 19:45 MrPython 阅读(17) 评论(0) 推荐(0)
摘要: 滥用一下职权,写点 C++20 加的好东西。 std::basic_string::end_with 方法,用于检查字符串是否以给定的内容为后缀。“给定的内容”可以是单个 char,C-style 字符串或 std::string。 因此: string s; cin >> s; cout << ( 阅读全文
posted @ 2024-10-07 18:54 MrPython 阅读(9) 评论(0) 推荐(0)
摘要: 赛时魔怔了,这没瞪出来! 很容易想到,对着答案二分,检查每个工序的效率大于等于 mid 时所需的最少钱数之和是否小于等于 X。 在决定每条生产线需要哪些机器时,从贪心的角度考虑,应该多选一些性价比更高的机器,性价比低的机器使用量应该较小。感性理解一下,性价比低的机器绝对不会选太多。卡着数据范围选一个 阅读全文
posted @ 2024-10-07 18:34 MrPython 阅读(4) 评论(0) 推荐(0)
摘要: 我来教大家如何打暴力。 首先,根据题面,假设我们当前要修改第 i 个数。如果两个区间都包含 i,此时无论做何修改差都不变,都不包含同理。因此,我们找的两个区间应为:其中一个包含第 i 项,而另一个不含。 由于 n 非常小,我想到将所有符合条件的区间和都存下来,这个过程预处理出来或者套个前缀和都可以。 阅读全文
posted @ 2024-09-25 21:35 MrPython 阅读(8) 评论(0) 推荐(0)
摘要: 从来没见过同余最短路,确实有点意思的。此类题关键在于,其中某个元素的范围很小,我们需要以此为切入点解决。方便起见,我们从 0 开始出发,存在的最后一个楼层为 h−1。 对于任何一个能到达的数,可以继续乘坐跳楼机上升 x 层若干次。因此可以发现,设有 a≡b(modx),其中 a≤b,若可以到达 a, 阅读全文
posted @ 2024-09-24 15:24 MrPython 阅读(10) 评论(0) 推荐(0)
摘要: 按 11 个每块分组,共分了 90 组,还余 10 个之后处理。每个组内询问相邻的点对,这样一个组需要询问 10 次,共 900 次。 由于只有 10 个坏点,那么若一组 11 个全部相等则说明这 11 个都是好的。我们记下已知的任意一个好点。否则,这一组内至少有一个坏点,留下备用。最多只有 10 阅读全文
posted @ 2024-09-23 09:51 MrPython 阅读(7) 评论(0) 推荐(0)
摘要: 这个真不值 2000 吧! 经典线性 dp。考虑 fk,i,j​ 表示第 k 轮时当前玩家选择 (i,j) 是否可以获胜。 第 l+1 轮时该选手将直接失败,因此 fl+1​ 全部初始化为 false。 然后倒着从后往前转移。考虑 fk,i,j​,如果下一轮的选手下在右下方的任意一点可以获胜,则下在 阅读全文
posted @ 2024-09-23 08:19 MrPython 阅读(6) 评论(0) 推荐(0)
摘要: 在树上考虑 dp。 对于每个节点,dp 数组保存两个信息。设当前位于点 p,fp,0​ 表示必须选择 p 的方案数,fp,1​ 表示必须不选当前点且至少选了一点的方案数。 然后是转移。 如果不选择第 p 个点,分两种情况: 选择了若干个相同颜色的子节点。对于若干个颜色相同的节点,每个节点都可以选择选 阅读全文
posted @ 2024-09-04 08:05 MrPython 阅读(8) 评论(0) 推荐(0)
摘要: 已知使用的 npm package unified 阅读全文
posted @ 2024-08-13 20:48 MrPython 阅读(4) 评论(0) 推荐(0)