上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 前置 博客学习 \(P(A∩B)\) 表示事件 \(𝐴\) 和事件 \(𝐵\) 同时发生的概率 条件概率: 条件概率是指事件 \(A\) 在另外一个事件 \(B\) 已经发生条件下的发生概率。条件概率表示为:\(P(A|B)\),读作“在B的条件下A的概率”。——《百度百科》 条件概率: \[P 阅读全文
posted @ 2024-09-07 09:59 sad_lin 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 51nod 3145 扔球游戏 终于听懂了一个期望题。 第 \(i\) 个位 \(0\) 的概率 \(\frac{n}{n+m}\),第 \(i+1\) 位为 \(1\) 的概率为 \(\frac{m}{n+m-1}\),然后一共有 \(n+m-1\) 个 \(i\),所以期望为 \(\frac{n 阅读全文
posted @ 2024-09-07 08:22 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 1639 绑鞋带 是个数学题。 先算全部的方案,1有5种选择,然后去掉2个还有3种选择,再去掉2个还剩1个,这就是全部方案 \(5+3+1\)。 再算合法方案,因为只能有一个环,1不能与2连,有4种选择,那1假如连4,那3的话不能连1,2,3,4,还剩2个头,\(4+2\)。 上述结论具有普遍性,全 阅读全文
posted @ 2024-09-06 17:22 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 51nod 1110 距离之和最小 考虑贪心取中位数,因为中位数到左边的点和右边的点的个数相同,更合理,权值的话可以转化为一个单点,然后没了。 #include<bits/stdc++.h> using namespace std; #define ll long long int n; struc 阅读全文
posted @ 2024-09-06 15:31 sad_lin 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 动态规划入门题 怎么看着有点像小木棍? 考虑朴素做法,我们设状态为 \(dp[i][j][k]\) 前 \(i\) 个钢筋,组成的第一根钢筋的长度为 \(j\),组成的第二根钢筋的长度为 \(k\),我们用状态储存这对组合有没有过,答案就是所有 \(j==k\) 中存在的最大的答案。 有动态转移方程 阅读全文
posted @ 2024-09-06 11:20 sad_lin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 整数分解为2的幂 这题非常厉害,建议认真看下去虽然我讲的也不好。 首先肯定先想到的是多重背包,可以把每个次幂当作物品,然后套板子。 但是这题有 \(O(n)\) 复杂度的做法,我们想如果一个数 \(i\) 是奇数,那他只能由 \((i-1)+1\) 转化过来(2的幂次只有1是奇数),那方案数就是 \ 阅读全文
posted @ 2024-09-06 09:30 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 01 背包 \(n\) 件物品,每件物品有权值和重量,给出背包体积 \(V\),从这些物品中挑选若干件(只能选一次)放入背包,使得背包内物品的总重量不超过 \(V\),问能可以得到的最大权值。 设 \(dp[i][j]\) 选取前 \(i\) 件物品重量为 \(j\) 能取得的最大的权值,可以得到转 阅读全文
posted @ 2024-09-05 21:35 sad_lin 阅读(6) 评论(0) 推荐(1) 编辑
摘要: P1337 吊打XXX SA 无疑就这几个步骤。 设初温 t; 降低系数 down<1 设定阈值 更劣随机概率选择(温度越低,概率越低) AI 评价: #include<bits/stdc++.h> using namespace std; #define down 0.996 //降低系数 int 阅读全文
posted @ 2024-09-05 16:15 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原题链接 这题因为要求满足 t 时间内,所以用 dp ,不过我们的状态比较特殊,\(dp[i][j]\) 表示到 \(i\) 点时经过 \(j\) 个点的最短时间,因为题目为 DAG 所以要用拓扑排序,每到一个点,枚举所有出边,更新出点的状态 \(f[v][j+1]=min(f[v][j+1],f[ 阅读全文
posted @ 2024-09-04 10:34 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 51nod 1366 贫富差距 这题题面挺抽象的,一个人与他所以的朋友的钱不能超过 \(d\),问朋友链上钱最多的人的钱与钱最少的人的钱相差多少,求差距的最大值 。 如果两个人不属于同一个连通块那么差距可以无穷大,好了特殊情况解决了。然后为了使这个差距最大,那么对于每个朋友我们都取 \(d\) 为权 阅读全文
posted @ 2024-09-02 20:04 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 暴力构图为 \(O(n^2)\) 无法实现,但可以发现有些边无用,可以先按 x 排序,第 i 号点与第 i+1 号点一定最近,所以建一条边,y 坐标同理,然后跑最短路即可自动选择 \(min(|x_1-x_2|,|y_1-y_2|)\) #include<bits/stdc++.h> using n 阅读全文
posted @ 2024-09-02 14:53 sad_lin 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 学习笔记 我认为我这个算法可能无法讲明白,而且工作量巨大,所以为了让你快速学会我推荐学习下列笔记。 学习笔记1 学习笔记2 学习笔记3 放个模板 #include <bits/stdc++.h> using namespace std; const int N=1e6+10; char a[N],b 阅读全文
posted @ 2024-09-01 19:57 sad_lin 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 闲话 虽然这题好像找不到原题了,但毋庸置疑地说这的确是并查集的好题。 找到了 acwing 洛谷 分析 可以先对奇偶区间进行分析,当这个有偶数个 1 时,区间 \(1-(left-1)\) 一定与 区间 \(1-right\) 的奇偶性相同。 上面的图 \(3-4\) 为偶区间,根据分析,\(1-2 阅读全文
posted @ 2024-08-30 19:40 sad_lin 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 概念 最近公共祖先简称 LCA(Lowest Common Ancestor)。两个节点的最近公共祖先,就是这两个点的公共祖先里面,离根最远的那个。 感觉其实看个图就懂了吧 图中例子 \(lca(u,v)=x;\) 这个问题理解概念不难,主要是学会如何计算,下面介绍三种方法。 方法 1.暴力法 朴素 阅读全文
posted @ 2024-08-30 08:35 sad_lin 阅读(92) 评论(2) 推荐(1) 编辑
摘要: 1.线段不覆盖问题 给出 \(n\) 个线段,选择尽量多的线段使得选择的线段相互之间无重叠,问最多可以选多少条线段。 解析 考虑贪心,将线段按右端点从小到大排序,如果这条线段的左端点大于上一条线段的右端点那就选择这条线段。 为什么这么贪是对的呢,因为将右端点排序可以使右边剩余的空间尽量大,那么剩余的 阅读全文
posted @ 2024-08-29 15:13 sad_lin 阅读(18) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页