- 博客(10)
- 收藏
- 关注

原创 解题思路总结
在处理数组时,有时会遇到区间处理的问题,如果这个问题无法快速合并和转移(即无法使用线段树、莫队等类似算法时),那么可以考虑数与多个数之间的影响,考虑能否进行分块并快速求出分出的每一块的贡献,进而将问题简化。数 a 异或上数 b 得到数 c ,则必有 c ≥ a 、c ≥ b ,这是有时解决异或题目非常有用的性质,比如博弈论中经典的Nim游戏的解法证明正是基于异或的这个性质。大部分树上序列(如欧拉序)都让同一子树的节点连续排列,从而使诸如线段树、莫队等的数据结构和算法可以解决树上的在线查询和修改的问题。
2024-05-23 21:44:52
363
1
原创 P5012 水の数列
本题给的询问限制是区间个数,所以我们自然而然想到了在每个区间个数中找到最大的真实答案对应的信息,然后就是RMQ问题了,使用st表解决。拿到这题后,你会发现这题对于询问要求强制在线,但是询问的对象是不发生改变的,所以我们可以从这个长度为。当成单独的一个区间来统计答案信息,然后再左右判断是否可以合并,合并时对答案信息的维护是显然的。通过分析输出内容可以发现,数字越大原始答案越大,所以可以将。对应的原始答案,也就得到了每个。
2024-11-26 21:55:25
914
原创 贪心:皇后游戏
这个不等式只针对相邻两项,并不具有传递性,故而不能直接用于排序,我们得进行分类,然后推导出每一类中的不等式传递关系以及各类之间的传递关系。,而前面所有大臣的奖金越小,越有可能达成最优情况,即整体可以拆成局部且局部最优可以推出整体最优,故而可以使用贪心。,了解一下类似的贪心想法——通过比较交换相邻两项的位置前后的结果来判断是否需要交换,从而使答案最优。从宏观来看,可以发现大臣得到的奖金一定是递增的,所以我们其实就是要最小化。因为式子中存在常数项,并且式子为求最大值,所以我们假设不应交换位置,即。
2024-10-28 10:38:07
299
原创 SOS DP(子集DP)
SOSSumOverSubsetsDPSOSSumOverSubsetsDP,即子集DPDPDP,属于状压DPDPDP选择任意多个不重复的箱子,使每种物体至少选一个的方案数。有nnn个数,需要在111KKK1K≤n1<K≤n1K≤n)的区间内选择222个数,使这222个数的二进制与为000。但事实上,SOSDPSOS DPSOSDP。
2024-06-17 16:32:07
959
原创 后缀排序(后缀数组SA)
根据字符串间的比较方法,就可以发现最朴素的比较方法是从前往后一个个比较,而这可以用倍增法进行优化,从而将比较的时间复杂度从O(n)降到O(㏒。——从第一位开始比较,相同则往后继续比较,不同则哪一个字符串这一位的ASCII码(该位为空则ASCII码为0)更大,其字典序更大。(k ≤ n,n 为字符串长度),比较对象为后缀 x 和后缀 y ,上一轮排序后每个后缀暂时的排名为数组a,则。,仍相同则代表二者的长度为(k*2)的前缀相同,x和y的排名也暂时相同。值得一提的是,在倍增比较的过程中,
2024-06-14 10:28:18
398
原创 博弈论——Nim游戏
的结论,我们已经得出了这个策略——第一个人拿走 x 个石子,不就相当于石子数的异或和变为 x 吗?可以发现,这三个数的异或和为001,且在这三个数中,第三位有两个数的数值为1,第二位有两个数的数值为1,第三位有一个数的数值为1,符合上述规律。,可以选择从目前的状态转移到下一个状态,而这下一个状态,即后继状态往往是非常多的。这是个非常经典的博弈论中的公平组合游戏,即对于A、B双方而言,二者的行动限制是一样的。综上,该问题就得解了——把所有石子的数量的异或和求出来,为0则先手必输,反之先手必胜。
2024-04-01 22:01:17
1627
原创 【WC2013】糖果公园(详解)
作为一个刚学完莫队没多久的蒟蒻,看到这会因两个点不同而改变的答案贡献(不易合并),这树上两点的简单路径(易想到欧拉序,也就有了区间),这对点的修改操作,想到带修莫队这不是理所当然嘛!这也就是树上莫队不同于普通莫队的地方,而要处理这两个问题,只需要先把左边界的点的经过次数加一,这时就会发现lca一定不会贡献答案,接着再特判lca即可。根据这一点,我们可以很轻易地想到:只要在对树进行dfs时,记录下每个点的进出情况,不就可以进行区间边界的转移了吗!暂且叫这个新的序列为进出序。只是这样转移是不对的!
2024-02-02 22:57:07
1713
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人