F一个简单的二分写挂了7发,真的感觉自己脑子有点毛病,给自己来两比兜。
D - Tying Rope
题意:给你若干条边,问你有多少连通块形成环,
n
<
=
2
e
5
n<=2e5
n<=2e5。
思路:并查集暴力维护,维护每个连通块的边数和点数,边数大于点数-1则一定有环(最大的无环连通块是树) 。
提交
E - Geometric Progression
题意:
计算上式,
X
<
=
1
e
12
,
A
<
=
1
e
9
,
M
<
=
1
e
9
X <= 1e12, A <= 1e9 , M <= 1e9
X<=1e12,A<=1e9,M<=1e9 。
思路:等比数列求和
提交
F - Zero or One
题意:给你一个
n
n
n,问你有多少进制
b
a
s
e
base
base满足,
n
n
n在该进制下表示为0和1组成的序列,
b
a
s
e
>
=
2
base >= 2
base>=2。
思路:我们考虑先暴力判断1 - 1000的进制
b
a
s
e
base
base是否满足,然后剩下的就是1001 - 1e18的问题,我们可以发现剩下的区间表示的01序列长度最多不超过6,(1001)6 > 1e18,所以我们暴力查找2^6的所有组合即可,我们找所有组合所对应的进制时,我们可以发现可以用二分的形式去查找,然后复杂度就变成
O
(
t
∗
(
1000
+
64
l
o
g
n
)
)
O(t * (1000 + 64logn))
O(t∗(1000+64logn))的做法,可过。
赛时写挂了7次二分,然后导致罚时无敌巨大,给自己两比兜。
提交
G - Triple Index
题意:给你一个长度为
n
n
n的数组,给定
q
q
q次询问,每次询问给定一段区间
[
l
,
r
]
[l,r]
[l,r],从该区间选择三个下标
(
i
,
j
,
k
)
,
i
<
j
<
k
(i , j , k) , i < j < k
(i,j,k),i<j<k 使得
a
i
=
=
a
j
=
=
a
k
a_i == a_j == a_k
ai==aj==ak的个数。
思路: 基础莫队板题,随便抄个板子即可,改改
a
d
d
add
add和
d
e
l
del
del函数即可。
提交