【学习小结】min−max 容斥(反演)

最基本的min-max 容斥(见下方博客前端)

主要用来处理期望问题
几道例题
bzoj 4036 按位或
loj PKUSC 随机游走
还有一类简化lcm到gcd
51Nod1355:斐波那契的最小公倍数

kth min-max 容斥from zjp-shadow

例题很好!
就是把第k大的也可以反演,
积累容斥的时候推系数的通用思路:看最后要贡献的是那一部分,然后把所有的贡献的式子列出来,最后利用组合数(斯特林数)反演推出每项的容斥系数

因为n-k很小,把组合数拆分,维护组合数选k的方案数
写题之前要确认算法。一开始把n-k+1大和k大搞混了
这道题的边界情况应该从dp的意义出发,需要想清楚

#include<bits/stdc++.h>
using namespace std;

#define rep(i,l,r) for(register int i = l ; i <= r ; i++)
#define repd(i,r,l) for(register int i = r ; i >= l ; i--)
#define rvc(i,S) for(register int i = 0 ; i < (int)S.size() ; i++)
#define rvcd(i,S) for(register int i = ((int)S.size()) - 1 ; i >= 0 ; i--)
#define fore(i,x)for (register int i = head[x] ; i ; i = e[i].next)
#define forup(i,l,r) for (register int i = l ; i <= r ; i += lowbit(i))
#define fordown(i,id) for (register int i = id ; i ; i -= lowbit(i))
#define pb push_back
#define prev prev_
#define stack stack_
#define mp make_pair
#define fi first
#define se second
#define lowbit(x) (x&(-x))
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef pair<int,int> pr;

const ld inf = 2e18;
const int
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值