2024年9月7日

ABC 370 D 并查集解法

摘要: 今天的370 D 队友写了个并查集解法,感觉很有thinking。 每个点都在四个并查集中,当我们对某个点进行爆破时,如果它是空的,只需要找到它在四个方向的父亲节点,将该点的父亲设为邻点即可。这样可以始终将所有节点的父亲保持为其能在这个方向上到达的最近节点。 阅读全文

posted @ 2024-09-07 23:54 wuhu12345 阅读(16) 评论(0) 推荐(0)

CF Round 969 D2 A-D

摘要: A 我们发现最优的构造方式是奇偶奇的组合,遇到偶数开头直接跳到下一个奇数即可。 B rz题目,还以为 l 和 r 指的是下标,想写个线段树莽过来着,没想到是数字本身,这样的话可以忽略所有数字,只关心原数组的 max,因为只有它的改动会影响结果。 C 看到加减某数想到裴蜀定理和 gcd,但是需要注意的 阅读全文

posted @ 2024-09-07 01:48 wuhu12345 阅读(61) 评论(0) 推荐(0)

2024年9月4日

用单调栈解决经典区间最值问题

摘要: 对于“给定一个数组和若干询问,每次询问给出区间,求区间的最值”这种问题,解法多种多样,可以使用稀疏表、莫队、线段树、树状数组等算法解决。这里提供一个新的思路:单调栈。 写法很简单,但是思想很妙妙。将查询离线,每次将 [stk[top] + 1, r] 的下标插入单调栈中,之后二分得到大于等于 l 的 阅读全文

posted @ 2024-09-04 23:56 wuhu12345 阅读(92) 评论(0) 推荐(0)

2024年9月3日

CF Round970 D3 A-G

摘要: 这场更像是D4,所以明天之前会把 G、H 补上。 A 答案完全取决于 a 和 b 的奇偶性,做个特判就好。 B 开始读题没有注意到那个 square,多费了一些功夫。可以在确定 n 是平方数后构造出对应的字符串,然后与给定的字符串比较即可,因为一旦 n 确定,合法的字符串就是唯一的。 C 注意到当 阅读全文

posted @ 2024-09-03 14:07 wuhu12345 阅读(26) 评论(0) 推荐(0)

2024年9月1日

CF Round968 D2

摘要: 解决这个问题的关键思路在于如何处理最后的 0 到 x 的归置问题,就相当于序列的集合以及对应的操作是一个函数,将 0 到 m 投进去,得出的因变量加起来就是答案。而处理“如何归置”的关键,则在于从大到小的转移。 我们容易从序列中得到一个由哪些数可以变到哪些数的关系,不管序列能用几次,这个关系是唯一的 阅读全文

posted @ 2024-09-01 02:59 wuhu12345 阅读(14) 评论(0) 推荐(0)

2024年8月24日

ABC 368DF

摘要: 摆烂场,唉唉 D 做这题的时候总想着避免所需点形成一棵子树的情况,感觉处理不出来就去摆烂了。。。忘了自己在下面已经处理过了,根节点一定是所需点之一,在这个前提下只需要回溯的时候判断当前点的子树中有没有所需点,有的话就要加入所求树。 F 蛮简单的F,赛后看了看,大概 10 分钟切掉了。就是一个尼姆游戏 阅读全文

posted @ 2024-08-24 22:29 wuhu12345 阅读(11) 评论(0) 推荐(0)

2024年8月13日

tarjan缩点

摘要: 今天状态奇差,可能和昨天就睡了4小时有关,半夜还是睡不着,干脆把缩点巩固一下。 校园网这道题算是比较经典了,之前做的时候总想开一个 p 数组来记录每个点的“根”,但其实没必要, scc 数组记录的就是它们缩点后的新节点编号。 另一点就是缩点结束后的处理,对于入度和出度而言,我们其实没必要将所有缩后点 阅读全文

posted @ 2024-08-13 00:23 wuhu12345 阅读(16) 评论(0) 推荐(0)

2024年7月25日

一些并查集理解

摘要: 对于启发式并查集来说,我们可以使用 O(1) 合并,O(log) 查询,也可以使用 O(log) 合并,O(1) 查询。 假设 siz[pv] < siz[pu]。前者是合并时直接 p[pv] = pu,查询则必须要用 find 函数;后者是合并时遍历 pv 对应集合,将其根都设为 pu。 前者的 阅读全文

posted @ 2024-07-25 02:47 wuhu12345 阅读(11) 评论(0) 推荐(0)

Luogu P8026

摘要: 最近补了这道题,感觉对并查集的启发式合并有了更进一步的理解。 这道题个人当时陷入了一个误区,总以为是要从集合的角度去计算贡献的增加量,但 cnt 桶记录的其实是哈希值为 ha 的点数的数量,也就是说,我们需要理解两个点在所有图连通当且仅当两个点的哈希值相等。这很容易理解,两个点在所有图连通时,它们的 阅读全文

posted @ 2024-07-25 02:40 wuhu12345 阅读(29) 评论(0) 推荐(0)

2024年7月8日

Codeforces Round #956 (Div. 2) and ByteRace 2024

摘要: A 发现输出1~n符合结论 B **猜结论题,直接卡死俩小时,大号卡成小号了(其实还是自己菜唉唉) C 实际上就是把整个数组划成三段,而三个人对这三段的占有情况可以用全排列函数生成一下,如果发现最后的cur大于数组长度就可以标为不合法。 D 卡死B后最后剩了半小时看了下,蛮好做的,但是也挺结论,可以 阅读全文

posted @ 2024-07-08 03:31 wuhu12345 阅读(374) 评论(2) 推荐(0)

导航