思路:一个O(n)O(n)的做法。我们发现b_1,b_2,...,b_xb​1​​,b​2​​,...,b​x​​都加11就相当于b_{x+1},b_{x+2},...,b_nb​x+1​​,b​x+2​​,...,b​n​​都减11。然后我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减11,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值。

 1 #define cn(i,p,q) for(int i=p;i<=q;i++)
2 #define cn1(i,p,q) for(int i=p;i>=q;i--)
3 #define pr(x) printf("%d\n",x)
4 #define prr(x) printf("%d",x)
5 #define prrr(x) printf(" %d",x)
6 #define sc(x) scanf("%d",&x)
7 #define scc(x) scanf("%lf",&x)
8 #define pr1(x) printf("%.2f\n",x)
9 #include<stdio.h>
10 #include<algorithm>
11 #include<iostream>
12 #include<string.h>
13 #include<stdlib.h>
14 #include<math.h>
15 int maxx[2][1];//两种情况分别表示两个不同队中从后往前时最大值
16 typedef struct pp
17 {
18 int xx;
19 int yy;
20 int flag;
21 } ss;
22 const int N=1e6+10;
23 ss a[N];
24 int b[N];//记录在何时放技能的次数
25
26 using namespace std;
27 int main(void)
28 {
29 int n,m,l,k,s;
30 sc(n);
31 int x;
32 int y;
33 while(n--)
34 {
35 sc(x);
36 sc(y);
37 memset(b,0,sizeof(b));
38 memset(maxx,0,sizeof(maxx));
39 int qq=0;
40 cn(i,1,x)
41 {
42 int vp;
43 int va;
44 sc(vp);
45 sc(va);
46 a[i].xx=vp;
47 a[i].yy=va;
48 a[i].flag=0;
49 }
50 cn(i,1,y)
51 {
52 sc(k);
53 b[k]++;
54 }
55 maxx[a[x].xx][0]=a[x].yy;//最后一个先初始化最大
56 cn1(i,x-1,1)
57 {
58 cn(j,0,1)
59 {
60 maxx[j][0]-=b[i];//减放技能所减少的
61 }
62 int zz=(a[i].xx+1)%2;
63 if(a[i].yy<maxx[zz][0])
64 {
65 qq++;
66 }//如果当前的小于另一组的最大值这个点就会消失
67 maxx[a[i].xx][0]=max(maxx[a[i].xx][0],a[i].yy);//更新同一组的最大值
68
69 }
70 int zk=x-qq;
71 pr(zk);
72 }
73 return 0;
74 }

BestCoder Round #66 (div.2)B GTW likes gt的更多相关文章

  1. HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数

    GTW likes function      Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...

  2. HDU 5596/BestCoder Round #66 (div.2) GTW likes math 签到

    GTW likes math  Memory Limit: 131072/131072 K (Java/Others) 问题描述 某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学<从自主 ...

  3. BestCoder Round #66 (div.2)

    构造 1002 GTW likes gt 题意:中文题面 分析:照着题解做的,我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减1,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值. ...

  4. HDU5596/BestCoder Round #66 (div.2) 二分BIT/贪心

    GTW likes gt    Memory Limit: 131072/131072 K (Java/Others) 问题描述 从前,有nn只萌萌的GT,他们分成了两组在一起玩游戏.他们会排列成一排 ...

  5. BestCoder Round #66 (div.2) hdu5592

    GTW likes math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  6. BestCoder Round #66 (div.2) 1002

    GTW likes gt  Accepts: 132  Submissions: 772  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  7. BestCoder Round #11 (Div. 2) 题解

    HDOJ5054 Alice and Bob Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  8. hdu 5636 搜索 BestCoder Round #74 (div.2)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

  9. hdu5634 BestCoder Round #73 (div.1)

    Rikka with Phi  Accepts: 5  Submissions: 66  Time Limit: 16000/8000 MS (Java/Others)  Memory Limit: ...

随机推荐

  1. C/C++ Qt 数据库与TreeView组件绑定

    在上一篇博文<C/C++ Qt 数据库QSql增删改查组件应用>介绍了Qt中如何使用SQL操作函数,并实现了对数据库的增删改查等基本功能,从本篇开始将实现数据库与View组件的绑定,通过数 ...

  2. 日常Java测试第一段 2021/11/12

    课堂测试一 package word_show;import java.io.BufferedReader;import java.io.FileNotFoundException;import ja ...

  3. Kafka入门教程(二)

    转自:https://blog.csdn.net/yuan_xw/article/details/79188061 Kafka集群环境安装 相关下载 JDK要求1.8版本以上. JDK安装教程:htt ...

  4. 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式

    1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具   本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...

  5. IPv6 私有地址

    在互联网的地址架构中,专用网络是指遵守RFC 1918(IPV4)和RFC 4193(IPV6)规范,使用专用IP地址空间的网络.私有IP无法直接连接互联网,需要使用网络地址转换(Network Ad ...

  6. C++字节对齐(对象大小)

    内部数据成员对齐参考这篇 https://www.cnblogs.com/area-h-p/p/10316128.html 这里只强调C++字节对齐特点 ①静态数据成员属于类域,在对象中不占大小 ②若 ...

  7. Linux常用命令之文件权限管理

    Linux文件权限管理1.改变文件或目录的权限:chmod命令详解命令名称:chmod命令所在路径:/bin/chmod执行权限:所有用户语法:chmod [{ugoa}{+-=}{rwx}] [文件 ...

  8. Lottie 使用

    原文:https://mp.weixin.qq.com/s?__biz=MzIxNjc0ODExMA==&mid=2247485033&idx=1&sn=54dd477b4c4 ...

  9. proguard 混淆工具的用法 (适用于初学者参考)

    一. ProGuard简介 附:proGuard官网 因为Java代码是非常容易反编码的,况且Android开发的应用程序是用Java代码写的,为了很好的保护Java源代码,我们需要对编译好后的cla ...

  10. Linux基础命令---exportfs管理挂载的nfs文件系统

    exportfs exportfs主要用于管理当前NFS服务器的文件系统. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法        /usr/sb ...