试题

糖糖别胡说,我真的不是签到题目

时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 131072K,
其他语言262144K 64bit
IO Format:%lld

题目描述

从前,有n只萌萌的糖糖,他们分成了两组一起玩游戏。他们会排成一排,第i只糖糖会随机得到一个能力值bi。从第i秒的时候,第i只糖糖就可以消灭掉所有排在他前面的和他不是同一组的且能力值小于他的糖糖。

为了使游戏更加有趣,糖糖的爸爸,娇姐,会发功m次,第i次发功的时间为ci,则在第ci秒结束后,b1,b2,…,bci都会增加1.

现在,娇姐想知道在第n秒后,会有多少只糖糖存活下来。

输入描述:

第一行只有一个整数T(T<6),表示测试数据的组数。
第二行有两个整数n,m。表示糖糖的个数以及娇姐发功的次数。(1<=n<=50000,1<=bi<=1000000)
第三行到n+2行,每行有两个整数ai,bi,表示第i只糖糖属于那一组以及他的能力值。(0<=ai<=1,1<=bi<=1000000)
第n+3行到第n+m+2行,每行有一个整数ci,表示GTW第i次发功的时间.(1<=ci<=n)

输出描述:

总共T行,第i行表示第i组数据中,糖糖存活的个数。

示例1
输入

1 4 3 0 3 1 2 0 3 1 1 1 3 4

输出

3

题解:

我们先想想一个糖糖能活下来需要什么条件?
就是在它后面不存在一个比他的大的且不在一个组
两个要求:不能比他大且不在一组
这样我们其实就可以从后往前扫描,(因为这样扫描过的,不会再被消灭,我们就不用再管了),来维护当前位置往后每一组糖糖的最大值,然后比较,如果比这个位置大,这个位置的糖糖不就被消灭了

还有个发功问题(头大)
发功后并不是都+1,而是前ci个人+!,前ci个人之间的相对大小并没发生改变,所以不影响第ci个糖糖在第ci秒消灭他前面的糖糖。
而第ci之后的并没有+1,那咋办?我们可以用每个人最后的能力值来判断到底能不能存活
我们先求出每个糖糖最后的能力值,倒着判断每个糖糖是否能存活,用前缀和优化

具体看代码:

#include<bits/stdc++.h>
#define forr(n) for(int i=1;i<=n;i++)
typedef long long ll;
using namespace std;
const ll maxn=1e5+2;
ll t;
ll n,m;
ll s[maxn];
ll a[maxn];
ll b[maxn];
ll pre[maxn];
ll sum,maxx,maxx1;
int main(){cin>>t;while(t--){cin>>n>>m;forr(n){cin>>a[i]>>b[i];        }forr(m){ll w;cin>>w;s[w]++;}for(int i=n;i>=1;i--) pre[i]=pre[i-1]+s[i];for(int i=n;i>=1;i--){b[i]+=pre[i];if(!a[i]){if(b[i]>maxx1) maxx1=b[i];//更新0队伍的最大值 if(b[i]<maxx) sum++;}else{if(b[i]>maxx) maxx=b[i];//更新1队伍最大值 if(b[i]<maxx1) sum++; }}cout<<n-sum;}return 0;
}/*
1
4 3
0 3
1 2
0 3
1 1
1
3
4
*/

牛客网【每日一题】4月21日题目精讲 糖糖别胡说,我真的不是签到题目相关推荐

  1. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  2. 2021-09-02牛客网每日10题--前端

    3 ng-class是做什么用的? 给元素绑定类名 eg:用法①: // An highlighted block <div ng-class="{'A':isA,'B':isB,'C ...

  3. 牛客网SQL刷题笔记(MySQL)

    牛客网SQL刷题笔记(MySQL) 此博客集合LeetCode.牛客网常见的题型及其解法,侵删 目录 牛客网SQL刷题笔记(MySQL) 类型1:查找排名第几的数据 SQL2 查找入职员工时间排名倒数 ...

  4. 牛客网Java刷题知识点之关键字static、static成员变量、static成员方法、static代码块和static内部类...

    不多说,直接上干货! 牛客网Java刷题知识点之关键字static static代表着什么 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个"伪全局"的概 ...

  5. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数...

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  6. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合...

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

  7. 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  8. 牛客网Veirlog刷题答案目录(持续更新)

    牛客网Veirlog刷题答案目录(持续更新) 基础篇 进阶篇 基础篇 1.VL1--四选一多路选择器 2.VL2--异步复位的串联T触发器 3.VL3--奇偶校验 4.VL4--移位运算与乘法 5.V ...

  9. 牛客网刷算法题的输入输出(C++)

    内容简述 该篇文章将对牛客网刷题中关于输入输出的一些问题作一个总结.每年互联网公司的招聘都必不可少会有算法题,因此平时很多人都会去一些刷题网站进行刷题来学习.这里面用的比较多的刷题网站是leetcod ...

  10. 【百日冲大厂】第十篇,牛客网选择题+编程题井字棋+密码强度等级

    前言: 大家好,我是良辰丫,刷题的第十篇,牛客网选择题+编程题井字棋+密码强度等级.

最新文章

  1. win10运行在哪里_升级!Win10 2004版即将推送,减少CPU占用率,旧电脑也运行如飞...
  2. 微服务限流Sentinel讲解(四)
  3. fvdm 跟驰模型 matlab仿真_【新书推荐】【2009.01】控制系统MATLAB计算及仿真(第3版)(黄忠霖)...
  4. Java处理split分割【for循环】
  5. 几种常见的RAID形式
  6. python 字典操作
  7. mysql中的字段类型
  8. php 将颜色透明度,css中如何使颜色透明度
  9. 【英语学习】【WOTD】gibbous 释义/词源/示例
  10. .net pdf转图片_在客户端实现PDF转图片
  11. 百练_4123 马走日(深搜)
  12. Access数据库解密方法大盘点
  13. php 随机经纬度,随机像mariadb插入10万数据,包括经纬度以及调用百度map API获取...
  14. Android 悬浮窗的实现(类似于360加速球)
  15. 7款纯CSS3实现的炫酷动画应用
  16. QImage与QPixmap区别
  17. 大连发展中韩跨境电子商务势在必行
  18. 成功解决 zsh: command not found
  19. 以太坊(9)go-ethereum + mist 开发环境搭建 --mac
  20. “字符串的展开”【题解】

热门文章

  1. 将历史、数学、语文、地理、政治知识融会贯通的诀窍就是它
  2. 惊呆了!竟然还有这样的操作!
  3. 当Java、C++、Python等编程语言都变成妹子。。。
  4. Java类集-set
  5. mysql kill hup_kill -HUP pid
  6. php类的的属性值,PHP面向对象之旅:类的属性
  7. wordpress多站点主站调用分站最新文章_企业网站SEO最新的7个优化步骤!
  8. 算法题目——子序列和问题(poj-3061)(尺取法)
  9. PHP做二次开发:ThinkCMF门户应用安装
  10. [MyBatisPlus]测试BaseMapper的功能测试自定义功能