上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 传送门 麻了一道大水题因为我忘了图不一定联通调了 40 分钟... 思路 一棵树的情况很好解决,按照拓扑序(也就是从叶子到根)进行匹配,且每次都最后匹配与父亲的连边(若边数为奇数则不匹配) 变成无向图后,考虑先走出一棵 DFS 树,然后和树的做法一模一样 其实这样的做法就是为了时刻保持原本的联通性 阅读全文
posted @ 2022-09-07 15:31 zuytong 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路 dfs 树的一道出色的应用题 令 $k=\lceil \sqrt n \rceil$ 我们先按照遍历的顺序构建出 dfs 树 对于一条返祖边 $(u, v)$,如果有 $dep_u-dep_v +1\ge k$,那么 dfs 树上的链 $(v, u)$ 就是一个满足要求的环 假如并没有 阅读全文
posted @ 2022-09-06 15:24 zuytong 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 传送门1 传送门2 被 A 题爆踩,没救了... 哦原来是 CEOI 啊,还有救还有救... 思路 首先这 $2^m$ 张图中,如果它是 DAG,那么他们字典序最小的拓扑序两两不同 因为假设反转 $(u,v)$,那么 $u,v$ 的入度关系就会改变,他俩的拓扑序一定会反过来 考虑将问题化简:对于一个 阅读全文
posted @ 2022-09-06 14:16 zuytong 阅读(38) 评论(0) 推荐(1) 编辑
摘要: 很少打 AT 的比赛,结果 $C$ 都想不出来,$B$ 差点被踩爆,还是太菜了诶 A 题意: $N\le 2e5$ 的序列,每次拿出最大的数 $a_i$ 和最小的数 $a_j$,将 $a_i\bmod a_j$,如果等于零,则删除。问需要多少次序列只剩一个元素 思路: 用 multiset 维护序列 阅读全文
posted @ 2022-09-05 16:21 zuytong 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 传送门 考场上绝对不可能想出来的... 就算能想到一点点,但这个复杂度看起来很不正确,很难1继续往下想... 思路 容易想到的是,我们一定是从一棵树的起点 $s$ 走到某点 $x$,再从 $x$ 一直走横路(也就是树与树之间的边)到目标树的 $x$,再从这棵树的 $x$ 走到终点 $t$ 假设 $w 阅读全文
posted @ 2022-09-05 15:26 zuytong 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路 一个朴素的想法就是 树剖 + 可持久化 trie 树 但这样是 $O(qm\log^2 V)$ 的,$30s$ 跑不过去 但我们注意到,我们每次最多访问到前 $m\log V$ 大的数 我们就可以考虑将前 $m\log V$ 大的数取出来,从大到小枚举数位,判断是不是有 $m$ 个数这 阅读全文
posted @ 2022-09-05 14:51 zuytong 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路 考虑使用莫队 当加入一个数时,如果不是第一次加入,就不用管它; 否则,我们在权值线段树上记录它的贡献 为了方便修改,线段树上需要记录的是:它的排名减一的斐波那契数与它的乘积,以及它的排名的斐波那契数与它的乘积,记为 $pre,sum$ 假如我们加入一个数 $x$,那我们需要统计 $1$ 阅读全文
posted @ 2022-09-03 07:20 zuytong 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 传送门 这真是一道分块神题! 思路 我们先将点编号进行分块 令 $b[i]$ 表示 $i$ 的祖先中,最近的不与 $i$ 同一个块的结点编号 显然,如果 $pos[a[i]]<pos[i]$,那么 $b[i] = a[i]$;否则 $b[i] = b[a[i]]$($pos[i]$ 表示 $i$ 所 阅读全文
posted @ 2022-09-02 20:31 zuytong 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路 (%%% lby大佬爆切此题) 对于这种能延迟生效的东西,第一考虑就是打标记 先考虑操作 1:我们假设给所有点一个初始点值 $-1$,当要指定一个点 $x$ 进行操作 1 时,我们将 $x$ 的点权加一,因此, $x$ 的点值实际上代表着它向自己的子树传递的次数 再考虑查询:当询问 $ 阅读全文
posted @ 2022-09-02 09:07 zuytong 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 传送门 思路 $2^{100000}$ ?别想了,普通高精度肯定不行 但我们发现,求最短路的过程中,其实是用到了比较大小和加法操作 细想比较大小的过程,当长度相同的数,我们会先略过前面相同的部分,比较第一个不同的数字,时间大部分都耗在了相同部分的枚举上 我们就可以使用二分,找出第一个不同的数字 对于 阅读全文
posted @ 2022-09-01 19:15 zuytong 阅读(33) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页