60∘ 。
对于给定的一点
O
O
O, 我们以
O
O
O 为原点定义坐标系, 如果一个点
A
A
A 由
O
O
O 点先向
d
d
d 方向走
p
p
p 步再向
(
d
2
)
m
o
d
6
(d+2) \bmod 6
(d+2)mod6 方向 (
d
d
d 的顺时针
12
0
∘
120^{\circ}
120∘ 方向) 走
q
q
q 步到达, 则这个点的坐标定义为
(
d
,
p
,
q
)
(d, p, q)
(d,p,q) 。在蜂窝中, 一个点的坐标可能有多种。
下图给出了点
B
(
0
,
5
,
3
)
B(0,5,3)
B(0,5,3) 和点
C
(
2
,
3
,
2
)
C(2,3,2)
C(2,3,2) 的示意。
给定点
(
d
1
,
p
1
,
q
1
)
\left(d_{1}, p_{1}, q_{1}\right)
(d1,p1,q1) 和点
(
d
2
,
p
2
,
q
2
)
\left(d_{2}, p_{2}, q_{2}\right)
(d2,p2,q2), 请问他们之间最少走多少步可以到达?
【输入格式】
输入一行包含 6 个整数
d
1
,
p
1
,
q
1
,
d
2
,
p
2
,
q
2
d_{1}, p_{1}, q_{1}, d_{2}, p_{2}, q_{2}
d1,p1,q1,d2,p2,q2 表示两个点的坐标, 相邻两个整数之间使用一个空格分隔。
【输出格式】
输出一行包含一个整数表示两点之间最少走多少步可以到达。
【样例输入】
0
5
3
2
3
2
\begin{array}{llllll}0 & 5 & 3 & 2 & 3 & 2\end{array}
053232
【样例输出】
7
\begin{array}{llllll}7\end{array}
7
【评测用例规模与约定】
对于
25
%
25 %
25% 的评测用例,
p
1
,
p
2
≤
1
0
3
p_{1}, p_{2} \leq 10^{3}
p1,p2≤103;
对于
50
%
50 %
50% 的评测用例,
p
1
,
p
2
≤
1
0
5
p_{1}, p_{2} \leq 10^{5}
p1,p2≤105;
对于
75
%
75 %
75% 的评测用例,
p
1
,
p
2
≤
1
0
7
p_{1}, p_{2} \leq 10^{7}
p1,p2≤107;
对于所有评测用例,
0
≤
d
1
,
d
2
≤
5
,
0
≤
q
1
<
p
1
≤
1
0
9
,
0
≤
q
2
<
p
2
≤
1
0
9
0 \leq d_{1}, d_{2} \leq 5,0 \leq q_{1}<p_{1} \leq 10^{9}, 0 \leq q_{2}<p_{2} \leq 10^{9}
0≤d1,d2≤5,0≤q1<p1≤109,0≤q2<p2≤109 。
试题
F
:
\mathrm{F}:
F: 爬树的甲壳虫
时间限制:
1.0
s
1.0 \mathrm{~s}
1.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 15 分
【问题描述】
有一只甲壳虫想要爬上一颗高度为
n
n
n 的树, 它一开始位于树根, 高度为 0 ,当它尝试从高度
i
−
1
i-1
i−1 爬到高度为
i
i
i 的位置时有
P
i
P_{i}
Pi 的概率会掉回树根, 求它从树根爬到树顶时,经过的时间的期望值是多少。
【输入格式】
输入第一行包含一个整数
n
n
n 表示树的高度。
接下来
n
n
n 行每行包含两个整数
x
i
,
y
i
x_{i}, y_{i}
xi,yi, 用一个空格分隔, 表示
P
i
=
x
i
y
i
P_{i}=\frac{x_{i}}{y_{i}}
Pi=yixi 。
【输出格式】
输出一行包含一个整数表示答案, 答案是一个有理数, 请输出答案对质数 998244353 取模的结果。其中有理数
a
b
\frac{a}{b}
ba 对质数
P
P
P 取模的结果是整数
c
c
c 满足
0
≤
c
<
P
0 \leq c<P
0≤c<P 且
c
⋅
b
≡
a
(
m
o
d
P
)
c \cdot b \equiv a(\bmod P)
c⋅b≡a(modP) 。
【样例输入 1】
1
\begin{array}{llllll}1\end{array}
1
1
2
\begin{array}{llllll}1&2\end{array}
12
【样例输出 1】
2
\begin{array}{llllll}2\end{array}
2
【样例输入 2】
3
\begin{array}{llllll}3\end{array}
3
1
2
\begin{array}{llllll}1&2\end{array}
12
3
5
\begin{array}{llllll}3&5\end{array}
35
7
11
\begin{array}{llllll}7&11\end{array}
711
【样例输出 2】
623902744
\begin{array}{llllll}623902744\end{array}
623902744
【评测用例规模与约定】
对于
20
%
20 %
20% 的评测用例,
n
≤
2
,
1
≤
x
i
<
y
i
≤
20
n \leq 2,1 \leq x_{i}<y_{i} \leq 20
n≤2,1≤xi<yi≤20 ,
对于
50
%
50 %
50% 的评测用例,
n
≤
500
,
1
≤
x
i
<
y
i
≤
200
n \leq 500,1 \leq x_{i}<y_{i} \leq 200
n≤500,1≤xi<yi≤200 ;
对于所有评测用例,
1
≤
n
≤
100000
,
1
≤
x
i
<
y
i
≤
1
0
9
1 \leq n \leq 100000,1 \leq x_{i}<y_{i} \leq 10^{9}
1≤n≤100000,1≤xi<yi≤109 。
试题 G: 重新排序
时间限制:
1.0
s
1.0 \mathrm{~s}
1.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 20 分
【问题描述】
给定一个数组
A
A
A 和一些查询
L
i
,
R
i
L_{i}, R_{i}
Li,Ri, 求数组中第
L
i
L_{i}
Li 至第
R
i
R_{i}
Ri 个元素之和。
小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组, 所有查询结果的总和最多可以增加多少?
【输入格式】
输入第一行包含一个整数
n
n
n 。
第二行包含
n
n
n 个整数
A
1
,
A
2
,
⋯
,
A
n
A_{1}, A_{2}, \cdots, A_{n}
A1,A2,⋯,An, 相邻两个整数之间用一个空格分隔。
第三行包含一个整数
m
m
m 表示查论的数目。
接下来
m
m
m 行, 每行包含两个整数
L
i
、
R
i
L_{i} 、 R_{i}
Li、Ri, 相邻两个整数之间用一个空格分谝。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
5
\begin{array}{lllll}5\end{array}
5
1
2
3
4
5
\begin{array}{lllll}1 & 2 & 3 & 4 & 5\end{array}
12345
2
\begin{array}{lllll}2\end{array}
2
1
3
\begin{array}{lllll}1&3\end{array}
13
2
5
\begin{array}{lllll}2&5\end{array}
25
【样例输出】
4
\begin{array}{lllll}4\end{array}
4
【样例说明】
原来的和为
6
14
=
20
6+14=20
6+14=20, 重新排列为
(
1
,
4
,
5
,
2
,
3
)
(1,4,5,2,3)
(1,4,5,2,3) 后和为
10
14
=
24
10+14=24
10+14=24, 增加了 4 。
【评测用例规模与约定】
对于
30
%
30 %
30% 的评测用例,
n
,
m
≤
50
n, m \leq 50
n,m≤50 ;
对于
50
%
50 %
50% 的评测用例,
n
,
m
≤
500
n, m \leq 500
n,m≤500 ;
对于
70
%
70 %
70% 的评测用例,
n
,
m
≤
5000
n, m \leq 5000
n,m≤5000 ,
对于所有评测用例,
1
≤
n
,
m
≤
1
0
5
,
1
≤
A
i
≤
1
0
6
,
1
≤
L
i
≤
R
i
≤
1
0
6
1 \leq n, m \leq 10^{5}, 1 \leq A_{i} \leq 10^{6}, 1 \leq L_{i} \leq R_{i} \leq 10^{6}
1≤n,m≤105,1≤Ai≤106,1≤Li≤Ri≤106 。
试题
H
\mathrm{H}
H : 技能升级
时间限制:
1.0
s
1.0 \mathrm{~s}
1.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 20 分
【问题描述】
小蓝最近正在玩一款 RPG 游戏。他的角色一共有
N
N
N 个可以加攻击力的技能。其中第
i
i
i 个技能首次升级可以提升
A
i
A_{i}
Ai 点攻击力, 以后每次升级增加的点数都会减少
B
i
B_{i}
Bi 。
⌈
A
i
B
i
⌉
\left\lceil\frac{A_i}{B_i}\right\rceil
⌈BiAi⌉ (上取整) 次之后, 再升级该技能将不会改变攻击力。
现在小蓝可以总计升级
M
M
M 次技能, 他可以任意选择升级的技能和次数。请你计算小蓝最多可以提高多少点攻击力?
【输入格式】
输入第一行包含两个整数
N
N
N 和
M
M
M 。
以下
N
N
N 行每行包含两个整数
A
i
A_{i}
Ai 和
B
i
B_{i}
Bi 。
【输出格式】
输出一行包含一个整数表示答案。
【样例输入】
3
6
\begin{array}{lllll}3&6\end{array}
36
10
5
\begin{array}{lllll}10&5\end{array}
105
9
2
\begin{array}{lllll}9&2\end{array}
92
8
1
\begin{array}{lllll}8&1\end{array}
81
【样例输出】
4
7
\begin{array}{lllll}4&7\end{array}
47
【评测用例规模与约定】
对于
40
%
40 %
40% 的评测用例,
1
≤
N
,
M
≤
1000
1 \leq N, M \leq 1000
1≤N,M≤1000 ,
对于
60
%
60 %
60% 的评测用例,
1
≤
N
≤
1
0
4
,
1
≤
M
≤
1
0
7
1 \leq N \leq 10^{4}, 1 \leq M \leq 10^{7}
1≤N≤104,1≤M≤107 ;
对于所有评测用例,
1
≤
N
≤
1
0
5
,
1
≤
M
≤
2
×
1
0
9
,
1
≤
A
i
,
B
i
≤
1
0
6
1 \leq N \leq 10^{5}, 1 \leq M \leq 2 \times 10^{9}, 1 \leq A_{i}, B_{i} \leq 10^{6}
1≤N≤105,1≤M≤2×109,1≤Ai,Bi≤106 。
试题 I: 最优清零方案
时间限制:
3.0
s
3.0 \mathrm{~s}
3.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 25 分
【问题描述】
给定一个长度为
N
N
N 的数列
A
1
,
A
2
,
⋯
,
A
N
A_{1}, A_{2}, \cdots, A_{N}
A1,A2,⋯,AN 。现在小蓝想通过若干次操作将这个数列中每个数字清零。
每次操作小蓝可以选择以下两种之一:
- 选择一个大于 0 的整数, 将它减去 1 :
- 选择连续
K
K
K 个大于 0 的整数, 将它们各减去 1 。
小蓝最少经过几次操作可以将整个数列清零?
【输入格式】
输入第一行包含两个整数
N
N
N 和
K
K
K 。
第二行包含
N
N
N 个整数
A
1
,
A
2
,
⋯
,
A
N
A_{1}, A_{2}, \cdots, A_{N}
A1,A2,⋯,AN 。
【输出格式】
输出一个整数表示答案。
【样例输入】
4
2
\begin{array}{lllll}4&2\end{array}
42
1
2
3
4
\begin{array}{llll}1 & 2 & 3 & 4\end{array}
1234
【样例输出】
6
\begin{array}{lllll}6\end{array}
6
【评测用例规模与约定】
对于
20
%
20 %
20% 的评测用例,
1
≤
K
≤
N
≤
10
1 \leq K \leq N \leq 10
1≤K≤N≤10 。
对于
40
%
40 %
40% 的评测用例,
1
≤
K
≤
N
≤
100
1 \leq K \leq N \leq 100
1≤K≤N≤100 。
对于
50
%
50 %
50% 的评测用例,
1
≤
K
≤
N
≤
1000
1 \leq K \leq N \leq 1000
1≤K≤N≤1000 。
对于
60
%
60 %
60% 的评测用例,
1
≤
K
≤
N
≤
10000
1 \leq K \leq N \leq 10000
1≤K≤N≤10000 。
对于
70
%
70 %
70% 的评测用例,
1
≤
K
≤
N
≤
100000
1 \leq K \leq N \leq 100000
1≤K≤N≤100000 。
对于所有评测用例,
1
≤
K
≤
N
≤
1000000
,
0
≤
A
i
≤
1000000
1 \leq K \leq N \leq 1000000,0 \leq A_{i} \leq 1000000
1≤K≤N≤1000000,0≤Ai≤1000000 。
试题
J
:
\mathrm{J}:
J: 推导部分和
时间限制:
1.0
s
1.0 \mathrm{~s}
1.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 25 分
【问题描述】
对于一个长度为
N
N
N 的整数数列
A
1
,
A
2
,
⋯
A
N
A_{1}, A_{2}, \cdots A_{N}
A1,A2,⋯AN, 小蓝想知道下标
l
l
l 到
r
r
r 的部分和
∑
i
=
l
r
=
A
l
A
l
1
⋯
A
r
\sum_{i=l}^{r}=A_{l}+A_{l+1}+\cdots+A_{r}
∑i=lr=Al+Al+1+⋯+Ar 是多少?
然而, 小蓝并不知道数列中每个数的值是多少, 他只知道它的
M
M
M 个部分和的值。其中第
i
i
i 个部分和是下标
l
i
l_{i}
li 到
r
i
r_{i}
ri 的部分和
∑
j
=
l
i
r
i
=
A
l
i
A
l
i
1
⋯
A
r
i
\sum_{j=l_{i}}^{r_{i}}=A_{l_{i}}+A_{l_{i}+1}+\cdots+A_{r_{i}}
∑j=liri=Ali+Ali+1+⋯+Ari,值是
S
i
S_{i}
Si 。
【输入格式】
第一行包含 3 个整数
N
、
M
N 、 M
N、M 和
Q
Q
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)
20 %
20% 的评测用例,
1
≤
K
≤
N
≤
10
1 \leq K \leq N \leq 10
1≤K≤N≤10 。
对于
40
%
40 %
40% 的评测用例,
1
≤
K
≤
N
≤
100
1 \leq K \leq N \leq 100
1≤K≤N≤100 。
对于
50
%
50 %
50% 的评测用例,
1
≤
K
≤
N
≤
1000
1 \leq K \leq N \leq 1000
1≤K≤N≤1000 。
对于
60
%
60 %
60% 的评测用例,
1
≤
K
≤
N
≤
10000
1 \leq K \leq N \leq 10000
1≤K≤N≤10000 。
对于
70
%
70 %
70% 的评测用例,
1
≤
K
≤
N
≤
100000
1 \leq K \leq N \leq 100000
1≤K≤N≤100000 。
对于所有评测用例,
1
≤
K
≤
N
≤
1000000
,
0
≤
A
i
≤
1000000
1 \leq K \leq N \leq 1000000,0 \leq A_{i} \leq 1000000
1≤K≤N≤1000000,0≤Ai≤1000000 。
试题
J
:
\mathrm{J}:
J: 推导部分和
时间限制:
1.0
s
1.0 \mathrm{~s}
1.0 s 内存限制:
512.0
M
B
512.0 \mathrm{MB}
512.0MB 本题总分: 25 分
【问题描述】
对于一个长度为
N
N
N 的整数数列
A
1
,
A
2
,
⋯
A
N
A_{1}, A_{2}, \cdots A_{N}
A1,A2,⋯AN, 小蓝想知道下标
l
l
l 到
r
r
r 的部分和
∑
i
=
l
r
=
A
l
A
l
1
⋯
A
r
\sum_{i=l}^{r}=A_{l}+A_{l+1}+\cdots+A_{r}
∑i=lr=Al+Al+1+⋯+Ar 是多少?
然而, 小蓝并不知道数列中每个数的值是多少, 他只知道它的
M
M
M 个部分和的值。其中第
i
i
i 个部分和是下标
l
i
l_{i}
li 到
r
i
r_{i}
ri 的部分和
∑
j
=
l
i
r
i
=
A
l
i
A
l
i
1
⋯
A
r
i
\sum_{j=l_{i}}^{r_{i}}=A_{l_{i}}+A_{l_{i}+1}+\cdots+A_{r_{i}}
∑j=liri=Ali+Ali+1+⋯+Ari,值是
S
i
S_{i}
Si 。
【输入格式】
第一行包含 3 个整数
N
、
M
N 、 M
N、M 和
Q
Q
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-bmARe4UZ-1713806673613)]
[外链图片转存中…(img-p3udq4Qk-1713806673614)]
[外链图片转存中…(img-F59i6WAc-1713806673614)]
[外链图片转存中…(img-U4H3P9ZG-1713806673615)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)