CF Round 881 (Div. 3)
CF Round 881 (Div. 3)
Div. 3 果然简单,虽然但是,我还是有 1 道题没有想出来。
A.Sasha and Array Coloring
排序双指针向内即可。
https://codeforces.com/contest/1843/submission/210855587
B.Long Long
好啊,就是这道题没想出来。
Virtual Contest 上完成了一半。
考虑把符号相同(0 与任何数符号相同)的合并。
因为放在一起操作显然最优。
bool sgn_eq(int x, int y) {
return (x * y) >= 0;
}
然后你就得到了一个 ... + - + - ... 正负交替的序列。
那么,很明显,正数与负数的个数相差不超过一,也就是说花费 1 的代价将负数转化为正数的行为是不可取的(我就死在这上面,如此弱智的东西……),于是记录所有负数的个数即可。
有可能溢出,要精细实现
https://codeforces.com/contest/1843/submission/211085413
也可以直接合并负数序列(忽略 0 的情况)
https://codeforces.com/contest/1843/submission/211082437
C.Sum in Binary Tree
会手写堆的人都会写……
Submission #210856724 - Codeforces
D.Apple Tree
弱智题……记录一下每一个节点有多少个叶子节点。输出相乘的结果即可。
https://codeforces.com/contest/1843/submission/210857337
E.Tracking Segments
其实可以改一下题目,变为:
对于每一条线段,求出其变成
beautiful segment的时间,如果不会变,则输出-1,顺便强制在线一波。这样代码难度递增。
我首先想到的是一个在线做法。
只要在这个区间内修改了严格大于一半的点,那么一个区间就变得 美丽。
那么什么最早是什么时候?
定义序列 \(t_i\) 表示第 \(i\) 个点变成 \(1\) 的时间,如果没有修改则 \(t_i = \inf\)。
对于区间 \([l, r]\),设 \(k = \lfloor \frac {l - r + 1} 2 \rfloor + 1\),则对于序列 \(t\) 的区间 \([l, r]\) 第 \(k\) 小即为所求。
如果为 \(\inf\) 则不会变得 美丽。
但是显然这太过于复杂。
考虑离线处理每一个线段,并且二分答案。
明显答案具有单调性,如果在 \(t\) 时变得 美丽,则之后一直会很 美丽。
我说的不是我们
我们只加入前 \(mid\) 个点,然后用一个前缀和一一判断有没有 美丽 的线段即可。
如果是 美丽 的,则满足在这个区间内有 \(\ge k\) 个点变成了 \(1\)。
https://codeforces.com/contest/1843/submission/211083551
F.Omsk Metro
自己做的时候胡的性质:
对于一个路径 \(p\),定义其最大子段和为 \(mx_p\),最小子段和为 \(mn_p\)。
那么可以拼凑出来的区间为 \([mx_p, mn_p]\)。
感性证明一下:
这里不妨把一条路径拍扁成一条链,设为 \([l, r]\)。
我们考虑加入一个点 \(r\) 对于一条路径 \([l, r]\) 的影响。
设 \(suf_x\) 为以 \(x\) 为右端点,可以凑出来的权值的集合。
考虑递推,有 \(suf_x = \{0, w(x)\} \cup (suf_{x - 1} + w(x))\)。
于是对于区间 \([l, r]\) 有 \(S = \bigcup_{l \le x \le r} suf_x\)。
其实不难发现,\(suf_x\) 的上下界每一次最多只会变化 \(1\),也就是说,如果可以凑出 \(x (x \ge 0)\),那么一定可以凑出 \([0, x]\)。负数的情况同理。
所以我们考虑求出最大的,和最小的子段和即可 \(O(1)\) 判断……
实现上也就是树链剖分加上基本的求区间最大子段和的思路即可。
CF Round 881 (Div. 3)的更多相关文章
- CF Round #551 (Div. 2) D
CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...
- CF Round #510 (Div. 2)
前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...
- 竞赛题解 - CF Round #524 Div.2
CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...
- CF Round #600 (Div 2) 解题报告(A~E)
CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...
- cf Round#273 Div.2
题目链接,点击一下 Round#273 Div.2 ================== problem A Initial Bet ================== 很简单,打了两三场的cf第一 ...
- 【codeforces】【比赛题解】#960 CF Round #474 (Div. 1 + Div. 2, combined)
终于打了一场CF,不知道为什么我会去打00:05的CF比赛…… 不管怎么样,这次打的很好!拿到了Div. 2选手中的第一名,成功上紫! 以后还要再接再厉! [A]Check the string 题意 ...
- CF Round #509 (Div. 2)
前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目..\(A\)题直到\(11\)分钟才\(A\),题目一共才做了\(4\)题,太菜了.. A. H ...
- 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)
没有参加,但是之后几天打了哦,第三场AK的CF比赛. CF大扫荡计划正在稳步进行. [A]Olympiad 题意: 给\(n\)个人颁奖,要满足: 至少有一个人拿奖. 如果得分为\(x\)的有奖,那么 ...
- 【codeforces】【比赛题解】#869 CF Round #439 (Div.2)
良心赛,虽然我迟了半小时233333. 比赛链接:#869. 呃,CF的比赛都是有背景的……上次是<哈利波特>,这次是<物语>…… [A]巧妙的替换 题意: Karen发现了石 ...
- 【codeforces】【比赛题解】#868 CF Round #438 (Div.1+Div.2)
这次是Div.1+Div.2,所以有7题. 因为时间较早,而且正好赶上训练,所以机房开黑做. 然而我们都只做了3题.:(. 链接. [A]声控解锁 题意: Arkady的宠物狗Mu-mu有一只手机.它 ...
随机推荐
- Kafka 线上性能调优
Kafka 线上性能调优是一项综合工程,不仅仅是 Kafka 本身,还应该从硬件(存储.网络.CPU)以及操作系统方面来整体考量,首先我们要有一套生产部署方案,基于这套方案再进行调优,这样就有了可靠的 ...
- Causal Inference理论学习篇-Tree Based-Causal Forest
广义随机森林 了解causal forest之前,需要先了解其forest实现的载体:GENERALIZED RANDOM FORESTS[6](GRF) 其是随机森林的一种推广, 经典的随机森林只能 ...
- 力扣608(MySQL)-树节点(中等)
题目: 给定一个表 tree,id 是树节点的编号, p_id 是它父节点的 id . 树中每个节点属于以下三种类型之一: 叶子:如果这个节点没有任何孩子节点.根:如果这个节点是整棵树的根,即没有父节 ...
- 力扣605(java&python)-种花问题(简单)
题目: 假设有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 ...
- 暑期集训 Day10 —— 模拟赛复盘
${\color{Green} \mathrm{Problem\ 0 :water }} $ 题如其名,可以用单调队列做,但是数据范围直接暴力枚举每一高度就行. 最不会打错的,还是暴力,所以用暴力. ...
- 科学地花钱:基于端智能的在线红包分配方案 (CIKM2020)
简介: 红包是电商平台重要的用户运营手段,本文将介绍1688基于端智能技术开发的two-stage红包分发方案.这一方案持续在线上生效,相较于原有算法有明显提升. 一.前言 本文是作者在1688进行新 ...
- 当Java遇上机密计算,又一段奇幻之旅开始了!
简介: 汪少军:如何为Java业务提供机密计算保护? 写在前面 在信息世界里,数据存在三种状态: 存储态.传输态和计算态.存储在数据库或磁盘中的数据属于存储状态,在网络中传输的数据属于传输状态, ...
- WPF 下拉框选项做鼠标 Hover 预览效果
本文来告诉大家如何在 WPF 中,在 下拉框 ComboBox 里面,鼠标移动到 ComboBoxItem 上时,自动触发对应的事件,用来预览此选项值.例如我在实现一个颜色下拉框,此时我可以通过点击下 ...
- 批量解压上传SAP Note
最近在做印度GST相关的东西,需要手动给系统实施上百个SAP Note,十分繁琐. 标准事务代码SNOTE只支持每次上传一个Note,逐个上传大量Note会很麻烦,为此摸索出一个批量解压上传的流程,下 ...
- .Net 8.0 下的新RPC,IceRPC之使用Dev Containers进行 .NET QUIC 精简开发
作者引言 很高兴啊,我们来到了IceRPC之使用Dev Containers进行 .NET QUIC 精简开发,主要是一篇指引,如何使用开发容器做为开发环境,进行开发IceRPC,可适用于任务应用的开 ...