ZR#330. 【18 提高 3】矿石(容斥)
题意

Sol
挺显然的,首先对每个矿排序
那么答案就是$2^x - 2^y$
$x$表示能覆盖到它的区间,$y$表示的是能覆盖到它且覆盖到上一个的区间
第一个可以差分维护
第二个直接vector暴力插入扫就行,
时间复杂度:$O(nlogn)$
#include<cstdio>
#include<algorithm>
#include<bitset>
#include<vector>
#define Pair pair<int, ull>
#define MP(x, y) make_pair(x, y)
#define fi first
#define se second
#define ull unsigned long long
#define LL long long
#define int long long
using namespace std;
const int MAXN = * 1e6 + , INF = 1e9 + , mod = ;
inline int read() {
char c = getchar(); int x = , f = ;
while(c < '' || c > '') {if(c == '-') f = -; c = getchar();}
while(c >= '' && c <= '') x = x * + c - '', c = getchar();
return x * f;
}
int N, M;
int l[MAXN], r[MAXN], a[MAXN], date[MAXN], cnt = , sum[MAXN], num[MAXN];
vector<int> v[MAXN];
int fp(int a, int p) {
int base = ;
while(p) {
if(p & ) base = (base * a) % mod;
a = (a * a) % mod; p >>= ;
}
return base % mod;
}
main() {
N = read(); M = read();
for(int i = ; i <= N; i++) l[i] = read(), r[i] = read(), date[++cnt] = l[i], date[++cnt] = r[i];
for(int i = ; i <= M; i++) a[i] = read(), date[++cnt] = a[i];
sort(a + , a + M + );
sort(date + , date + cnt + );
cnt = unique(date + , date + cnt + ) - date - ;
for(int i = ; i <= N; i++) {
l[i] = lower_bound(date + , date + cnt + , l[i]) - date;
r[i] = lower_bound(date + , date + cnt + , r[i]) - date;
sum[l[i]]++; sum[r[i] + ]--;
v[l[i]].push_back(r[i]);
}
for(int i = ; i <= M; i++) a[i] = lower_bound(date + , date + cnt + , a[i]) - date;
for(int i = ; i <= cnt; i++)
sum[i] += sum[i - ]; // for(int i = 1; i <= cnt; i++)
// printf("%d ", num[i]); puts("");
int ans = ;
for(int i = ; i <= M; i++) {
int base = ;
for(int j = a[i - ] + ; j <= a[i]; j++) {
for(int k = ; k < v[j].size(); k++) {
if(v[j][k] >= a[i]) base++;
}
}
ans = (ans + fp(, sum[a[i]]) - fp(, sum[a[i]] - base) + mod) % mod;
}
printf("%lld\n", (ans + mod) % mod);
return ;
}
/*
3 2
7 11
1 5
3 8
4
7
*/
ZR#330. 【18 提高 3】矿石(容斥)的更多相关文章
- Codeforces Round #330 (Div. 2) B. Pasha and Phone 容斥定理
B. Pasha and Phone Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/595/pr ...
- Codeforces Round #330 (Div. 2)B. Pasha and Phone 容斥
B. Pasha and Phone Pasha has recently bought a new phone jPager and started adding his friends' ph ...
- XTU 1242 Yada Number 容斥
Yada Number Problem Description: Every positive integer can be expressed by multiplication of prime ...
- 2019.03.29 NOIP训练 友好国度(点分治+容斥)
传送门 思路: 直接上点分治+容斥计算每个因数对应的贡献即可. 代码: #include<bits/stdc++.h> #define ri register int using name ...
- 【XSY2753】Lcm 分治 FWT FFT 容斥
题目描述 给你\(n,k\),要你选一些互不相同的正整数,满足这些数的\(lcm\)为\(n\),且这些数的和为\(k\)的倍数. 求选择的方案数.对\(232792561\)取模. \(n\leq ...
- 【洛谷U20626】gemo 容斥 FWT 高斯消元
题目大意 给你一个无向图,有\(m\)个询问,每次给你一个点\(x\)和一个点集\(S\),问你从\(x\)开始走,每次从一个点随机的走到与这个点相邻的点,问你访问\(S\)中每个点至少一次的期望步数 ...
- 【XSY1580】Y队列 容斥
题目大意 给你\(n,r\),求第\(n\)个不能被表示为\(a^b(2\leq b\leq r)\)的数 \(n\leq 2\times {10}^{18},r\leq 62\) 题解 我们考虑二分 ...
- 【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥)
[BZOJ5287][HNOI2018]毒瘤(动态规划,容斥) 题面 BZOJ 洛谷 题解 考场上想到的暴力做法是容斥: 因为\(m-n\le 10\),所以最多会多出来\(11\)条非树边. 如果就 ...
- 【LOJ#2542】[PKUWC2018]随机游走(min-max容斥,动态规划)
[LOJ#2542][PKUWC2018]随机游走(min-max容斥,动态规划) 题面 LOJ 题解 很明显,要求的东西可以很容易的进行\(min-max\)容斥,那么转为求集合的\(min\). ...
随机推荐
- 用PCA降维 (Principal Component Analysis,主成分分析)
参考资料:Mastering Machine Learning With scikit-learn 降维致力于解决三类问题.第一,降维可以缓解维度灾难问题.第二,降维可以在压缩数据的同时让信息损失最 ...
- Day07:常用模块,面向对象编程(对象&类)及内置函数
今日内容:1.常用模块2.面向对象编程(*****) 介绍面向对象编程 类 对象3.内置函数------------------------------1.面向过程编程 核心“ ...
- MySQL锁之一:锁详解
一. 什么是死锁 死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等的进 ...
- 设置Android让EditText不自动获取焦点
最近在做一个练手项目的时候,因为默认进入的页面有一个EditText控件,每次进入的时候会自动获取焦点弹出软键盘,体验非常不好,后来在网上找到了解决办法:在EditText的父级控件中找到以下属性,设 ...
- C#父窗体右击事件实现
之前在博问上提问过,没人回答啊,豆太少没人权? 没注册钩子的话根本没办法弹出右键菜单啊,因为在父窗体内有一个容器,所以鼠标在右击时是无法触发窗体的mousedown事件的,即使把KeyPreview设 ...
- 你所不知道的html5与html中的那些事(四)——文本标签
文章简介: 关于html5相信大家早已经耳熟能详,但是他真正的意义在具体的开发中会有什么作用呢?相对于html,他又有怎样的新的定义与新理念在里面呢?为什么一些专家认为html5完全完成后 ...
- Weblogic学习
1.WebLogic目录介绍: coherence:集群组件 modules:第三方的模块包 user_projects:存放域的文件夹(必须要创建域) utils 工具包 uninstall ...
- 虚拟机中的Linux安装VMware Tools
虚拟机中的Linux安装VMware Tools Tools" TITLE="虚拟机中的Linux安装VMware Tools" /> Tools" TI ...
- day8 服务器
XML约束 XML约束要求:大家能够看懂约束内容,根据约束内容写出符合规则的xml文件. 2.1 引入 XML语法: 规范的xml文件的基本编写规则.(由w3c组织制定的) XML约束: 规范XML文 ...
- ASP.NEt ajax 弹出窗口在页面无法关闭
<meta http-equiv="X-UA-Compatible" content="IE=9" /> 今天又有客戶投訴公司的網頁有問題. ...