NOIP2020 模拟赛 B 组 Day6
非常巧妙的一场模拟赛,比较偏向于 Atcoder 的风格,考场上做出了 A 、C 两题。
排完序后一个个礼物地枚举时间复杂度是\(\Theta(nm)\)的,不能接受。但是注意到,若当前商品买得起,那么它一定能够使答案缩小至少一半。因此我们用二分法找到下一个能买得起的商品,买完再二分下一个,时间复杂度是\(\Theta(n\log^2(n))\)的。
这道题的思路,来源于想到这是一个取模运算,或者是想到若前一个不能买了后一个能买了,那么商品的价格一定会相差一定的级数,而这个级数一共的肯定不大。
假设只有一个询问,那就前缀和一下,然后一个个位置枚举看一下当前子段 1 的数量相不相等就行。
然后询问多了就彻底不会了,而且似乎询问还很难一起处理。。。这里隆重介绍一中字符串问题的大杀器:
\(\Sigma|T|<=1e6\)意味着,串长的种类数小于等于\(\sqrt n\)!因此把相同长度的串放在一起处理就可以了。
类似的题目还有这题:P3366 -- [FOI 2018 四校联训 Round 1]卷积练习题,当一个条件是某些量的值的总和小于等于一个数的时候,就意味着这些量的值只有根号种,这是一个很大力的武器。
我们先求个连通分量,在每个连通分量内,我们随便找到它的一棵生成树,显然只要确定生成树的一个结点的值,就可以通过树边确定整棵树的唯一取值方案。我们随便选一个点作为关键点求出子树的值,倘若这时与其他边存在矛盾,就可以 NIE 了。
若没有矛盾,一个点合法的条件是\(val_i \in [0,p_i]\),这是一个一次不等式;总的来看,关键点的取值范围受到许多一次函数的约束,我们可以用简单得树形 DP 求出关键点的取值范围,若右端点小于左端点则输出无解;若有解,那么子树和的最大最小值一定只会在两个端点取得——这是一次函数嘛。
看着挺像是从斜率下手解决问题的,连数据范围都非常的 KD-tree ,然而嘛。。。我们从每个点引两条切线,若两个点的切线相交,则它们可以互相看见。对切点建立极坐标系,每个点对应一个区间,求相交的线段对数。
用线段树轻松解决——线段树需要整数域,那就把角度映射到\([0,+\infty]\)的整数域中即可。相交的线段对数——相交有两种情况,一种是部分包含,那么两个线段各有一个端点被另一个线段包含;一种是完全包含,那么一个线段有两个端点在另一个线段中。因此求出每条线段上有多少个端点,除以二就是答案。
NOIP2020 模拟赛 B 组 Day6的更多相关文章
- 2017.1.16【初中部 】普及组模拟赛C组总结
2017.1.16[初中部 ]普及组模拟赛C组 这次总结我赶时间,不写这么详细了. 话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴 比赛 0+15+0+100=115 改题 AK 一.c ...
- 2018.12.30【NOIP提高组】模拟赛C组总结
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...
- 2017.07.06【NOIP提高组】模拟赛B组
Summary 今天比赛感觉题目很奇葩,都可以用许多简单方法来做,正确性都显然,当然也有点水,也就是说是考我们的数感和数学知识,而程序,只是代码的体现. 这次的时间安排感觉不错,因为很快就打完最后一道 ...
- 2017.08.08【NOIP提高组】模拟赛B组
Summary 今天的题目也不算很难,唯一一道没做出来的题目是以前做过的,太不应该了. Problem T1 油滴扩展 题目大意 给你一堆点,你准备要在这么多的点当中滴油.你可以自己安排顺序,每次滴油 ...
- 2017.07.11【NOIP提高组】模拟赛B组
Summary 今天的比赛打得还不错,第一题被同桌灌输的贪心,纯模拟洗脑了,然后steal的看了一下,发现怎么也对不了,一直在检查.最后10分钟才找出反例,推出动态规划方程,没有想到怎么转移,比赛就结 ...
- 算法笔记_127:蓝桥杯2017模拟赛-本科组习题解答(Java)
目录 1 算年龄 2 猜算式 3 排列序数 4 字符串比较 5 还款计算 6 滑动解锁 7 风险度量 PS:以下代码部分仅供参考,若有不当之处,还请路过同学指出哦~ 1 算年龄 标题:算年龄 英 ...
- 2020.10.17【普及组】模拟赛C组 总结
总结 这次比赛 120 分,老师说上 200 是不容易的,但我觉得这不是我真的水平 改题情况 T1 题目大意:有 N 个小朋友,每个小朋友有 \(B_i\) 个朋友,问从中随机选 3 人使得 3 人关 ...
- 2020.09.12【NOIP提高组&普及组】模拟赛C组 总结
总结:这次比赛成绩并不理想,虽然策略得当 \(P.S.\):太多题有多组数据,但是样例只有一个数据 各题题解和改题情况 T1 匹配 题面 描述 给你一个由{a,b-z,A,B-.Z}组成的字符串,我们 ...
- 洛谷mNOIP模拟赛Day1-分组
传送门 首先是贪心的思路 从后向前选,能多选就多选, 理由:数字越少肯定越优,同时间隔尽量向前推,字典序尽量小 对于K==1,枚举1~512直接判断 对于K==2,需要用镜像并查集,来刻画" ...
随机推荐
- 【UE4 设计模式】建造者模式 Builder Pattern
概述 描述 建造者模式,又称生成器模式.是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端无需知道复杂 ...
- [no code][scrum meeting] Beta 12
$( "#cnblogs_post_body" ).catalog() 例会时间:5月27日11:30,主持者:乔玺华 一.工作汇报 人员 昨日完成任务 明日要完成的任务 乔玺华 ...
- 简明教程 | Docker篇 · 其一:基础入门
了解Docker Docker是什么 Docker是指容器化技术,用于支持创建和使用 Linux 容器,同时Docker也是软件容器平台. 什么是容器(container) 容器是主机上与其他进程隔离 ...
- 热身训练4 Eighty seven
Eighty seven 简要题意: n个卡片,其中第i个卡片的数值为$a[i]$.一共q次询问,每次询问将删去其中3个卡片(可能删除若干相同的卡片)后,问能否选出10个卡片,数值之和等于87. n≤ ...
- 2021.5.24考试总结 [NOIP模拟3]
带着爆0的心态考的试,没想到整了个假rk2 (炸鱼大佬wtz忒强了OTZ T1 景区路线规划 这题对刚学完概率期望的我来说简直水爆了好吗.. 因为存在时间限制,不好跑高斯消元,就直接跑dp就完了. 令 ...
- [经验] 电源抑制比(PSRR)的测量原理及解决方法
PSRR(Power supply rejection ratio)又称电源抑制比,是衡量电路对于输入电源中纹波抑制大小的重要参数,表示为输出纹波和输入纹波的对数比,单位为分贝(dB)[1],其计算公 ...
- poj 2311 Cutting Game (SG)
题意: 有一张W*H的纸片. 每人每次可以横着撕或者竖着撕,先撕出1*1那一方胜. 数据范围: W and H (2 <= W, H <= 200) 思路: 很好抽象出游戏图的模型,用SG ...
- Win10下C语言转8086汇编
目录 Win10下C语言转8086汇编 简介 开始 写C代码 转换成汇编代码 Win10下C语言转8086汇编 简介 最近学习<王爽汇编>,然后突发奇想,想一边写C语言用编译器将其翻译成汇 ...
- Iceberg概述
背景 随着大数据领域的不断发展, 越来越多的概念被提出并应用到生产中而数据湖概念就是其中之一, 其概念参照阿里云的简介: 数据湖是一个集中式存储库, 可存储任意规模结构化和非结构化数据, 支持大数据和 ...
- CSS 脉冲和火箭动画特效
CSS脉冲和火箭动画特效 <!DOCTYPE html> <html lang="en"> <head> <meta charset=