上一页 1 2 3 4 5 6 7 8 9 10 ··· 65 下一页
摘要: 原题链接 题解 很抽象的建模,我一开始想的是韦恩图,然后韦恩图里选取 若干 个点,还要保证每个图都能选上,然后把韦恩图抽象成点,图中的点抽象成待匹配的点,然后就是二分图匹配了 code #include<bits/stdc++.h> #define ll long long #define lb l 阅读全文
posted @ 2024-08-04 12:39 纯粹的 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 割点的特性: 以 s 为根节点dfs,割点的dfn序小于 t 点,且在割点dfs之后 t 点才有dfn序 code #include<bits/stdc++.h> #define ll long long using namespace std; vector<ll> G[20000 阅读全文
posted @ 2024-08-04 11:17 纯粹的 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 如果某个半联通子图包含一个点,那么该点所在的强连通分量一定可以被包含进来,因此,我们可以对强连通分量缩点 缩完点之后最长链就是答案了 维护以每个点为首的最长链大小和个数 阅读全文
posted @ 2024-08-03 22:11 纯粹的 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 题目目的:建立一个最小生成树 那么直接按边权排序后合并就行了 啊!!!! 阅读全文
posted @ 2024-08-03 19:27 纯粹的 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 优秀博客 朴素贪心: 每次找一条路,易得一条路的最大流量为路径上的最小权值,因此多次bfs遍历找合法路径,然后dfs更新路径上的权值 缺点请看上面的优秀博客 因此建立反向边的作用,有点类似于二分匹配:这条路径的部分流量由我负责,现在你去负责其他路径 第一次学,还是有很多地方不懂 co 阅读全文
posted @ 2024-08-03 14:16 纯粹的 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 往无向图中添加至少几条边,使得图中包含奇数环? 注意是要添加少边,而不是使环小 讨论 1.0条 当且仅当原图中存在奇环,方案数为0 用bfs染色判断,即对于一个环,bfs一定会绕一圈该环,然后黑白染色判断奇偶即可 2.一条 当且仅当存在一连通图大小大于等于3 对于该连通图内,对方案数 阅读全文
posted @ 2024-08-01 20:44 纯粹的 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 对于硬币数变为零的点,由于既不能穿越,也不能选取,所以等于删掉了 所以操作就变成了,选取一个点,删除以其为根的树的所有叶子节点 先将树退化成链,考虑链上操作的情况,如果选取链上端点,总节点数只减一,否则减二 因此对于树上任意一条链,每次选取会导致要么减一要么减二,因此只考虑最长链的长 阅读全文
posted @ 2024-07-31 15:46 纯粹的 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 朴素做法: 每次询问,二分最小边,然后bfs遍历查看是否能到达,时间复杂度 \(O(q\cdot logn\cdot m )\) 优化: 如果答案里的最小边是 \(k\) ,那么代表所有边权不小于 \(k\) 的边都可以使用,因此可以直接从大到小加入边,直至起点与终点连接 时间复杂度 阅读全文
posted @ 2024-07-31 14:02 纯粹的 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 易得当区间异或和不为完全平方数的时候合法 朴素做法: 遍历所有区间,看看异或和是不是完全平方数 优化: 异或是可以交换运算顺序的,如果区间 \([l,r]\) 异或和为完全平方数,那么代表 \(pre[r] \oplus pre[l-1]==k\) 其中k为完全平方数 也就是说,\( 阅读全文
posted @ 2024-07-31 13:11 纯粹的 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原题链接 题解 如果一个 \(k\) ,其前面没有出现过 \(k-1\) ,那么回合数+1,我们令这样的数叫做断点 因此交换两个数 \(l,r\) 不会影响 \([1,l-1],[r+1,n]\) 内的断点 code #include<bits/stdc++.h> #define ll long l 阅读全文
posted @ 2024-07-31 12:24 纯粹的 阅读(10) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 65 下一页