随笔分类 - 算法-数学-概率期望
摘要:初步转化:不管死了多少个猎人,我们开枪时仍然在 n 个猎人里进行选择,如果选到了已经死去的猎人,就假装无事发生,再选一次,直到某次选中了活着的猎人为止。之后使用容斥,考虑哪些人死的时间晚于 1,写出式子后,发现可以用分治 NTT 计算。
阅读全文
摘要:首先转化为算每种完美匹配出现的概率之和。发现难点是处理 t = 1 和 t = 2。将一组的两条边拆开,假装他们就是 t = 0 的两组。考虑这样算会对答案有什么影响。t = 1 时,会在两条边同时出现在完美匹配里时,把概率少算 1/4。我们新建一种转移,把这 1/4 补回来即可。t = 2 同理。
阅读全文
摘要:记两次查询的节点分别为 a, b,两次查询得到的结果分别为 d1, d2。我们依次枚举 a, d1, b, d2。枚举 a, d1 后,对每个点 v,预处理出罪犯第二天来到点 v 的概率 p(v)。这样就能很方便地对一组 (a, d1, b, d2) 计算答案。发现对同一个 a,在所有 d1 下,p(v)!=0 的点 v 数量是 O(n) 的。所以这四重枚举的时间复杂度,实际是 O(n^3)。
阅读全文
摘要:先考虑期望的定义,发现不好计算。于是补集转化,发现转化后可以通过简单的树形 DP 解决。添加叶子时,只需要更新它祖先的 DP 值。并且在精度允许的范围内,我们只需要更新距离不超过某个阈值的祖先。
阅读全文
摘要:涉及到无穷大的概念,就可以抛弃一些传统的 DP 做法。使用数学的推导。本题的状态设计和转移方式,都是非常巧妙的。
阅读全文
该文被密码保护。
摘要:选入了一些比较简单的题。太偏的和太难的,就不放进来啦~
阅读全文
该文被密码保护。
摘要:考虑建出AC自动机。则问题相当于,我们每步会从节点$i$等概率地走向$\text{trans}(i,0)$或$\text{trans}(i,1)$。给定了一个起点和若干个终点,求从每个终点结束的概率。 因为到达一个终点后游戏就结束了,我们不会继续走,所以每个终点被经过的次数要么是$0$,要么是$1$
阅读全文
摘要:首先使用 minmax 容斥。然后通过推导,进一步转化为求子集里一个点都覆盖不到的区间数。暴力枚举子集是 2^n 的,太慢了。考虑对满足 xxx 条件的子集数量进行 DP 计数。复杂度 n^4。
阅读全文