/*
离散化
差分
*/
#include<bits/stdc++.h> #define N 4000007 using namespace std;
int n,ans;
int tmp[N],a[N],b[N],s[N]; int main()
{
freopen("meizi.in","r",stdin);
freopen("meizi.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d%d",&a[i],&b[i]);
tmp[(i<<)-]=a[i],tmp[i<<]=b[i];
}
int num=(n<<)+;
sort(tmp+,tmp+num);
for(int i=;i<=n;i++)
{
a[i]=lower_bound(tmp+,tmp+num,a[i])-tmp;
b[i]=lower_bound(tmp+,tmp+num,b[i])-tmp;
s[a[i]]++;s[b[i]+]--;
}
for(int i=;i<=num;i++) s[i]+=s[i-];
for(int i=;i<=num;i++) ans=max(ans,s[i]);
printf("%d\n",ans);
return ;
}

/*
容斥原理 先保证每列满足
答案为 全部(每列满足) - 一行白(每列满足) + 两行白(每列满足)...
ans=(-1)^k*C(n,k)*(2^(n-k)-1)^m
阶乘逆元组合数
*/
#include<iostream>
#include<cstdio>
#include<cstring> #define N 200001
#define M 1000000007
#define ll long long using namespace std;
ll fac[N]={,},inv[N]={,},f[N]={,};
int n,m;
ll ans; ll ksm(ll a,ll b)
{
ll res=;
while(b)
{
if(b&) res=res*a%M;
b>>=;a=a*a%M;
}return res%M;
} ll C(ll a,ll b)
{
return (fac[a]*inv[b]%M*inv[a-b]%M)%M;
} int main()
{
freopen("matrix.in","r",stdin);
freopen("matrix.out","w",stdout);
for(int i=;i<N;i++)
{
fac[i]=fac[i-]*i%M;
f[i]=(M-M/i)*f[M%i]%M;
inv[i]=inv[i-]*f[i]%M;
} scanf("%d%d",&n,&m);
for(int k=;k<=n;k++)
{
if(k&)
ans=(ans-C(n,k)%M*ksm(ksm(,n-k)-,m))%M;
else
ans=(ans+C(n,k)%M*ksm(ksm(,n-k)-,m))%M;
}
printf("%lld\n",(ans+M)%M);
return ;
}

/*
和的期望即期望的和
55分暴力就行 线段树区间乘,加,求和
*/
#include <iostream>
#include <cstring>
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <map>
#include <complex> #define inf 0x3f3f3f3f
#define eps 1e-10 #define lc k << 1
#define rc k << 1 | 1 using namespace std; typedef long long ll;
typedef pair<ll, int> P;
ll p;
double tmp[]; struct node{
double dat, tag1, tag2;
int l, r;
}; struct seg{
node d[]; void pushup(int k){
d[k].dat = d[lc].dat + d[rc].dat;
} void build(int k, int l, int r){
d[k].l = l; d[k].r = r; d[k].tag1 = ; d[k].tag2 = ;
if(l == r){
d[k].dat = tmp[l];
return;
}
int mid = (l + r) >> ;
build(lc, l, mid);
build(rc, mid + , r);
pushup(k);
} void add(int k, double x){
double len = d[k].r - d[k].l + ;
d[k].dat = (d[k].dat + x * len);
d[k].tag1 = (d[k].tag1 + x);
} void mul(int k, double x){
d[k].dat = d[k].dat * x;
d[k].tag1 = d[k].tag1 * x;
d[k].tag2 = d[k].tag2 * x;
} void pushdown(int k){
if(fabs(d[k].tag2 - ) > eps){
mul(lc, d[k].tag2);
mul(rc, d[k].tag2);
d[k].tag2 = ;
}
if(fabs(d[k].tag1) > eps){
add(lc, d[k].tag1);
add(rc, d[k].tag1);
d[k].tag1 = ;
}
} void add(int k, int l, int r, double x){
if(l <= d[k].l && d[k].r <= r){
add(k, x); return;
}
pushdown(k);
int mid = (d[k].l + d[k].r) >> ;
if(l <= mid) add(lc, l, r, x);
if(r > mid) add(rc, l, r, x);
pushup(k);
} void mul(int k, int l, int r, double x){
if(l <= d[k].l && d[k].r <= r){
mul(k, x); return;
}
pushdown(k);
int mid = (d[k].l + d[k].r) >> ;
if(l <= mid) mul(lc, l, r, x);
if(r > mid) mul(rc, l, r, x);
pushup(k);
} double query(int k, int l, int r){
if(l <= d[k].l && d[k].r <= r){
return d[k].dat;
}
pushdown(k); double sum = ;
int mid = (d[k].l + d[k].r) >> ;
if(l <= mid) sum = (sum + query(lc, l, r));
if(r > mid) sum = (sum + query(rc, l, r));
return sum;
} }Seg; int n, m; int main(){ freopen("random.in", "r", stdin);
freopen("random.out", "w", stdout);
scanf("%d%d", &n, &m);
for(int i = ; i <= n; i ++) scanf("%lf", &tmp[i]);
Seg.build(, , n);
while(m--){
int opt, l1, r1, l2, r2; ll x;
scanf("%d", &opt);
if(opt == ){
scanf("%d%d%d%d", &l1, &r1, &l2, &r2);
double d1 = Seg.query(, l1, r1);
double d2 = Seg.query(, l2, r2);
Seg.mul(, l1, r1, double(r1 - l1) / double(r1 - l1 + ));
Seg.mul(, l2, r2, double(r2 - l2) / double(r2 - l2 + ));
Seg.add(, l1, r1, d2 / double(r1 - l1 + ) / double(r2 - l2 + ));
Seg.add(, l2, r2, d1 / double(r2 - l2 + ) / double(r1 - l1 + ));
}
if(opt == ){
scanf("%d%d", &l1, &r1);
printf("%.8lf\n", Seg.query(, l1, r1));
}
}
return ;
}

最新文章

  1. 用PhpStorm IDE创建GG App Engine PHP应用教程
  2. 译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志
  3. Ubuntu 14.04 AMD 64位 下 Android Studio 的安装
  4. JAVA——getter setter
  5. C# 执行Cmd窗口中的命令 [复制文件实例]
  6. android-non-ui-ui-thread-communications-part-5-5
  7. PAT 1012. The Best Rank
  8. 学习笔记-记ActiveMQ学习摘录与心得(一)
  9. ReSharper 8.1支持Visual Studio 2013的特色——超强滚动条
  10. [luogu P3384] 【模板】树链剖分 [树链剖分]
  11. 【http】post和get请求的区别
  12. python的white循环
  13. 错误代码: 1582 Incorrect parameter count in the call to native function &#39;str_to_date&#39;
  14. 老马Repository模式原文
  15. 第6次结对作业--郑锦伟&amp;古维城
  16. iOS高德地图让指定区域或者点显示在屏幕中间
  17. node-服务器
  18. 编译安装php5.6
  19. 搭建activemq服务
  20. BZOJ4556 [Tjoi2016&amp;Heoi2016]字符串 SA ST表 二分答案 主席树

热门文章

  1. noip模拟赛 集合
  2. hdu 1251简单字典树
  3. Dubbo 2.7.1 踩坑记
  4. Redis基于客户端分片的集群案例(待实践)
  5. JDBC的数据类型
  6. 未能找出类型或命名空间名称“T” 问题的解决方案
  7. Andorid使用WiFi 连接adb进行调试
  8. 【转】c++中placement new操作符
  9. 【CV论文阅读】生成式对抗网络GAN
  10. LoadRunner脚本编写