Coders' Legacy 2020 题解
多测不清空,爆零两行泪。
多测不清空,爆零两行泪。
多测不清空,爆零两行泪。
后缀数组常数好大啊。
后缀数组常数好大啊。
后缀数组常数好大啊。
Chef vs Doof
略。
Doof on Cartesian
略。
Doof fires Brackets
为啥这题询问不也给一个 \(O(n)\) 的范围啊。
Jeremy gets a gift
bfs 都能写挂,真有我的。
Unique Substring
考虑用后缀数组求一下 \(rk\) 和 \(ht\) 数组,然后就是个二维数点。
好玩的事情发生了,我跑一组 \(5*10^5\) 的只要一点几秒,跑 \(10^5\) 组 \(5\) 的半分钟跑不出来,长教训了。
Perry learns Binary
\(or\) 操作是经典的线段树操作,对于查询给每个线段树节点套上一个 \(trie\) 就行。
多测不清空,爆零两行泪。
Phineas and Marks
博弈论好难啊,先鸽着,学会了再更新。
这个博主他没有鸽!!1
u1s1,慢慢分析找规律并不是很难...
这个问题是海盗分金问题加强版,分类标签是找规律和瞪眼法观察。下面阐述一下慢慢分析的过程。
题意简述:
有 \(n\) 个人,要分 \(m\) 个球,还会给出一个 \(k\), 要决定一个头领来分配球。
假设当前标号最大的人是头领,他会提出一个分配方案,每个人可以支持或者反对。
如果支持率达到了 \(50\%\),这个人就成为头领,方案也被采用。
如果支持率不到 \(50\%\),那么标号最大的 \(k\) 个人就会被干掉,如果不足 \(k\) 个人就会干掉所有人。
每个人想在保证自己不被干掉的情况下拿到尽量多的球,并在拿到尽量多的球的情况下干掉尽量多的人。
问最后的头领是谁,他自己最多能拿到几个球。
\(n,m,k\le10^9\)。
解题思路:
分 类 讨 论。
\(\Large{Ⅰ.n\le2*k:}\)
\(\large{①.n\le k:}\)
显然答案是 \((n,m)\)。
\(\large{②.k<n\le2*k:}\)
显然答案是 \((n,m)\)。
\(\Large{Ⅱ.2*k<n\le2*(k+m):}\)
可以通过抵消干掉 \(2*k\) 个,所以剩下 \(n-2*k\) 个中要贿赂 \(\lceil\frac{n-2*k}{2}\rceil\) 个来保命,最后答案是 \((n,m-\lceil\frac{n-2*k}{2}\rceil)\)。
\(\Large{Ⅲ.2*(k+m)<n:}\)
这个需要讨论细一点观察出规律。
大概有这么一个规律。
\(\large{①n\in[2m+2^ik+1,2m+(2^{i+1}-1)k]:}\)
这个时候第 \(n\) 个一定不是领队,需要找到一个 \(X\),使得 \(n-X*k\) 不在这个范围中,此时 \(n-X*k\) 要么在上面的情况中,要么就在下面的情况中,可以成为领队。
\(\large{②n\in[2m+(2^{i+1}-1)k+1,2m+2^{i+1}k]:}\)
这个时候第 \(n\) 个一定是领队,因为标号在 \([2m+2^ik+1,2m+(2^{i+1}-1)k]\) 中的人会无条件投给他,他只需要贿赂之前的人即可。
这样,我们就在 \(O(\log n)\) 的时间内解决了这个问题。
Coders' Legacy 2020 题解的更多相关文章
- CSP-J 2020题解
CSP-J 2020题解 本次考试还是很有用的,至少把我浇了一盆冷水. 当使用民间数据自测的时候,我就自闭了. 估分是320,但有些比较低级的错误直接少掉80. 而且这套题应该上350才正常吧,也不是 ...
- M-SOLUTIONS Programming Contest 2020 题解
M-SOLUTIONS Programming Contest 2020 题解 目录 M-SOLUTIONS Programming Contest 2020 题解 A - Kyu in AtCode ...
- atcoder Keyence Programming Contest 2020 题解
比赛地址 A 题意:给一个\(n*m\)的初始为白色的矩阵,一次操作可以将一行或一列染成 黑色,问至少染出\(k\)个黑点的最少操作次数. \(n\),\(m\)<=100,\(k\)<= ...
- CSP-S 2020 题解
赛后我重拳出击,赛场上我却爆零.哎. 题解本人口胡.有错请各位大佬们指出. A. 儒略日 这题是大型模拟题. 介绍两种写法:一种代码量致死(赛 场 自 闭),一种是非常好写的. 写法 1 我在赛场的思 ...
- CF 1131A,1131B,1131C,1131D,1131F(Round541 A,B,C,D,F)题解
A. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 题解 P6622 [省选联考 2020 A/B 卷] 信号传递
洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递 题解 某次模拟赛的T2,考场上懒得想正解 (其实是不会QAQ), 打了个暴力就骗了\(30pts\) 就火速溜了,参考了一下某位强者的题 ...
- 2020牛客寒假算法基础集训营5 部分题解(BDEH)
B: 牛牛战队的比赛地(二分做法)题意:二维平面给定n个点,在x轴找一点使得到n个点距离的最大值最小. 思路:我们可以将问题转化为在x轴找到一个圆心,使得该圆包含这n个点且半径最小,这样就变成了最小圆 ...
- [NOI 2020 Online] 入门组T1 文具采购(洛谷 P6188)题解
原题传送门 题目部分:(来自于考试题面,经整理) [题目描述] 小明的班上共有 n 元班费,同学们准备使用班费集体购买 3 种物品: 1.圆规,每个 7 元. 2.笔,每支 4 元. 3.笔记本,每本 ...
- 蓝桥杯大学B组省赛2020模拟赛(一)题解与总结
题目链接:https://www.jisuanke.com/contest/6516 A:题目: 我们称一个数是质数,而且数位中出现了 5 的数字是有趣的. 例如 5, 59, 457.求1到1000 ...
随机推荐
- vue axios接口封装、Promise封装、简单的axios方法封装、vue接口方法封装、vue post、get、patch、put方法封装
相信大家在做前后端数据交互的时候都会给请求做一些简单的封装就像之前封装ajax方法一样axios的封装也是一样的简单下面这个就是封装的axios的方法,require.js import axios ...
- react中实现可拖动div
把拖动div功能用react封装成class,在页面直接引入该class即可使用. title为可拖动区域.panel为要实现拖动的容器. 优化了拖动框超出页面范围的情况,也优化了拖动太快时鼠标超出可 ...
- Python Ethical Hacking - NETWORK_SCANNER(2)
DICTIONARIES Similar to lists but use key instead of an index. LISTS List of values/elements, all ca ...
- JavaWeb基础(day15)( http + tomcat + servlet + 响应)
HTTP+Tomcat+Servlet+响应 HTTP HTTP 超文本传输协议(Hyper Text Transfer Protocol ),一种网络协议. 协议的组成和过程 HTTP协议由 ...
- 设计模式:command模式
目的:将命令设计成类的形式,并可以组织成队列 优点: 在需要的情况下,可以比较容易地将命令记入日志 可以容易的实现对请求的撤销和重做 由于新的具体命令类不影响其他的命令类,因此增加新的具体命令类很容易 ...
- ~~并发编程(十一):GIL全局解释锁~~
进击のpython ***** 并发编程--GIL全局解释锁 这小节就是有些"大神"批判python语言不完美之处的开始 这一节我们要了解一下Cpython的GIL解释器锁的工作机 ...
- matplotlib常用基础知识
linestyle(ls)线型参数表 常用color(c)参数表 marker标记符号表 plt常用方法表 plt.legend(loc=0)用于显示图例,图例的位置参数loc matplotlib常 ...
- Radiobutton基础语法
.Radiobutton(root 主窗口,text 文本内容,value 值(可以通过set 和 get 获取到的值),variable 变量修改原来的StringVar) self.radio_m ...
- Developer 转型记:一个开发平台的“魔力”
摘要:开发者该如何借助AI技术,探索可沉淀的落地应用?在这AI技术浪潮下,实现完美的应用创新?我们一起来听听他的故事…… 随着政策的加持.技术快速的迭代,人工智能热潮正在蔓延.2020年,AI落地大考 ...
- nginx静态资源防盗链
含义: 用于阻止 Referer 头字段为无效值的请求访问站点.需记住的是,使用适当的 Referer 字段值来伪造请求非常容易,因此本模块的预期目的不是要彻底阻止此类请求,而是阻止常规浏览器发送的大 ...