2020算法设计竞赛 H 坐火车
链接:https://ac.nowcoder.com/acm/contest/3005/H
来源:牛客网
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=5e5+;
int visa[maxn];
int visb[maxn];
ll ans[maxn];
struct node
{
int val,l,r;
}a[maxn];
struct haa
{
int l;int r;
ll sum;
}tree[maxn<<];
void build(int l,int r,int root)
{
tree[root].l=l;tree[root].r=r;
tree[root].sum=;
if(l==r) return;
int mid=l+r>>;
build(l,mid,root<<);
build(mid+,r,root<<|);
}
void up(int root)
{
tree[root].sum=tree[root<<].sum+tree[root<<|].sum;
}
void update(int pos,int val,int root)
{
int L=tree[root].l;
int R=tree[root].r;
if(L==R){
tree[root].sum+=val;
return;
}
int mid=L+R>>;
if(pos<=mid) update(pos,val,root<<);
else update(pos,val,root<<|);
up(root);
}
ll query(int l,int r,int root)
{
int L=tree[root].l;
int R=tree[root].r;
if(l<=L&&r>=R){
return tree[root].sum;
}
ll ans=;
int mid=L+R>>;
if(l<=mid) ans+=query(l,r,root<<);
if(r>mid) ans+=query(l,r,root<<|);
return ans;
}
int main()
{
int n;
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d%d%d",&a[i].val,&a[i].l,&a[i].r);
visa[a[i].val]++;
}
build(,maxn,);
ans[]=;
visa[a[].val]--; //右区间--
visb[a[].val]++; //左区间++;
for(int i=;i<=n;i++){
visa[a[i].val]--; //右区间--;
if(visb[a[i].val]){ //如果左区间包含这个数的话;
//我们就需要减掉与这个数相关的对数;
//但是左区间包含i-1这一项;而这一项在上次操作中没有出现;
//所以当两者相等的时候,tmp--;
int tmp=visb[a[i].val];
if(a[i-].val==a[i].val) tmp--;
update(a[i].val,-tmp,);
}
int tmp=visa[a[i-].val];
update(a[i-].val,tmp,);
ans[i]=query(a[i].l,a[i].r,);
visb[a[i].val]++;
}
for(int i=;i<=n;i++)
printf("%lld ",ans[i]);
printf("\n");
return ;
}
2020算法设计竞赛 H 坐火车的更多相关文章
- 2020算法设计竞赛 I、匹配星星
链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 天上有n颗星星,每颗星星有二维坐标(xi,yi)(x_i, y_i)(xi,yi),还有一个 ...
- 2020算法设计竞赛 C 汉诺塔
作者:珩月链接:https://ac.nowcoder.com/discuss/367149来源:牛客网 将木板按照Xi从小到大排序,将这时的Yi数列记为Zi数列,则问题变成将Zi划分为尽可能少的若干 ...
- 2020牛客寒假算法基础集训营4 H坐火车
题目描述 牛牛是一名喜欢旅游的同学,在来到渡渡鸟王国时,坐上了颜色多样的火车. 牛牛同学在车上,车上有 n 个车厢,每一个车厢有一种颜色. 他想知道对于每一个正整数 $ x \in [1,\ n] $ ...
- 2020年算法设计竞赛 DP
链接:https://ac.nowcoder.com/acm/contest/3002/I来源:牛客网https://ac.nowcoder.com/acm/contest/3002/I 题目描述 & ...
- 集训第四周(高效算法设计)H题 (贪心)
Description Most financial institutions had become insolvent during financial crisis and went bank ...
- 2020 年TI 杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置)
2020年TI杯大学生电子设计竞赛E题总结(放大器非线性失真研究装置) 摘要:E题的竞赛内容主要是参赛者自己搭建一个晶体管放大器,能够产生不失真.顶部失真.底部失真.双向失真和交越失真五种波形,并分别 ...
- 算法设计与分析 - 李春葆 - 第二版 - html v2
1 .1 第 1 章─概论 1.1.1 练习题 1 . 下列关于算法的说法中正确的有( ). Ⅰ Ⅱ Ⅲ Ⅳ .求解某一类问题的算法是唯一的 .算法必须在有限步操作之后停止 .算法 ...
- 算法设计和数据结构学习_5(BST&AVL&红黑树简单介绍)
前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm analysis in c++ (second ed ...
- 算法设计手冊(第2版)读书笔记, Springer - The Algorithm Design Manual, 2ed Steven S.Skiena 2008
The Algorithm Design Manual, 2ed 跳转至: 导航. 搜索 Springer - The Algorithm Design Manual, 2ed Steven S.Sk ...
随机推荐
- c 指针改变数字
之前已经有了: gcc -c day4.c -Wall gcc -o day4.exe day4.o 所以才会有以下结果
- app简单压力测试
step1:手机开发者选项中,将USB调试选上 step2:确认手机和电脑已经连接成功:adb devices step3:安装测试app:adb install package.apk (1)cd命 ...
- 全面了解Java中的15种锁概念及机制!
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类.介绍的内容如下: 1.公平锁 / 非公平锁 2.可重入锁 / 不可重入锁 3.独享锁 / 共享锁 4.互斥锁 / 读 ...
- Markdown 的效果
这是一级标题 这是二级标题 这是三级标题 这是四级标题 这是五级标题 这是六级标题 这是加粗的文字 这是倾斜的文字 这是斜体加粗的文字 这是加删除线的文字 这是引用的内容 这是引用的内容 这是引用的内 ...
- 一种使用SOC精确控制脉冲的方法
在emfi测试中需要精确的控制脉冲时间.控制器产生的脉冲信号会经过控压的MOS管,这些组件会造成很严重的延时,但是尽管如此,控制系统的高精度也是必须的,因为控制系统的误差会逐级下延,引起更大的误差. ...
- 【spring boot】SpringBoot初学(2.1) - properties读取明细
前言 算是对<SpringBoot初学(2) - properties配置和读取>的总结吧. 概念性总结 一.Spring Boot允许外化(externalize)你的配置.可以使用pr ...
- simmon effect(psychology experiment) : this time, we add file_function who can creat a file in the window which contains our result
#the real experiment for simon effect #load the library which is our need import pygame import sys i ...
- Git本地仓库的使用
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别点: 1.Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 S ...
- PHPMailer发送邮件遇坑小记
一:phpmailer发送邮件成功了 数据库发送状态也更改 但是用户就是没收到邮件. 出现原因:发送邮件太多 导致邮箱服务器被腾讯封了 发送的邮件统统进入了邮件服务器的草稿箱里. 解决方案: 重新修改 ...
- [Err] 1248 - Every derived table must have its own alias
问题描述 [Err] 1248 - Every derived table must have its own alias 问题原因 这句话的意思是说每个派生出来的表都必须有一个自己的别名 我的Mys ...