Loading

上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 给一个序列 要支持两个操作 修改 \(A[x] = y\) 区间询问 \([L,R]\) 中最小的不能被表示为 \([L,R]\) 中子集合 \((subset)\) 的和 正整数 首先要明白的几件事情是 首先用一个桶装每个值的和 如果没有 $1$ 的话,答案就是 $1$ 若现在能凑成 \([1,s 阅读全文
posted @ 2020-11-04 12:11 —O0oO- 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 参考 CSDN-2019 ICPC 南昌 Regional K. Tree(树上启发式合并 + 动态开点线段树) #include<bits/stdc++.h> #define mid (l+r>>1) using namespace std; const int N = 1e5 + 100; ve 阅读全文
posted @ 2020-10-31 11:45 —O0oO- 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 树上启发式合并 ( DSU on Tree) 是一种优雅的暴力 时间复杂度是 \(O(nlogn)\) 启发式就是基于直觉或经验的意思 树上启发式合并的代码很简单 void dfs(int u,int p,bool keep){ for(u.lightson v in u.son){ dfs(v,u 阅读全文
posted @ 2020-10-30 10:28 —O0oO- 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 如图所示。 退火算法,爬山算法都是一种复杂度低,但是能得到近似解的算法。 其中爬山算法其实就是梯度下降,可能会陷入局部最优。 爬山算法:兔子朝着比现在高的地方跳去。它找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是爬山算法,它不能保证局部最优值就是全局最优值。 模拟退火:兔子喝醉了。它随 阅读全文
posted @ 2020-10-30 10:00 —O0oO- 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 最大密度子图 参考 胡伯涛论文 博客总结 无向图 \(G(V,E)\) 的密度 \(D = \dfrac {|E|} {|V|}\) 若选择了边 \((u,v)\) 则必须有 \(u \in V , v \in V\) 最大密度子图 具有最大密度的子图,最大化 \(D' = \dfrac {|E'| 阅读全文
posted @ 2020-10-27 12:03 —O0oO- 阅读(745) 评论(0) 推荐(0) 编辑
摘要: L Clock Master 求和为 \(n\) 的若干数的最大 \(LCM\) \[ n = p_{m_1}^{k_1} + p_{m_2}^{k_2} + ...+p_{m_n}^{k_n} \] 求最大的 \[ ans = ln(p_{m_1}^{k_1}p_{m_2}^{k_2}...p_{ 阅读全文
posted @ 2020-10-26 16:55 —O0oO- 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 给定一个无向图 \(G=(V,E)\) , 每个顶点都有一个标号,它是一个 \([0,2^{31}−1]\) 内的整数。 不同的顶点可能会有相同的标号。 对每条边 \((u,v)\) ,我们定义其费用 \(cost(u,v)\) 为 \(u\) 的标号与 \(v\) 的标号的异或值。 现在我们知道一 阅读全文
posted @ 2020-10-26 16:47 —O0oO- 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 网络战争 给一个无向图 \(G=(V,E)\) ,求一个边集 \(C\) ,删除 \(C\) 后 \(s\) ,\(t\) 不再连通 最小化 \[ \dfrac {\sum_{e\in C}w_e} {|C|} \] 01分数规划 每个物品价值 \(w_i\) , 花费 \(c_i\) 选一些物品使 阅读全文
posted @ 2020-10-26 15:59 —O0oO- 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 闭合子图 一个点集,不存在连接点集和点集外的边 最大权闭合子图 点权和最大的闭合子图 把闭合子图的集合映射到流网络的割的集合 原图 \(G(V,E)\) 建一个源点 \(s\) 到所有正权点,容量是点券,建一个汇点 \(t\) 到所有负权点,容量是点权绝对值。原图的所有边不变,容量 \(+\inft 阅读全文
posted @ 2020-10-26 15:53 —O0oO- 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 猪 看完题目,我很熟练的建立了一个这样的毒瘤图 于是我快乐的 AC 了它。 int main() { scanf("%d%d", &m, &n); memset(head, -1, sizeof head); rep(i, 1, m) { scanf("%d", &s); addEdge(0, i, 阅读全文
posted @ 2020-10-22 15:29 —O0oO- 阅读(100) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页