会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Mr-Python
博客园
首页
新随笔
联系
订阅
管理
2025年6月
[NOIP 2003 普及组] 麦森数
摘要: 一篇 python 题解。 先看第一问。一个数 x 的位数,相当于 log10x+1。用我们小学二年级就学过的换底公式,可以得到: log102P+1=log102log22P+1=log102P+1 再看第二问,要我们求出 2Pmod10500 的值。python 中的 pow 函数
阅读全文
posted @ 2025-06-06 19:33 MrPython
阅读(7)
评论(0)
推荐(0)
2025年5月
Quartet Swapping
摘要: 什么你说你智商不够注意不到特殊性质?其实这是道模拟题。我要让所有人都知道惊为天人的模拟做法! 由于要求字典序最小,贪心地做肯定是对的。奇数位的数只能移动到奇数位,偶数位的数只能移动到偶数位(这个总能注意到吧),因此对于每个数我们可以从所有奇数位 / 偶数位中挑一个最小的,然后尝试交换过来。 一但确定
阅读全文
posted @ 2025-05-15 15:40 MrPython
阅读(11)
评论(0)
推荐(0)
2025年4月
Wonderful Impostors
摘要: 注意:全文左闭右开。 Hint 0: CF 的数据结构题难度自动 -500。 Hint 1: 若干个需求可能被同时满足的充分必要条件是什么?对于单次询问,如何暴力回答? 将所有没有内鬼的区间并起来,记作 S,那么 S 中的任意一个人都是船员。倘若存在一个有内鬼的区间是 S 的子集,便出现了冲突。 我
阅读全文
posted @ 2025-04-26 00:42 MrPython
阅读(9)
评论(0)
推荐(0)
Serval and Kaitenzushi Buffet
摘要: 把问题倒过来做,就变成了: 初始时有 0 点 hp,每轮会恢复一点 hp。同时每轮使用一次技能,消耗 k+1 点 hp 来获得当前轮所对应的快乐值。你最多可以获得多少快乐值? 然后就是经典反悔贪心板子。每轮尝试使用技能,若 hp 不够就撤销掉所有用过的技能快乐值最少的那次。 #include <cs
阅读全文
posted @ 2025-04-21 23:03 MrPython
阅读(4)
评论(0)
推荐(0)
2025年3月
Equalization
摘要: 无敌 brute force。注意到 log21017 约为 56,1+2+3+4+5+6+7+8+9+10=55,11+12+13+14+15=65,大胆猜测仅需要 15 以内的数就够了。使用复杂度为 O(3n) 的子集枚举算法枚举所有分配的方案,足以填满整个数组。对于每次询问枚举要右移多少位,
阅读全文
posted @ 2025-03-18 16:16 MrPython
阅读(6)
评论(0)
推荐(0)
Rotated Inversions
摘要: 这个绝对比 E 简单。 对于 k=0,是经典的逆序对板子,直接做。 然后考虑 k 增加 1 后如何更新答案。在所有数的相对关系中,只有最大的数变成了最小的,其他的都没有变化。因此,将最大的数删除掉,并作为最小的数重新插入回去即可。 线段树可以维护这个过程。使用 vector 套 vector 以数字
阅读全文
posted @ 2025-03-13 18:33 MrPython
阅读(4)
评论(0)
推荐(0)
[省选联考 2025] 推箱子
摘要: 我们先考虑 O(n2) 做法。按照 t 从小到大排序后,依次满足每个箱子的目标需求。若箱子移动的路线被其他箱子阻挡,此箱子会推着阻挡物前进。在此期间,任何一个箱子无法在规定时间内达到目标,将输出 No,否则为 Yes。 按照上述过程进行模拟,处理每个箱子时,若发现其前面 / 后面的箱子阻挡了其行进路
阅读全文
posted @ 2025-03-02 19:03 MrPython
阅读(7)
评论(0)
推荐(0)
2025年1月
Play with sequence
摘要: 你说的对,但是我会分块。 对于每个区块,我们维护以下信息: 原始数组 dat; 一个指针数组 sorted,指向原始数组里的每一个元素,按照指向的值升序排序; 当前区块的偏移量 delta(进行区间加时使用); 一个指向 sorted 中元素的指针 ptr,表示第一个大于 minx 的元素(相当于存
阅读全文
posted @ 2025-01-26 16:06 MrPython
阅读(5)
评论(0)
推荐(0)
2024年12月
Matrix Transformation
摘要: Brute force 启动! 首先,显而易见的是按二进制每一位进行拆分,接下来就是在 01 矩阵上操作。 定义一回合为:先扫描每一行,再扫描每一列,若该行/列有需要操作的就对整行/列进行操作。我们可以大胆猜测:若存在解,每次操作应该能固定一行与一列,因此最多会进行 min(n,m)+O(1) 次操
阅读全文
posted @ 2024-12-27 13:01 MrPython
阅读(5)
评论(0)
推荐(0)
Broken Queries
摘要: 神秘小分讨。输在了不知道二分应不应该 +1 上。 本文 0 index,左闭右开。方便起见,我们将题目描述改为:每次询问那个 1 是否在询问区间中,倘若询问区间长度大于等于 k 则回答者会撒谎。 我们假设有 k<2n。第一次,我们询问区间 [0,2n),那这一次他会撒谎,询问结果为 true 则
阅读全文
posted @ 2024-12-22 16:25 MrPython
阅读(6)
评论(0)
推荐(0)
下一页
公告