给n对区间,要求每对区间恰好选一个使得选出来的n个区间有交集,问有多少方案数
可以从每一个点开始考虑 如果前面的点没有任何可行的方案,那么新点就可以作为左端点,对答案的贡献为 向后扫描的过程中,如果新的点有增加,答案的贡献若为 则可以对答案做统计即为: - 。
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef long long ll;
const int INF = 1e18;
typedef pair<int, int> PII;
const int MOD = 1e9+7;
const int N = 5e5 + 100;
vector<int>in[N],out[N];
int num[N],k;
int qpow(int a,int n) {
if (n == -1) return 0;
int ans = 1;
while (n) {