随笔分类 -  算法-数学-概率期望

摘要:初步转化:不管死了多少个猎人,我们开枪时仍然在 n 个猎人里进行选择,如果选到了已经死去的猎人,就假装无事发生,再选一次,直到某次选中了活着的猎人为止。之后使用容斥,考虑哪些人死的时间晚于 1,写出式子后,发现可以用分治 NTT 计算。 阅读全文
posted @ 2021-03-06 21:48 duyiblue 阅读(195) 评论(0) 推荐(0) 编辑
摘要:首先转化为算每种完美匹配出现的概率之和。发现难点是处理 t = 1 和 t = 2。将一组的两条边拆开,假装他们就是 t = 0 的两组。考虑这样算会对答案有什么影响。t = 1 时,会在两条边同时出现在完美匹配里时,把概率少算 1/4。我们新建一种转移,把这 1/4 补回来即可。t = 2 同理。 阅读全文
posted @ 2021-03-01 17:25 duyiblue 阅读(516) 评论(3) 推荐(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)。 阅读全文
posted @ 2021-01-29 22:28 duyiblue 阅读(179) 评论(0) 推荐(0) 编辑
摘要:先考虑期望的定义,发现不好计算。于是补集转化,发现转化后可以通过简单的树形 DP 解决。添加叶子时,只需要更新它祖先的 DP 值。并且在精度允许的范围内,我们只需要更新距离不超过某个阈值的祖先。 阅读全文
posted @ 2021-01-22 22:01 duyiblue 阅读(114) 评论(0) 推荐(0) 编辑
摘要:涉及到无穷大的概念,就可以抛弃一些传统的 DP 做法。使用数学的推导。本题的状态设计和转移方式,都是非常巧妙的。 阅读全文
posted @ 2021-01-19 12:49 duyiblue 阅读(269) 评论(0) 推荐(2) 编辑
该文被密码保护。
posted @ 2020-06-09 23:09 duyiblue 阅读(9) 评论(0) 推荐(0) 编辑
摘要:选入了一些比较简单的题。太偏的和太难的,就不放进来啦~ 阅读全文
posted @ 2020-05-26 17:30 duyiblue 阅读(680) 评论(1) 推荐(1) 编辑
该文被密码保护。
posted @ 2020-05-03 21:14 duyiblue 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-04-20 16:13 duyiblue 阅读(2) 评论(0) 推荐(0) 编辑
摘要:考虑建出AC自动机。则问题相当于,我们每步会从节点$i$等概率地走向$\text{trans}(i,0)$或$\text{trans}(i,1)$。给定了一个起点和若干个终点,求从每个终点结束的概率。 因为到达一个终点后游戏就结束了,我们不会继续走,所以每个终点被经过的次数要么是$0$,要么是$1$ 阅读全文
posted @ 2020-04-07 11:20 duyiblue 阅读(190) 评论(1) 推荐(0) 编辑
摘要:首先使用 minmax 容斥。然后通过推导,进一步转化为求子集里一个点都覆盖不到的区间数。暴力枚举子集是 2^n 的,太慢了。考虑对满足 xxx 条件的子集数量进行 DP 计数。复杂度 n^4。 阅读全文
posted @ 2020-02-27 13:58 duyiblue 阅读(266) 评论(0) 推荐(0) 编辑