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)的更多相关文章

  1. CF Round #551 (Div. 2) D

    CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...

  2. CF Round #510 (Div. 2)

    前言:没想到那么快就打了第二场,题目难度比CF Round #509 (Div. 2)这场要难些,不过我依旧菜,这场更是被\(D\)题卡了,最后\(C\)题都来不及敲了..最后才\(A\)了\(3\) ...

  3. 竞赛题解 - CF Round #524 Div.2

    CF Round #524 Div.2 - 竞赛题解 不容易CF有一场下午的比赛,开心的和一个神犇一起报了名 被虐爆--前两题水过去,第三题卡了好久,第四题毫无头绪QwQ Codeforces 传送门 ...

  4. CF Round #600 (Div 2) 解题报告(A~E)

    CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...

  5. cf Round#273 Div.2

    题目链接,点击一下 Round#273 Div.2 ================== problem A Initial Bet ================== 很简单,打了两三场的cf第一 ...

  6. 【codeforces】【比赛题解】#960 CF Round #474 (Div. 1 + Div. 2, combined)

    终于打了一场CF,不知道为什么我会去打00:05的CF比赛…… 不管怎么样,这次打的很好!拿到了Div. 2选手中的第一名,成功上紫! 以后还要再接再厉! [A]Check the string 题意 ...

  7. CF Round #509 (Div. 2)

    前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目..\(A\)题直到\(11\)分钟才\(A\),题目一共才做了\(4\)题,太菜了.. A. H ...

  8. 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)

    没有参加,但是之后几天打了哦,第三场AK的CF比赛. CF大扫荡计划正在稳步进行. [A]Olympiad 题意: 给\(n\)个人颁奖,要满足: 至少有一个人拿奖. 如果得分为\(x\)的有奖,那么 ...

  9. 【codeforces】【比赛题解】#869 CF Round #439 (Div.2)

    良心赛,虽然我迟了半小时233333. 比赛链接:#869. 呃,CF的比赛都是有背景的……上次是<哈利波特>,这次是<物语>…… [A]巧妙的替换 题意: Karen发现了石 ...

  10. 【codeforces】【比赛题解】#868 CF Round #438 (Div.1+Div.2)

    这次是Div.1+Div.2,所以有7题. 因为时间较早,而且正好赶上训练,所以机房开黑做. 然而我们都只做了3题.:(. 链接. [A]声控解锁 题意: Arkady的宠物狗Mu-mu有一只手机.它 ...

随机推荐

  1. 力扣506(java)-相对名次(简单)

    题目: 给你一个长度为 n 的整数数组 score ,其中 score[i] 是第 i 位运动员在比赛中的得分.所有得分都互不相同 . 运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高, ...

  2. iLogtail开源之路

    简介: 2022年6月底,阿里云iLogtail代码完整开源,正式发布了完整功能的iLogtail社区版.iLogtail作为阿里云SLS官方标配的采集器,多年以来一直稳定服务阿里集团.蚂蚁集团以及众 ...

  3. Fury:一个基于JIT动态编译的高性能多语言原生序列化框架

    简介: Fury是一个基于JIT动态编译的多语言原生序列化框架,支持Java/Python/Golang/C++等语言,提供全自动的对象多语言/跨语言序列化能力,以及相比于别的框架最高20~200倍的 ...

  4. [Trading] 股票日内交易者能赚多少钱 - 看到日内交易的潜力并学习如何实现它

    无论是为了生活方式.寻求刺激还是为了挑战,股票市场短线交易者能赚多少钱的问题不可避免地出现了. 股票日内交易者的交易量变化很大,一些当日交易者损失了他们的资金,而另一些人利用他们的资金创造了一个高的月 ...

  5. 非技术 对以后各大应用功能与 AI 助手的思考

    本文记录我对于 AI 助手在未来给各大应用或网站或设备带来的影响的思考 结论:未来的各大应用或网站或者是设备,都不会出现满屏的眼花缭乱的功能,取代的是各自有一个专属的 AI 助手,通过 AI 助手与人 ...

  6. Niginx中Vue Router 历史(history)模式的配置

    快速配置 将build后的文件直接丢到niginx目录下的html文件夹中,然后配置nginx.conf,就可以在快速的实现niginxhistory模式的配置了. location /{ # 可使用 ...

  7. 优秀的 Modbus 从站(从机、服务端)仿真器、串口调试工具

    目录 优秀的 Modbus 从站(从机.服务端)仿真器.串口调试工具 主要功能 软件截图 优秀的 Modbus 从站(从机.服务端)仿真器.串口调试工具 官网下载地址:http://www.redis ...

  8. Swift File Manager 三种文件路径查找方法对比

    目录 1. 引言 2. 三种文件路径查找方法 2. 1 NSSearchPathForDirectoriesInDomains(_:_:_:) 2.2 urls(for:in:) 2.3 url(fo ...

  9. uniapp中使用极光推送

    1.注册极光账号 2.注册几个主流手机厂商的开发者账号(注册手机厂商,可以保证app进程不在的时候走厂商通道推送消息) 3.配置uniapp极光插件 https://ext.dcloud.net.cn ...

  10. Java面试题:Spring Bean线程安全?别担心,只要你不写并发代码就好了!

    Spring中的Bean是否线程安全取决于Bean的作用域(scope).Spring提供了几种不同的Scope,其中包括Singleton.Prototype.Request.Session.Glo ...