Codeforces 1186

A.

水题。略。

B. (Aborted)

给你一个 \(n*m\) 的矩阵,你可以用 \(1*2\) 的砖铺满矩阵,但要求砖与砖之间不能有公共边或公共点。求最多能放几块砖。

看上去只要这样放就可以:

<>.<>.^
......v
<>.<>..
......^
<>.<>.v

但是你有没有考虑过 \(5*6(ans=7)\)

<>.^.^
...v.v
<>....
...^.^
<>.v.v

\(6*6(ans=8)\)

<>.^.^
...v.v
<>....
....<>
^.^...
v.v.<>

\(4*4(ans=4)\)

<>.^
...v
^.<>
v...

事实证明,这道题是没有多项式级别的算法的,然而原题的数据范围是 \(10^9\) ,然后这道题就被删了,这场比赛就变成了unrated
std Wrong Answer

C.

两个长度相等的01字符串 \(s_1,s_2\) ,定义 \(f(s_1,s_2)\)\(s_1[i]≠s_2[i]\)\(i\) 的个数。现给定两个01字符串 \(s,t(|s|>|t|)\) ,求 \(s\) 有多少个长度等于 \(|t|\) 的子串 \(x\) 满足 \(f(x,t)\) 为偶数。 \((|s|,|t|\le 10^6)\)

如果 \(s_1\) 包含1的个数和 \(s_2\) 包含1的个数的奇偶性相同,那么 \(f(s_1,s_2)\) 是偶数,否则是奇数。
前缀和处理。时间复杂度 \(O(n)\)

D.

给你一个实数序列 \(a\) ,现在要把 \(a\) 中的所有元素向上或向下取整,使得序列之和为0。保证有解。输出一种方案。

先让所有元素全部向下取整,然后把不够的加到不是整数的元素上。
本题卡精度,ceil() floor()请慎用。最好加上一个eps。

扫描二维码关注公众号,回复: 6685224 查看本文章

E.

猜你喜欢

转载自www.cnblogs.com/BlogOfchc1234567890/p/11109249.html