2019.7.25 牛客多校第三场

index > 牛客多校第三场


概览

题目做法状态
Graph Games
Crazy Binary String签到√+
Guessing ETT
Big Integer
Trees in the Pocket II
Planting Trees矩阵模型+单调队列
Removing Stones
Magic Line平面几何√-○
Median
LRU management
  • 代表赛后补题
  • √+ 代表赛内我通过的
  • √- 代表赛内不是我做的
  • √-○代表赛内不是我做的,补了

Logs

其实我感觉这场能三题的,但是H题花了太多时间去二分了,没有想到最简单的办法,然后感谢tc2000731耐心地教我单调队列。

B - Crazy Binary String

输出一个01串最长的01数相等的,子串长度,和子序列长度。

水题wa了一发有点可惜。输出一个尽量长的01子串这个让我们考虑了一下,其实也是要点想法的。可以令 0 = − 1 0=-1 0=1对串做一个前缀和,两个位置的前缀和相等,说明某个区间的01相等,记录第一个左边界,向右更新最大长度就可以了。另外就是前缀和是0说明整个前缀01相等。

H - Magic Line

题意是求一个直线划分平面上n个点,使得直线两边点数相等,且不能穿过点。输出两个直线上的整数点,并且范围在1e9之内。

只要按照x第一关键字,y第二关键字排序,第 n / 2 n/2 n/2的点就是划分的关键。只要取一个接近垂直,但是把前 n / 2 n/2 n/2点包含进去的就可以了。

亏我们三个人轮流二分了那么久ORZ

我的答案就是下面这样的, t m p = 1 e 8 tmp=1e8 tmp=1e8.

cout << p[half].x - 1 << " "
     << p[half].y + Tmp << " "
		 << p[half].x + 1 << " "
	   << p[half].y - Tmp + 1 << "\n";

F - Planting Trees

首先是一个子矩阵问题,然后是需要一点想法来处理一维数组的区间最大差值。用的是单调队列。

我的题解:牛客883F - Planting Trees 单调队列双指针

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值