牛客 - 二分(差分)
题目链接:点击查看
题目大意:现在玩猜数字游戏,如果猜的数字比答案要大,就输出 ' + ' ,比答案小,就输出 ' - ' ,猜中了答案,输出 ' . ', 给出这样的 n 条指令,问最多有多少条指令可以同时保证正确性
题目分析:感觉蛮不错的一道差分题目,分类讨论一下:
- ' . ' :当前指令只对 pos 位置的数做出了贡献
- ' + ' :当前指令对 [ -inf , pos - 1 ] 内的数做出了贡献
- ' - ' :当前指令对 [ pos + 1 , inf ] 内的数做出了贡献
因为数据是离散化的,可以用 map 来维护,也可以离散化一下,时间复杂度都是 nlogn 级别的
代码:
#include<iostream>
#include<cstdio>
#include<string>
#include<ctime>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<stack>
#include<climits>
#include<queue>
#include<map>
#include<set>
#include<sstream>
#include<cassert>
#include<unordered_map>
using namespace std;typedef long long LL;typedef unsigned long long ull;const LL inf=0x3f3f3f3f3f3f3f3f;const int N=1e5+100;map<LL,int>mp;void update(LL l,LL r)
{mp[l]++,mp[r+1]--;
}int main()
{
#ifndef ONLINE_JUDGE
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
#endif
// ios::sync_with_stdio(false);int n;scanf("%d",&n);for(int i=1;i<=n;i++){int pos;char op[5];scanf("%d%s",&pos,op);if(op[0]=='.')update(pos,pos);else if(op[0]=='+')update(-inf,pos-1);elseupdate(pos+1,inf);}int sum=0,ans=0;for(auto it:mp){sum+=it.second;ans=max(ans,sum);}printf("%d\n",ans);return 0;
}
牛客 - 二分(差分)相关推荐
- 解题报告 - 牛客练习赛63 C - 牛牛的揠苗助长(货仓选址+二分)
链接:https://ac.nowcoder.com/acm/contest/5531/C 来源:牛客网 题目描述 牛牛有一块长度大小为n的菜园,他首先对这块菜园从1到n进行了编号,每一块地分别为1号 ...
- 牛客假日团队赛8:F.Telephone Lines(二分+spfa)
链接:https://ac.nowcoder.com/acm/contest/1069/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)
链接:https://ac.nowcoder.com/acm/contest/894/B?&headNav=acm 来源:牛客网 华华送奕奕小礼物 时间限制:C/C++ 1秒,其他语言2秒 空 ...
- 2018牛客网暑期ACM多校训练营(第十场)J Rikka with Nickname(二分,字符串)
链接:https://ac.nowcoder.com/acm/contest/148/J?&headNav=acm 来源:牛客网 Rikka with Nickname 时间限制:C/C++ ...
- Cutting Bamboos(牛客多校第九场H主席树+二分+思维)
链接:https://ac.nowcoder.com/acm/contest/889/H 来源:牛客网 There are n bamboos arranged in a line. The i-th ...
- HJ浇花(牛客竞赛 约束差分)
链接:https://ac.nowcoder.com/acm/contest/322/M 来源:牛客网 题目描述 HJ养了很多花(99999999999999999999999999999999999 ...
- 牛客练习赛76 E 牛牛数数(线性基加二分)
牛客地址 思路:全部组合异或,很容易想到使用线性基,正好线性基中有一个求第k小的用法,那我们可以二分来找 K是第几小的数,然后用总数减去. #include <iostream> #inc ...
- 牛客题霸 二分查找 C++题解/答案
牛客题霸 二分查找 C++题解/答案 题目描述 请实现有重复数字的有序数组的二分查找. 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一. 示例1 输入 复制 5, ...
最新文章
- ZOJ 2587 Unique Attack
- php mysql_query的的用法_PHPmysqli_query()函数定义与用法
- python 分离整数与小数_Python编程:离不开算术运算符的顺序结构
- CTF工具(1)--- ARCHPR--含安装/使用过程
- ANN中批归一化的意义和在SNN中的转化
- eclipse调试java web_eclipse调试web项目
- sql server父节点_将新节点添加到现有SQL Server Always On可用性组中
- 为什么高级程序员尤其讨厌条条框框的束缚?
- 【TiChoo资讯站】
- 基于单片机的智能温度监测系统的代码
- 3656. 心与心的距离
- USB数据采集卡:labjack T7、T7 Pro系列的技术特点
- Python淘宝爬虫
- vscode超炫敲击特效嘎嘎帅!!!
- 网线水晶头接法(附图说明)
- Java通过jacob生成动态word,还有一种方法通过word书签实现
- 高级性能测试系列《34.普通性能场景:​jmeter的线程数,有没有限制?线程数+ramp-up时间,怎么设置才比较合理?》...
- Word2010专项试题
- STC89C52上的读写MMA7455程序
- Linux 下 lsof 命令的几个高效用法