- 博客(18)
- 收藏
- 关注
原创 题解:P14614 [2019 KAIST RUN Fall] Bigger Sokoban 40k
接着,设置障碍,让箱子必须不断拐弯,并且使拐点四周宽度尽量为。明显,图小但是步数大的精髓在于需要不断绕圈子从而推动箱子。具体的,我们先规划出一条“L”形的走道,宽度为。,使得角色必须绕走道走一圈才能使箱子“拐弯”。写篇题解纪念一下自己第一次考场最快解。,目的是让人通过而箱子过不了。分别在地图的两个角落。这是一道妥妥的构造题。
2025-12-13 15:55:29
333
原创 题解:P2252 【模板】威佐夫博弈 / [SHOI2002] 取石子游戏
威佐夫博弈其实没有什么变式,有兴趣的可以看看证明,想要效率的直接记结论就好。
2025-12-13 15:54:56
765
原创 洛谷 AT_abc409_c [ABC409C] Equilateral Triangle
有不清楚的评论问我。,那么如果等边三角形的三个点的位置就分别为(以下皆为模运算,即结果不超过。个点,给出每个点距离上一个点的圆弧长度单位(顺时针方向),要求求出这。数组记录每个位置上有几个点,那么对于已经确定的三个位置所贡献的方案数为。因此,三条边(同时也是弦)所对的弧(劣弧)都是整个圆周的三分之一,即。被枚举到,因此一个三角形会被计算到三次,最终答案除以三就好了。,并且角都是圆周角,所以三条边所对的圆周角都是。那么,如果我们将第一个点在圆上的位置标为。由于三角形的三个顶点的位置有且仅有一个在。
2025-11-22 11:12:10
570
原创 洛谷 P10315 [SHUPC 2024] 原神,启动!
一定别忘了检查代码的顺序是否合理啊!(高斯消元两行写反了导致交换方程的地方写错,调了两天,大家不要学我……一定满足有一个式子的系数全部为零,并且等号右边的值不为零,输出前特判一下就好了。,其余都为零,那么我们输出第一个之后把右边的值设为零就好啦。(因为一次攻击只会导致进入下一个状态,如果是进入往后的第。题目要求我们构造一个可能解,首先可求出的一定不能动。个石碑都需要进行一定的状态转移,相当于有。个石碑,攻击每个石碑都会导致一些石碑(),其实就是这题的特殊版(好了上代码,注释都有了。个需要满足的方程组。
2025-11-08 11:58:34
769
原创 洛谷 P9847 [ICPC 2021 Nanjing R] Crystalfly
明显,如果每个子树我们都抓到了最多的晶蝶,那么总体来看绝对就是最优解。这样肯定是不优的,因为你最后还是会回来,但是一些晶蝶已经飞走了,所以这样走的两步肯定是不划算的,这种情况就不考虑了(所以是第零种)。号节点)开始走,当你到达这个节点的父亲(总不可能先到它的儿子吧……)时,过一段时间晶蝶就会飞走,求你能抓到的晶蝶最大值。由于儿子的晶蝶都没了,你只要不走下去就不会惊扰到子树里其余的晶蝶。的其他儿子肯定是吃不到(就是抓不到晶蝶了,原谅我这个习惯)了。),你选了它和没选它,差的只是它自己,再往下的最优还是最优。
2025-11-08 11:53:57
981
原创 CSP-J/S 2025 游记
就这样吧,应该是最后一次了。可能有点啰嗦,以后也不会再有了。wydqwqmiyachnb1tset等人,有缘再会吧。
2025-11-02 21:48:13
432
原创 数论取模学习笔记
本文探讨了费马小定理和欧拉定理在数论中的应用及其证明。费马小定理指出,对于质数p和与p互质的a,有a^(p-1)≡1(mod p),其证明基于完全剩余系和模的除法性质。欧拉定理推广了这一结论,表明对于任意与m互质的a,a^φ(m)≡1(mod m),其中φ(m)是欧拉函数,表示1到m中与m互质的数的个数。文章还详细介绍了欧拉函数的计算方法,并给出了快速求逆元和简化乘方运算的应用实例。通过代码实现展示了如何利用这些定理高效解决数论问题。
2025-11-02 21:39:30
691
原创 洛谷 P13517 [KOI 2025 #2] 障碍物
题目传送门:P13517 [KOI 2025 #2] 障碍物求从数轴上的位置 000 开始,最少走或跳几步才能越过所有的障碍物(无法完成则输出 )。很明显的动态规划。分析:我们考虑用 fif_ifi 记录从位置 000 到位置 i−1i - 1i−1 所需的最少步数。因为下面计算位置 000 到位置 111 所需的最少步数时会用到位置 000 到位置 -1\text{-}1-1 所需的最少步数,为了简便,我们规定:f1=0f_1=0f1=0,同时为了防止数组越界,我们把 iii 整体加 111(其实就
2025-09-13 12:09:54
2099
1
原创 洛谷 P13753 【MX-X17-T2】The median of sum
是可以为负数的,当所有的数都是负数的时候,明显所有数据都分到一个组里是最优的。既然是中位数,那么我们就只需要让中位数尽量小就好啦!完全可以(虽然从分组的观点看来比较诡异)。(如果仍然有负数),把所有负数放进。份后求和所得到的一组数据的。的最小值,其余全部“塞”到。个数据,求把这些数据分成。时,中位数的编号就是。(如果全部都是负数)或。大的数据)的最小值。
2025-09-12 22:58:53
811
1
原创 洛谷 P1271 【深基9.例1】选举学生会
因为这个更好,以后的计数排序需要输出每个元素原始的位置,而且再往后,需要进行多次计数排序和不同的数组,这种写法可以少引入一个变量。数组记录每个元素出现的次数,因此读入一次就要。)且都是整数,所以考虑最简单的计数排序。,因此此处万不可根据做题的惯性写成。由于数据范围很小(都小于等于。,因此输出时会少输出一个。),最后把数字排序输出。,那么程序会陷入死循环。
2025-09-12 22:54:03
1032
原创 洛谷 P13596 『GTOI - 1C』Top Miner
格点是没有大小的,然而冰块有(没错这是我选择冰块作为证明的原因只一),由于边是一条线段,处于边上的冰块都会被“割”成两半,只有一半在多边形内部。题解区里已经有大佬给出了数学证明,但在这里我想给出一个更好理解,也更有趣的做法(忽略图形中间的那条线)。于是,当一个点上的冰融化后的水到达这条线时,它的对称点上的水也刚好到达。特别注意:矿脉的顶点都在整数坐标(也叫格点)上,同时如果你想拿到满分,你询问的矩形总面积不能超过。注意到,对于任意一个不在线段上的格点(在线段上的点同理),都一定存在另一个点,使得两个点。
2025-09-12 22:19:35
897
原创 洛谷 P13970 [VKOSHP 2024] M-11 Highway
之后就是考虑休息区了,休息区在两个加油站中间,可以直接枚举。左右,被卡掉理所应当。于是我们就有了初始代码(此处会有些许跳脱,代码内会有讲解)。是不是有那种感觉了?没错,我们要在前缀和上再做一遍前缀和(按递增顺序(这里就是读入顺序)存下每个加油站的位置。将表示与之前略有不同的含义,注意辨析。因为我们的前缀和只优化了一个。开头的三元组,贡献的答案是(此处。做前缀和,那么区间查询就很简单啦。,对其进行二分查找,找到最大的。之间的加油站也一定满足要求。::::warning[注意],还是不行,我们至少要优化到。
2025-09-12 21:42:56
731
原创 洛谷 P2377 三角形图
我的思路表达不清楚,因而在此不再赘述。为防止跟我一样的蒟蒻看不懂代码(很明显,对于两个全等的图形。PS:大佬也有失误的时候吗?),所以还是贴一份思路吧。该算法的时间复杂度为。接下来就是最激动人心的。以下思路来自洛谷用户。
2025-04-13 18:26:20
1149
原创 洛谷 P1031 [NOIP 2002 提高组] 均分纸牌 (贪心算法)
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移到编号为 N−1 的堆上;其实这些担心纯属多余,a[ n - 1 ]移动完成后,a[ n ]一定等于0,不然怎么做到平均数为sum呢?如果a[ 1 ] ~ a[ k - 1 ] 都等于零,而a[ k ] ≠ 0 ,那么a[ k + 1 ] = a[ k + 1 ] + a[ k ]。注意:由于我们每堆牌都要一次移好,所以a[ k ]移好之后就不用管了,所以a[ k ] = 0可有可无。
2025-03-02 14:40:47
1264
原创 洛谷 P1002 过河卒
卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。真正到边线上的点的路径条数应该是他的上一个点的条数(上边界就是它左边的点,左边界就是它。剩下的点就是普通点了,到它们的路径条数当然就是到它左边点的条数+到它上面点的条数。到某点的路径条数=到它左边点的条数+到它上面点的条数(前提是这两点都可到)。当然在外面加一层if判断就好了!
2025-02-27 12:57:57
396
原创 杭州电子科技大学 online judge 1000 题 A + B Problem(蒟蒻勿喷)
说明:scanf函数在输入成功时会返回输入变量的个数,如果输入失败就会返回EOF,千万不要写“!大致意思就是:不断输入A和B,输出它们的和。首先,题目要求不断输入A和B,接下来就简单了,不再一一赘述。
2025-02-23 19:45:06
428
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅