| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> Codeforces Round #746 (Div. 2)部分题解(A ~ C) -> 正文阅读 |
|
[C++知识库]Codeforces Round #746 (Div. 2)部分题解(A ~ C) |
目录前言比赛当天,群里的两个大哥在那里讨论的十分火热,我看了看笔记本的电量,想起了 God Jun 的教诲: 最后选择了关机。 这两次div2感觉都挺魔鬼的,虽然博主对掉分这种事已经麻木了,但俗话说得好:兔子再小也是肉(doge)。 废话不多说,上主菜。 大佬的视频讲解视频链接:https://www.bilibili.com/video/BV1jQ4y1C7Vc 讲的超级好,推荐大家自己去看一下。 大家都知道,Mr.RainsdRop就是个笑话,有大佬讲题还看这个家伙瞎扯干嘛?大伙不会觉得他很强吧? A - Gamer Hemose(贪心)比赛链接:https://codeforces.com/problemset/problem/1592/A 题目大意你现在有
n
n
n把武器,每把武器都有自己的一个伤害值
a
i
a_i
ai?。
请问,最少需要几回合可以打败怪物? 思路一个非常简单的贪心。 首先我们需要正确理解 那么这道题就很简单了:每次我们都选择当前伤害最高,CD已经转好的武器来砍怪,这种方法是最高效的。 那么再结合 AC代码
B - Hemose Shopping (思维)比赛链接:https://codeforces.com/problemset/problem/1592/B 题目大意当前有一个长度为
n
n
n的数组,
H
e
m
o
s
e
Hemose
Hemose想要对数组排序,让它变成非递减序列。 但那样做就太无聊了,于是 H e m o s e Hemose Hemose制定了一个排序的规则:
现在给出数组和 x x x的值,问是否可以把数组变得有序。 思路一个简单的思维题。 先把一些特殊情况特判掉:
接下来我们分析一下其他情况。 对于数组
a
a
a(下标从
1
1
1开始)来说,当我们选择
i
=
1
i=1
i=1(固定左边界)时,
j
j
j就需要满足
j
>
=
x
+
1
j>=x+1
j>=x+1,此时我们可以让下标在
[
x
+
1
,
n
]
[x+1,n]
[x+1,n]区间内的数字通过
a
[
1
]
a[1]
a[1]进行调整,最终可以让
[
1
,
x
+
1
,
x
+
2
,
.
.
.
n
]
[1,x+1,x+2,...n]
[1,x+1,x+2,...n]达到非递减子序列。 此时我们会发现: [ n ? x + 1 , x ] [n-x+1,x] [n?x+1,x]区间内的数是没法确定有序的,此时我们只需要看这一段是否原本就是有序的,如果不是那么我们就没办法让它有序。 AC代码
C - Bakry and Partitioning (数据结构+DFS+位运算)比赛链接:https://codeforces.com/problemset/problem/1592/C 题目大意现在给一颗有 n n n个结点, n ? 1 n-1 n?1条边的树,树上的每个结点都有自己的权值 a [ i ] a[i] a[i]。 现在再给一个数字
k
k
k,问是否存在以下情况: 思路博主一直以来都不是很擅长位运算,所以在一开始做的时候博主也是被难住了好久。 后来想起来,异或是一个很特别的运算(至少在博主看来)。
接下来我们看题。
对于第三种情况我们使用DFS来搜索答案。设置一个数组
b
b
b用来记录以当前结点为根节点的树的异或和是多少。 AC代码
D - Mathematics Curriculum(交互题+二分+欧拉序)和树有关的交互题,超出孩子的接受范围了。 E - Train Maintenance比赛链接:https://codeforces.com/problemset/problem/1592/E 题目大意现给出一个长度为 n n n的数组 a a a。 如果子序列
a
a
a
l
l
l,
a
a
a
l
+
1
l+1
l+1,
a
a
a
l
+
2
l+2
l+2,…,
a
a
a
r
r
r 满足如下条件,我们认为它是一个好序列: 请你输出数组 a a a中最长的好序列是多长?( r ? l + 1 r-l+1 r?l+1的最大值) RainsdRop,无情的翻译机器。 感谢阅读,希望能对你产生一点用处。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/29 3:06:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |