【雅礼联考DAY02】Magic
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
const int N = 1e5;
int n , lim , x[N + 5] , y[N + 5] , z[N + 5] , sum;
int bl[(N << 1) + 5] , c[(N << 1) + 5] , p[(N << 1) + 5];
struct point{
int l , r , bl;
}a[N + 5];
LL ans;
inline int read()
{
char ch = getchar();
int res = 0;
for(; ch < '0' || ch > '9'; ch = getchar());
for(; ch >= '0' && ch <= '9'; ch = getchar()) res = (res << 3) + (res << 1) + ch - '0';
return res;
}
inline int lowbit(int x) {return x & (-x);}
inline bool cmp(point x , point y){return x.r < y.r;}
inline void add(int x , int v)
{
for(; x <= lim; x += lowbit(x)) c[x] += v;
}
inline int query(int x)
{
int res = 0;
for(; x; x -= lowbit(x)) res += c[x];
return res;
}
int main()
{
// freopen("Magic.in" , "r" , stdin);
scanf("%d" , &n);
for(register int i = 1; i <= n; i++)
{
a[i].l = read() , a[i].r = read();
if (a[i].l > a[i].r) swap(a[i].l , a[i].r);
a[i].bl = bl[a[i].l] = bl[a[i].r] = i;
p[a[i].l] = 1 , p[a[i].r] = 2;
}
lim = n << 1;
sum = 0;
for(register int i = 1; i <= lim; i++)
{
if (p[i] == 1) x[bl[i]] += sum;
else sum++;
}
sum = 0;
for(register int i = lim; i; i--)
{
if (p[i] == 2) x[bl[i]] += sum;
else sum++;
}
sort(a + 1 , a + n + 1 , cmp);
for(register int i = n; i; i--)
{
x[a[i].bl] += query(a[i].l);
add(a[i].l , 1);
}
memset(c , 0 , sizeof c);
for(register int i = 1; i <= n; i++)
{
y[a[i].bl] = query(a[i].r) - query(a[i].l);
add(a[i].l , 1);
}
for(register int i = 1; i <= n; i++) z[i] = n - x[i] - y[i] - 1;
for(register int i = 1; i <= n; i++)
ans += 1LL * x[i] * y[i] + 1LL * (x[i] + y[i]) * z[i] / 2;
ans = 1LL * n * (n - 1) / 2 * (n - 2) / 3 - ans;
printf("%lld" , ans);
}
【雅礼联考DAY02】Magic的更多相关文章
- 【NOIP2016提高A组模拟8.17】(雅礼联考day1)总结
考的还ok,暴力分很多,但有点意外的错误. 第一题找规律的题目,推了好久.100分 第二题dp,没想到. 第三题树状数组.比赛上打了个分段,准备拿60分,因为时间不够,没有对拍,其中有分段的20分莫名 ...
- 【NOIP2016提高A组模拟8.19】(雅礼联考day2)总结
第一题又有gcd,又有xor,本来想直接弃疗,不过后来想到了个水法: 当两个相邻的数满足条件时,那么他们的倍数也可能满足条件.然后没打,只打了个暴力. 正解就是各种结论,各种定理搞搞. 第二题,想都不 ...
- 【NOIP2016提高A组模拟8.19】(雅礼联考day2)公约数
题目 给定一个正整数,在[1,n]的范围内,求出有多少个无序数对(a,b)满足gcd(a,b)=a xor b. 分析 显然a=b是一定不满足, 我们设\(a>b\), 易得gcd(a,b)&l ...
- 【NOIP2016提高A组模拟8.19】(雅礼联考day2)树上路径
题目 给出一棵树,求出最小的k,使得,且在树中存在路径p,使得k>=S且k<=E.(k为路径p上的边的权值和). 分析 点分治,设当前为x的,求在以x为根的子树中,经过x的路径(包括起点或 ...
- 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Binary
题目 分析 首先每个数对\(2^i\)取模.也就是把每个数的第i位以后删去. 把它们放进树状数组里面. 那么当查询操作, 答案就位于区间\([2^i-x,2^{i-1}-1-x]\)中,直接查询就可以 ...
- 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Value
题目 分析 易证,最优的答案一定是按\(w_i\)从小到大放. 我们考虑dp, 先将w从小到大排个序,再设\(f_{i,j}\)表示当前做到第i个物品,已选择了j个物品的最大值.转移就是\[f_{i, ...
- 【NOIP2016提高A组模拟8.17】(雅礼联考day1)Matrix
题目 分析 假设,我们从\(F_{i,2}\)出发,那么对\(F_{n,n}\)的贡献就是\(某个系数乘以a^{n-i}b^{n-1}r_i\): 同理,如果从\(F_{2,i}\)出发,那么对\(F ...
- [JZOJ4759] 【雅礼联考GDOI2017模拟9.4】石子游戏
题目 描述 题目大意 在一棵树上,每个节点都有些石子. 每次将mmm颗石子往上移,移到根节点就不能移了. 双方轮流操作,问先手声还是后手胜. 有三种操作: 1. 询问以某个节点为根的答案. 2. 改变 ...
- Loj #6503. 「雅礼集训 2018 Day4」Magic
Loj #6503. 「雅礼集训 2018 Day4」Magic 题目描述 前进!前进!不择手段地前进!--托马斯 · 维德 魔法纪元元年. 1453 年 5 月 3 日 16 时,高维碎片接触地球. ...
- 雅礼集训1-9day爆零记
雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...
随机推荐
- python-opencv实现抖动算法
抖动算法简单介绍 简单说就是牺牲分辨率来提高颜色数量. 通过黑点的疏密程度来进行灰度的显示. 例如墨水屏幕只能显示黑白,那么我们可以取样一部分区域矩,例如2x2的一个矩阵,来显示5个级别的灰度,用4个 ...
- mybatis中xml的sql之test中文报错
在mybatis中sql,test中文报错( java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常).需加.tostring(). <if test ...
- 【大数据面试】【框架】Zookeeper作用、半数机制、命令、安装台数
〇.作用 存储和管理数据 Zookeeper=文件系统+通知机制 树形结构,每个节点被称为一个Znode(1MB) 一.半数机制 1.注意 安装奇数台(4台) 二.常用命令 ls get create ...
- layui table 表头抖动
原本table超出页面宽度(即table有横向滚动条)的情况下,缩放页面然后再设置定时器定时更新表单,会发现数据不变的时候table头部会左右抖动 而且th td比设置的minWidth 或者cell ...
- 最大值减去最小值小于或等于 num 的子数组数量问题
最大值减去最小值小于或等于 num 的子数组数量问题 作者:Grey 原文地址: 博客园:最大值减去最小值小于或等于 num 的子数组数量问题 CSDN:最大值减去最小值小于或等于 num 的子数组数 ...
- RocketMQ Schema——让消息成为流动的结构化数据
本文作者:许奕斌,阿里云智能高级研发工程师. Why we need schema RocketMQ 目前对于消息体没有任何数据格式的约束,可以是 JSON ,可以是对象 toString ,也可以只 ...
- 2022i春秋-冬季赛nan’s analysis
下载附件,在tcp的0流可以看到一个keyisChunqiuGame00504 在3流处得到压缩包,密码不是上面那个,后面对附件找了几个小时都没发现压缩包密码,我是笨比.后面才看到有在线环境. 然后找 ...
- [编程基础] Python列表解析总结
在本教程中,我们将学习使用Python列表解析(list comprehensions)相关知识 1 使用介绍 列表解析是一种基于现有列表创建列表的句法结构.列表解析提供了创建列表的简洁方法.通常需要 ...
- [机器学习] Yellowbrick使用笔记1-快速入门
Yellowbrick是一个机器学习可视化库,主要依赖于sklearn机器学习库,能够提供多种机器学习算法的可视化,主要包括特征可视化,分类可视化,回归可视化,回归可视化,聚类可视化,模型选择可视化, ...
- Windowsのcmd命令
Windowsのcmd命令 网络操作: ipconfig命令: ipconfig -all 查看网络信息 ipconfig -release 释放ip/tcp ipconfig -renew 重新获取 ...