ALL:5
AC:3
补题:1
Rank:1341
题意:给定长度为
n
(
2
≤
n
≤
1
0
5
)
n(2\leq n\leq 10^5)
n(2≤n≤105) 和
k
(
1
≤
k
≤
min
(
100
,
n
)
)
k(1\leq k\leq \min(100,n))
k(1≤k≤min(100,n)),输出
max
1
≤
i
<
j
≤
n
{
i
⋅
j
−
k
⋅
(
a
i
OR
a
j
)
}
\max_{1\leq i
思路:赛时想了半天,最后猜了暴力一下就过了。。不会严格证明。从每个 1 ≤ i ≤ n 1\leq i\leq n 1≤i≤n 向左暴力枚举 k k k 或 2 ⋅ k 2\cdot k 2⋅k 个数字来更新就好了。
AC代码:https://codeforces.com/contest/1554/submission/178520796
题意:给定 n , m ( 0 ≤ n , m ≤ 1 0 9 ) n,m(0\leq n,m\leq 10^9) n,m(0≤n,m≤109) ,找到最小的非负整数 x x x 使得 x ∉ s = { n ⊕ i ∣ i ∈ [ 0 , m ] } x\notin s=\{n\oplus i|i\in [0,m] \} x∈/s={n⊕i∣i∈[0,m]} 。
思路:假设现有 x 0 ∉ s x_0\notin s x0∈/s ,由于异或的性质,即等价于 x 0 ⊕ n ∉ { i ∣ i ∈ [ 0 , m ] } x_0\oplus n\notin \{i|i\in[0,m]\} x0⊕n∈/{i∣i∈[0,m]} ,即等价于 x 0 ⊕ n ≥ m + 1 x_0\oplus n\geq m+1 x0⊕n≥m+1 。要找到最小的 x x x ,即等价于找最小的 x 0 x_0 x0 满足上式。
接下来思路是二进制上贪心。博客。从高位到低位贪心,如果该位相等,则跳过不考虑;否则,如果 n ′ = 0 , m ′ = 1 n'=0,m'=1 n′=0,m′=1 ,那么 n n n 这一位必须补 1 1 1 ,而且继续向下考虑;否则即 n ′ = 1 , m ′ = 0 n'=1,m'=0 n′=1,m′=0 ,那么从这一位可以知道此时必然 n > m n>m n>m ,直接跳出循环即可。
AC代码:https://codeforces.com/contest/1554/submission/178655723
题意:
要求您构造一个长度为 n ( 1 ≤ n ≤ 1 0 5 ) n(1\leq n\leq 10^5) n(1≤n≤105) 的由小写字母构成的字符串,使得字符串内每个字串出现奇数次。
思路:手玩一下样例,可以发现,对于长度为
i
,
i
+
1
i,i+1
i,i+1 的两个单字符串,本质不同子串出现次数都是奇数,那么找到最大的
i
i
i 使得
2
⋅
i
+
1
<
n
2\cdot i+1
这样构造出来 n n n 为偶数,如为奇数再加一个另一字符即可。
AC代码(写过的最短 div2D 代码):https://codeforces.com/contest/1554/submission/178523119