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 ...
随机推荐
- Django框架06 /orm多表操作
Django框架06 /orm多表操作 目录 Django框架06 /orm多表操作 1. admin相关操作 2. 创建模型 3. 增加 4. 删除 5. 修改 6. 基于对象的跨表查询 7. 基于 ...
- JS中this指向的更改
JS中this指向的更改 JavaScript 中 this 的指向问题 前面已经总结过,但在实际开中, 很多场景都需要改变 this 的指向. 现在我们讨论更改 this 指向的问题. call更改 ...
- 循序渐进VUE+Element 前端应用开发(17)--- 菜单资源管理
在权限管理系统中,菜单也属于权限控制的一个资源,应该直接应用于角色,和权限功能点一样,属于角色控制的一环.不同角色用户,登录系统后,出现的系统菜单是不同的.在VUE+Element 前端中,我们菜单结 ...
- servlet的HttpSession与HibernateSession的区别
一.javax.servlet.http.HttpSession是一个抽象接口 它的产生:J2EE的Web程序在运行的时候,会给每一个新的访问者建立一个HttpSession,这个Session是用户 ...
- 【python大牛分享】python——接口自动化测试框架环境的使用
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用 ...
- TestNg失败重跑—解决使用 dataProvider 参数化用例次数冲突问题
问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题 ...
- C++语法小记---同名覆盖
同名覆盖 子类中的同名成员会覆盖父类中的同名成员,但是在内存中仍然存在,只是无法直接访问,需要加上域名才能访问 子类中的同名函数会覆盖父类中的函数,复写是同名覆盖的一种特殊情况,只要不是多态场景,复写 ...
- Git的忽略文件
*.iml.gradle.idea/local.properties/.idea/workspace.xml/.idea/libraries.DS_Store/build/captures.exter ...
- web自动化 -- 三种等待方式
一.强制等待 二.隐式等待 注:隐式等待的作用域是全局,所以一般设置在整局代码的头几行. 如: 三.显示等待 元素存在: 元素可见: 元素可点击: 看到上图源码中有一个 element.is_en ...
- git常用命令操作
git常用命令 #查看配置 git config -l #查看系统config git config --system --list #查看当前用户(global)配置 git config --gl ...