摘要:
解:step1:猎人死了之后不下台,而是继续开枪,这样分母不变...... 然后容斥,枚举猎人集合s,钦定他们在1之后死。定义打到1的时候结束,枚举游戏在i轮时结束。 发现式子是一个1 + x + x2 + x3 + ... = 1 / (1 - x) 但是枚举子集不现实,发现值域很小,我们用小Z的 阅读全文
摘要:
解:首先minmax容斥变成经过集合t的第一个点就停止的期望步数。对于某个t,设从x开始的期望步数为f(x) 如果x∈t,f(x) = 0。否则f(x) = ∑f(y) / in[x] + 1 树上高斯消元。从叶子往上,可以发现每个点都可以表示为Af(fa) + B 于是我们推一波式子,参考,就可以 阅读全文
摘要:
Min-Max容斥又称最值反演。对期望,概率同样有效。 有两种证明的方法。1是考虑每个数作为最值被计算了多少次。发现系数是组合数。然后组合数互相抵消了..(有吗?) 还有一个:来自DOFYPXY。 题目有喂鸽子,小Z的礼物,随机游走。 阅读全文
摘要:
有点权边权的树,选出k个关键点,根必须选。每个点的贡献为点权 * 到最近的关键祖先的距离。求最小总贡献。 解:树形DP是最毒瘤的算法...... 设fxij表示以x为根的子树中选了j个关键点,且x的最近关键祖先是它的i级祖先时的最小贡献。 初态:fxi0 = val[x] * dis(),fx01 阅读全文
摘要:
给定树,每条边有个大于号或者小于号,表示两个节点编号的大小关系。问有多少种树满足条件。n <= 100 解:树形DP。 设fij表示以i为根的子树中i是第j小的。转移的时候要乘上两个组合数。 1 #include <bits/stdc++.h> 2 3 const int N = 110, MO = 阅读全文
该文被密码保护。 阅读全文