摘要: 7.8 个人赛打的还可以,就是F题敲得太慢了,最后差十分钟做出来。 补了一个重要不难但是原来没注意到的一个知识点 \(01bfs\) ,做了四道相关题,将F题写进了双端队列的内容中,感觉非常不错的一题。 7.9 组队赛达到开始目标了(比一队少一题,乐)。 有点遗憾,不对,非常遗憾,G题被卡了,原因是 阅读全文
posted @ 2024-07-08 21:05 mhw-mathcode 阅读(116) 评论(3) 推荐(1)
摘要: 图论 同余最短路 搜索 双向搜索 01bfs 数据结构 字符串 数论 组合数学 dp 悬线法 树上问题 树上启发式合并 others 阅读全文
posted @ 2024-07-01 11:58 mhw-mathcode 阅读(33) 评论(0) 推荐(0)
摘要: 1001 循环位移 双哈希 1002 星星 简单 \(dp\) ,使用 \(dp[i][j]\) 表示前 \(i\) 轮获取 \(j\) 颗星星的最小贡献。时间复杂度 \(O(\sum n\times k)\) 。 1003 树 树上启发式合并,当时只知道原理,没写过题目,不应该按照自己理解瞎写的, 阅读全文
posted @ 2024-07-31 13:49 mhw-mathcode 阅读(178) 评论(0) 推荐(0)
摘要: 树上启发式合并(DSU on tree),和莫队一样都是暴力美学,用于解决一些树上离线问题,尤其是指“对于每个节点,询问关于子树的信息”这类问题。而且虽然是暴力做法,但是时间复杂度神奇的来到了 \(O(nlogn)\) 。 启发式合并 启发式合并是一种思想,在合并两个集合时,优先将小集合合并到大集合 阅读全文
posted @ 2024-07-20 10:45 mhw-mathcode 阅读(239) 评论(0) 推荐(1)
摘要: E 题意:给定一个数 \(x\) ,找出严格小于 \(x\) 的一个数 \(y\) 使得 \(gcd(x,y)=x\oplus y\) 。 赛时小 \(wa\) 一次,答案就是 \(x-lowbit(x)\) (不为 \(0\) 的前提下)。 C 题意:给定一个图,有的地方可以走,有的地方不能走,能 阅读全文
posted @ 2024-07-18 19:27 mhw-mathcode 阅读(301) 评论(0) 推荐(1)
摘要: 使用 \(dp\) \(O(n*m)\) 解决矩阵最大面积问题。 两种解法,一种直接抄板子,但是需要将图抽象成为二维平面上,一些点固定可选,一些点固定不可选。换句话说,对于一个 \(01\) 矩阵,找出一个面积最大的矩形使得这个矩形内所有点都是 \(1\) 。 另一种解法,悬线找出每个节点可以向上/ 阅读全文
posted @ 2024-07-09 23:18 mhw-mathcode 阅读(70) 评论(0) 推荐(0)
摘要: 常常用于解决这样一类问题: 给定n个整数,每个整数可以取任意多次,询问他们能凑出的数的信息。 不如说是一个小 \(trick\) 。对于一些数 \(a_{1},a_{2},\dots,a_{n}\) ,考虑 \(a_{1}\) (也可以是最小的数以降低时间与空间复杂度)的所有同余类 \([x]\) 阅读全文
posted @ 2024-07-09 10:25 mhw-mathcode 阅读(76) 评论(0) 推荐(2)
摘要: 针对一类特殊图求最短路,如果边权只有01则可以使用双端队列代替堆,将最短路的时间复杂度从 \(O(nlogn)\) 降为 \(O(n)\) 。原理:每次所走边边权为0则放队首,边权为1则放队尾。 (对于 \(01bfs\) 是否需要 \(vis\) 数组,我不是很清楚,而且各种版本都有,我自己觉得使 阅读全文
posted @ 2024-07-08 19:04 mhw-mathcode 阅读(65) 评论(0) 推荐(0)
摘要: 双向搜索(meet in the middle),用于处理数据量小但是还没达到暴搜要求,比如 \(O(2^{40})\) ,使用双向搜索可以优化到 \(O(2^{20})\) 。 算法如其名,从两端同时搜索最后在中间相遇,每端搜索只需要处理一半数据量。 题目1 很难评,写了一个假的双向搜索然后 \( 阅读全文
posted @ 2024-07-08 19:01 mhw-mathcode 阅读(58) 评论(0) 推荐(0)