| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Codeforces Round #570 (Div. 3)部分题解(A ~ E) -> 正文阅读 |
|
[数据结构与算法]Codeforces Round #570 (Div. 3)部分题解(A ~ E) |
目录前言我把权游第4季看完都没想明白这个问题到底是啥意思。
虽然我语文不是很行,但是也没到看不懂中文题目的程度: 8说了,上主菜。 A - Nearest Interesting Number(暴力+水题)比赛链接:https://codeforces.com/problemset/problem/1183/A 题目大意给你一个数
x
x
x,找出离
x
x
x最近的一个数
y
y
y满足: 思路从 x x x开始暴力所有的数,直到遇到一个满足条件的数为止。 AC代码
B - Equalize Prices (思维)比赛链接:https://codeforces.com/problemset/problem/1183/B 题目大意现在给你一个长度为
n
n
n的数组
a
a
a。 现在问,你现在可不可以把数组 a a a中的所有数字改成同一个数字 B B B? 不能就输出 ? 1 -1 ?1,如果能则输出 B B B的最大值。 思路一个很简单的思维题。 首先我们先想最简单的:数字 B B B存不存在? 我们只需要找到数组中最大的数
m
a
x
x
maxx
maxx和数组中最小的数
m
i
n
x
minx
minx。 那么最大的
B
B
B是多少呢? AC代码
C - Computer Game (思维)比赛链接:https://codeforces.com/problemset/problem/1183/C 题目大意宿舍断电了, V o v a Vova Vova的电脑还有 k k% k的电量,但是他刚入手了一款非常好玩的游戏,于是他决定上号玩一把。 这个游戏有 n n n个关卡, V o v a Vova Vova作为一个游戏高手自然想要玩通关。关卡分为两种: a 和 b a和b a和b。
V
o
v
a
Vova
Vova想知道他能否在电脑歇菜之前通关这个游戏,不能输出
?
1
-1
?1。 思路彼时彼刻,恰如此时此刻,宿舍断电了,有点裂开。 首先还是先判断最简单的: 接下来我们设可以玩 x 1 x_1 x1?场 a a a类型的关卡, x 2 x_2 x2?场 b b b类型的关卡,则有公式:
x
1
+
x
2
=
n
x_1+x_2=n
x1?+x2?=n 此时再根据 a > b a>b a>b可以推得: x 1 ? ( a ? b ) + ( x 1 + x 2 ) ? b < k x_1*(a-b)+(x_1+x_2)*b<k x1??(a?b)+(x1?+x2?)?b<k 再结合 x 1 + x 2 = n x_1+x_2=n x1?+x2?=n,再次化简: x 1 ? ( a ? b ) + n ? b < k x_1*(a-b)+n*b<k x1??(a?b)+n?b<k x 1 < k ? ( n ? b ) ( a ? b ) x_1<\frac{k-(n*b)}{(a-b)} x1?<(a?b)k?(n?b)? 再利用C语言中的 / / /是向下取整,所以 x 1 = k ? ( n ? b ) ( a ? b ) x_1=\frac{k-(n*b)}{(a-b)} x1?=(a?b)k?(n?b)?。 不过还有一个点:当
k
?
(
n
?
b
)
k-(n*b)
k?(n?b)可以整除
(
a
?
b
)
(a-b)
(a?b)时,代表电量是正好够的. AC代码
D - Candy Box (easy version) (魔鬼题+贪心)比赛链接:https://codeforces.com/problemset/problem/1183/D 题目大意你现在有
n
n
n个糖果,第
i
i
i个糖果的种类是
a
i
a_i
ai?。 你不喜欢把糖果混在一起,所以你都只给每个人一种不同于其他人的糖果。 思路这个题的时间复杂度很魔鬼,给了
3
s
3s
3s,却在那里卡死你的 很简单的一道贪心题。
接下来从大到小排个序,然后贪心模拟整个过程就可以。 每次记录上次送出的糖果数量 p r e pre pre:
AC代码
E - Subsequences (easy version) (BFS)比赛链接:https://codeforces.com/problemset/problem/1183/E 题目大意给一个字符串 s s s,每次你可以删除任意一个字符形成一个新串 s ′ s' s′。 问字符串
s
s
s是否可以生成
k
k
k个不同的字符串。 思路暴力就可以,直接写一个 B F S BFS BFS爆搜出所有结果,用 m a p map map来进行标记。 AC代码
感谢阅读,希望能对你产生一点用处。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 6:42:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |