先放凉凉的排名
表示初中生真的对高数毫无知觉啊…
接下来就是
N
∗
3
(
N
≤
1000
)
N*3(N≤1000)
N∗3(N≤1000)个大学生/高中生如何将3个初中的小盆友虐到自闭的故事。
section 1
蒙蔽的第一天qwq。
第一天就忘了参赛时间,划水到12:30的时候进HDU一看发现比赛已经开始了???
1.1 K.Time Zone
01:01:54(-6)
模拟
今天的第一题。
由于划水了半个小时,就扔给队友做去了,结果做了一个小时,还错了6次(好像坑特别多啊qwq)。
听说做法是将时间全部转成秒,然后模拟?
1.2 A.Maximum Multiple
01:40:56(-6)
结论
第二题就自闭了qwq.。
队友打了一个错误的表出来,对着屏幕干瞪了一个小时,还错了好几次。
实际上是一个非常明显的规律
当
a
≡
0
(
m
o
d
3
)
a≡0(mod 3)
a≡0(mod3),答案为
a
3
27
\frac{a^3}{27}
27a3
当
a
≡
0
(
m
o
d
4
)
a≡0(mod 4)
a≡0(mod4),答案为
a
3
32
\frac{a^3}{32}
32a3
实际上是因为
1
=
1
2
+
1
3
+
1
6
=
1
3
+
1
3
+
1
3
=
1
2
+
1
4
+
1
4
1=\frac{1}{2}+\frac{1}{3}+\frac{1}{6}=\frac{1}{3}+\frac{1}{3}+\frac{1}{3}=\frac{1}{2}+\frac{1}{4}+\frac{1}{4}
1=21+31+61=31+31+31=21+41+41(题解上的一句话…)
1.3 C.Triangle Partition
01:59:24(0)
排序
非常简单的题目。然而前面花了太长的时间,看这道题的时候已经很迟了qwq.
直接按
x
x
x或者
y
y
y轴排序输出即可。
1.4 D.Distinct Values
送命题*1
贪心+set
RT,一道蒟蒻的送命题(还好不是我做的qwq)。
思路很简单,贪心地从前往后维护一个
s
e
t
set
set,做
m
e
x
mex
mex运算即可。
结果考试的时候一直Wrong Answer
,一直到考试结束…
1.5 G.Chiaki Sequence Revisited
送命题*2
差分序列+阿贝尔变换
压根不知道阿贝尔变换是什么,考试的时候乱搞了几次就没做了…
1.6 B.Balanced Sequence
赛后题
贪心+排序+模拟
真心后悔考试的时候没看这道题…
一道与括号序列相关的题目。
我们知道当一个串括号将匹配消去时只有四种情况
1.空串
2.(
,((
,(((
3.)(
,)((
,))(((
4.))
,)))
,)
对于空串,无论哪个位置都行,可以不用管它。
从全局来看,应该按2,3,4
部分的顺序来排
对于2,4
部分,显然匹配数量与顺序无关,也可以不用管。
对于3
部分来说也有两种情况:
I.(
比)
多
II.)
比(
多
I部分我们按)
个数从小到大排序
II部分我们按(
个数从大到小排序
排好序后模拟即可。
1.7 总结
第一次考试果然没分…
主要是ACM的题从来没接触过吧qwq…
下次继续努力…
section 2
线段树自闭场…
2.1 D.Game
00:11:20(-2)
博弈论+结论
一道结论题,还没打开电脑队友就AC
了。
听说是直接输出Yes
即可。
证明(by 官方题解):
考虑将游戏变成初始时只有 2 2 2~ n n n,如果先手必胜的话,那么先手第一步按这样取就获胜了;如果后手必胜的话,那么先手第一步取走1就获胜了。所以全输出Yes就行了。
2.2 J.Swaps and Inversions
00:22:06(0)
逆序对
这题也是队友秒的…
容易发现逆序对=交换相邻需要交换的次数。
直接输出
m
i
n
(
x
,
y
)
×
min(x,y)×
min(x,y)×逆序对。
2.3 E.Hack It
送命题*1
构造
矩阵构造题…
乱构造了半天就是到不了85000…
最后题解好像和同余有关…
2.4 G.Naive Operations
送命题*2
线段树
我的锅,我的锅qwq…
这道题本身思路很简单,维护区间
[
l
,
r
]
[l,r]
[l,r]的
p
i
p_i
pi最小值,其中
p
i
p_i
pi指区间
b
i
−
a
i
m
o
d
b
i
b_i-a_i mod b_i
bi−aimodbi的最小值,每次加一等价于将
p
i
−
1
p_i-1
pi−1,并做一个
−
1
-1
−1的懒标记,一旦
p
i
=
=
0
p_i==0
pi==0向下更新一次即可。
然而蒟蒻半年没打过线段树…结果一直WA
。然后就自闭了…
section 3
同样爆炸的一天.
3.1 D. Euler Function
00:25:58(0)
结论+找规律
题目明显是求第k个欧拉函数值为合数的数.
做这道题只需要两三步:打开百度百科
−
>
->
−>搜索欧拉函数表
−
>
->
−>输出
至于为什么…可以去网上搜一下证明。
3.2 F. Grab The Tree
00:44:36(0)
博弈论
一道关于xor
的趣题…
设点权异或和为
s
u
m
sum
sum
当
s
u
m
=
=
0
sum==0
sum==0时,根据异或的性质,
A
A
A一定等于
B
B
B,因此是平局。
当
s
u
m
>
0
sum>0
sum>0时,A可以取
s
u
m
sum
sum的二进制下的最高位的
1
1
1,根据异或的性质,点权为
s
u
m
sum
sum的二进制下的最高位的
1
1
1的点一定只有奇数个,因此
A
A
A必胜。
3.3 L. Visual Cube
01:06:14(-1)
模拟
输出类似如下的立方体
A
×
B
×
C
A×B×C
A×B×C。
....+-+-+-+-+-+-+ .../././././././| ..+-+-+-+-+-+-+.+ ./././././././|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/. +-+-+-+-+-+-+.+.. |.|.|.|.|.|.|/... +-+-+-+-+-+-+....
恶心模拟题…不想说任何话了qwq
3.4 A. Ascending Rating
送命题*1
滑窗+单调队列
这题不是我做的…
很明显的滑窗+单调队列的题,然后队友就去实现了…
结果一直TLE
…
好像题解说要倒着做才不会超时。
3.5 C. Dynamic Graph Matching
送命题*2
状压DP
杯具呀…
自己想了半天之后猜测这道题貌似状压DP可以做,然后被队友残忍拒绝了…
然后就没有然后了.
其实这题DP的思路是比较简单的。
设
f
[
S
]
f[S]
f[S]为已经选
S
S
S中的点所能构成的方案数。
如果是加边,则
d
p
[
S
]
=
d
p
[
S
]
+
d
p
[
S
−
u
−
v
]
dp[S]=dp[S]+dp[S-u-v]
dp[S]=dp[S]+dp[S−u−v]
反之,删边就是
d
p
[
S
]
=
d
p
[
S
]
−
d
p
[
S
−
u
−
v
]
dp[S]=dp[S]-dp[S-u-v]
dp[S]=dp[S]−dp[S−u−v]
section 4
错题大赛
4.1 L. Graph Theory Homework
00:13:04(-1)
结论
因为
⌊
a
⌋
+
⌊
b
⌋
≥
⌊
a
+
b
⌋
\lfloor \sqrt{a} \rfloor+\lfloor \sqrt{b} \rfloor ≥\lfloor \sqrt{a+b} \rfloor
⌊a⌋+⌊b⌋≥⌊a+b⌋所以直接从
1
1
1到
n
n
n是最短的.注意绝对值.
4.2 K. Expression in Memories
00:49:12(-1)
模拟
这题不是我做的。
主要是注意一下类似+0?
,+0
,+?
之类的情况,之后尝试着替换就好。
4.3 D. Nothing is Impossible
02:28:43(-2)
贪心+心理学
心理学是什么鬼…
其实是因为这道题标程有错,导致数据与题面不符,但仍然有200多人过了这道题?!..不得不说真是心理学大神啊…
后来更换了题面,把
a
i
a_i
ai全部变成
1
1
1…然后就变大水题了。
将数将
b
i
b_i
bi排序,将
m
m
m不断地除
(
b
i
+
1
)
(b_i+1)
(bi+1)直到变为零为止,答案就是除的
b
b
b的个数。
4.4 B. Harvest of Apples
送命题*1
莫队+组合数
想了半天压根没有思路…开始很怀疑为什么会有这么多人过…越做越怀疑人生…
最后才知道是道原题…而且正解是莫队…没有学过莫队的蒟蒻完全自闭了…
4.5 E. Matrix from Arrays
送命题*2
规律+前缀和
最开始是队友在做这道题。
结果队友一直都过不了样例。然后就集体弃掉
B
B
B题做这道题了。
最后还是没调出来…
考试结束后,发现是坐标输入反了。
其实这道题就是一道找规律的题。
打表可以发现
M
[
i
+
2
L
]
[
j
]
=
M
[
i
]
[
j
+
2
L
]
=
M
[
i
]
[
j
]
M[i+2L][j]=M[i][j+2L]=M[i][j]
M[i+2L][j]=M[i][j+2L]=M[i][j]
然后预处理
M
[
2
L
]
[
2
L
]
M[2L][2L]
M[2L][2L]的前缀和,将
x
>
2
L
,
y
>
2
L
x>2L,y>2L
x>2L,y>2L的询问拆成4个部分,就可以愉快地
O
(
1
)
O(1)
O(1)回答了。
section 5
打的最惨的一轮
5.1 B.Beautiful Now
04:37:24(-4)
只做了唯一一道签到题。
而且还是在最后的时间卡过去的。
这是一道暴力题。直接枚举全排列然后检验即可。
复杂度
O
(
n
!
n
)
O(n!n)
O(n!n)
然而被卡常数了…
最后在其他dalao的指引下,才用剪了枝的
D
F
S
DFS
DFS卡了过去。其实剪枝有很多方法。这里不再赘述。
5.2 E.Everything Has Changed
送命题(-25)
其实这次爆炸并不是因为上面的B题。
而是因为这道错了25次的计算几何。
留下了不会计算几何的泪水…
题目本身不难,虽然对初中生非常地不友好,但板子网上都有,也没太大难度。
但卡精度真的没救啊…
彻底被计算几何送自闭了。
在此留下题目:Everything Has Changed
.
section 6
非常不正常的一轮,但是居然有分了。qwq
6.1 I.Werewolf
03:44:50(-7)
推理+基环树
没错…这是我们的签到题…
题目不是我做的…
据说是一道遍历染色的题。
将人抽象成一个点,他所指的人与他自己之间连一条有向边并标记。
先将是狼人的边去掉,于是图变成了若干个联通块。
容易得知,这些联通块要么是一棵树,要么是一个基环树。
对于基环树,所有人都可以是村民。
对于树,如果没有狼人的边指向它,那同样所有人都可以是村民,否则指向的节点
x
x
x与它指向的子树都是狼人。
遍历一遍并染色即可。
6.2 A.oval-and-rectangle
04:22:42(-12)
连续期望+微积分
期望没学过,微积分也没学过,做到这道题的时候真的想吐…
题目本身没有思维难度,主要是现场学习微积分和连续期望实在是花了太长的时间。
根据椭圆的解析式推出来的连续期望的定积分是这样的:
∫
0
b
4
a
1
−
x
2
b
2
+
4
x
d
x
\int_0^b {4a\sqrt{1-\frac{x^2}{b^2}}+4x} {\rm d}x
∫0b4a1−b2x2+4xdx
最开始蒟蒻完全不会化简,差点就放弃了…幸亏找到了有道万能计算器
,然后瞬间就算出来了。
化简出来等于
2
b
2
+
2
a
b
π
2b^2+2ab\pi
2b2+2abπ
接着就错了十二次…
…后来发现连续概率式子还要整体除以
b
b
b.
所以是
2
b
+
2
a
π
2b+2a\pi
2b+2aπ
样例真水
6.3 L.Pinball
04:50:42(-2)
物理
这是一道差点送命的物理题。
当然也不可能是我这种物理蒟蒻做的了qwq。
由于自己不懂高中物理,所以直接将官方题解搬过来了:
将重力加速度分解成垂直斜坡和平行斜坡两个方向。考虑这两个方向的分运动。
垂直斜坡方向,小球周期性的弹起下落。
平行斜坡方向,小球做匀加速直线运动。
只要算出垂直斜坡方向的分运动的周期,和平行斜坡方向分运动的总时间,除一下就是答案。
6.4 B.bookshelf
送命题
组合计数+容斥/莫比乌斯反演+GCD
这是自己唯一一道写了完整的博客的题。
由于还有一部分没完成所以晚点再发…
section 7
7.1 A.Age of Moyu
00:13:30(0)
贪心+Dijkstra
前几场都是自己被原题被虐,今天终于自己碰上原题了qwq.
没错。。。这题就是道原题,只不过题目非常卡常,但读入优化一下就好了。
自己原来的做法是贪心+Dijkstra+map。
原题链接
ARC061 E
7.2 J.Sequence
03:48:41(-3)
数学+矩阵快速幂
这题是队友做的,算是一道矩阵快速幂的经典题。
首先对于
f
i
=
C
∗
f
i
−
2
+
D
∗
f
i
−
2
+
S
f_i=C*f_{i-2}+D*f_{i-2}+S
fi=C∗fi−2+D∗fi−2+S这个递推式我们有矩阵:
(
f
i
−
1
f
i
−
2
1
)
×
(
D
C
S
1
0
0
0
0
1
)
\begin{pmatrix} {f_{i-1}}\\ {f_{i-2}}\\ {1}\\ \end{pmatrix} × \begin{pmatrix} {D}&{C}&{S}\\ {1}&{0}&{0}\\ {0}&{0}&{1}\\ \end{pmatrix}
⎝⎛fi−1fi−21⎠⎞×⎝⎛D10C00S01⎠⎞
由于 S = ⌊ P i ⌋ S=\lfloor \frac{P}{i} \rfloor S=⌊iP⌋。我们知道 ⌊ P i ⌋ \lfloor \frac{P}{i} \rfloor ⌊iP⌋有 P \sqrt{P} P种不同的取值,因此对不同的取值跑一遍矩阵快速幂即可。
7.3 E.GuGuFishtion
送命题*1
数论+容斥
果然
G
u
G
u
GuGu
GuGu了。
压根没有发现
φ
(
a
b
)
φ
(
a
)
φ
(
b
)
=
g
c
d
(
a
,
b
)
φ
(
g
c
d
(
a
,
b
)
)
\frac{φ(ab)}{φ(a)φ(b)}=\frac{gcd(a,b)}{φ(gcd(a,b))}
φ(a)φ(b)φ(ab)=φ(gcd(a,b))gcd(a,b)
这样题目就简单许多了。
我们可以枚举
k
=
g
c
d
(
a
,
b
)
k=gcd(a,b)
k=gcd(a,b),求出
g
c
d
(
a
,
b
)
=
k
gcd(a,b)=k
gcd(a,b)=k的二元组
(
a
,
b
)
(a,b)
(a,b)的对数。
也就转化成6.4 B.bookshelf
一样的莫比乌斯反演或者容斥了。
##7.4 I.Tree
送命题*2
LCT\树上分块
发现我们学校的高中dalao都过了这道题,然后就自闭了两个小时。
结果赛后看了dalao们的代码…LCT
!!(蒟蒻压根没学过这个东西)。
其实还有另外一种解法叫树分块
。(之前也想过这个东西,但以为在树上分块不太现实,结果还真有这种做法…)。
用树分块维护当前节点跳多少次到下一个块,下一个块是什么,和原题中的
a
i
a_i
ai。
这样我们就能保证每次修改&查询都是
O
(
n
)
O(\sqrt{n})
O(n)。
最开始的预处理可以用倍增做。
复杂度
O
(
n
l
o
g
n
+
m
n
)
O(nlogn+m\sqrt{n})
O(nlogn+mn)
section 8
8.1 E.Magic Square
00:17:35(0)
模拟
额…
这题没什么好说的…
直接模拟即可。良心送分题。
8.2 D.Parentheses Matrix
04:57:04(-8)
构造
构造括号矩阵自闭题。
最开始,我们构造的矩阵是这样的:
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
(
)
(
)
(
)
)
(
(
)
(
)
(
)
)
(
(
)
(
)
(
)
)
\begin{matrix} {(}&{)}&{(}&{)}&{(}&{)}&{(}&{)}\\ {(}&{)}&{(}&{)}&{(}&{)}&{(}&{)}\\ {(}&{)}&{(}&{)}&{(}&{)}&{(}&{)}\\ {(}&{(}&{)}&{(}&{)}&{(}&{)}&{)}\\ {(}&{(}&{)}&{(}&{)}&{(}&{)}&{)}\\ {(}&{(}&{)}&{(}&{)}&{(}&{)}&{)}\\ \end{matrix}
(((((()))(((((())))))(((((())))))(((((()))))))))
然后就天真的以为,
n
n
n,
m
m
m都是偶数时能够匹配的括号数量最多有
n
2
+
m
−
1
\frac{n}{2}+m-1
2n+m−1个。
实际上…
当
n
≥
6
n≥6
n≥6可以这样构造
( ( ( ( ( ( ( ( ( ) ( ) ( ) ( ) ( ( ) ( ) ( ) ) ( ) ( ) ( ) ( ) ( ( ) ( ) ( ) ) ) ) ) ) ) ) ) ) \begin{matrix} {(}&{(}&{(}&{(}&{(}&{(}&{(}&{(}\\ {(}&{)}&{(}&{)}&{(}&{)}&{(}&{)}\\ {(}&{(}&{)}&{(}&{)}&{(}&{)}&{)}\\ {(}&{)}&{(}&{)}&{(}&{)}&{(}&{)}\\ {(}&{(}&{)}&{(}&{)}&{(}&{)}&{)}\\ {)}&{)}&{)}&{)}&{)}&{)}&{)}&{)}\\ \end{matrix} ((((()()()()(()())()()()(()())()()()(()())()))))
这样构造够匹配的括号数量是
n
+
m
−
4
n+m-4
n+m−4个。
同理,可以构造
n
<
6
n<6
n<6时匹配的括号数量是
n
+
m
−
3
n+m-3
n+m−3个。
8.3 J.Taotao Picks Apples
送命题
单调栈/ST表+二分
又是我的锅…
蒟蒻考试的时候其实想出来了两种方法:
1.用DP求出从
i
i
i开始的摘的苹果的数量,每次询问用ST表
O
(
1
)
O(1)
O(1)查询最大值并二分,找到区间
[
p
+
1
,
n
]
[p+1,n]
[p+1,n]中与修改值的相邻点,然后用它来更新答案。复杂度
O
(
n
l
o
g
n
+
Q
l
o
g
n
)
O(nlogn+Qlogn)
O(nlogn+Qlogn),由于有ST表
,常数较大。
2.将询问按位置从小到大排序,然后从后向前维护一个单调栈,,并在维护位置
x
x
x时回答在
x
x
x上的所有询问,复杂度
O
(
n
+
2
∗
Q
l
o
g
n
)
O(n+2*Qlogn)
O(n+2∗Qlogn),常数较小。
蒟蒻太懒了,懒得打这么长的代码,于是就告诉队友第二个方法自己划水去了。。由于自己的第二个方法有三个二分(其实只用一个),结果最后又集体自闭了…
自己的锅该自己背啊qwq
section 9
9.1 H.Rikka with Badminton
00:48:30(-4)
组合计数+快速幂
签到题。
我们队用的分类讨论计数的方法。
A
n
s
=
(
b
+
1
)
∗
2
a
+
c
+
d
∗
2
a
+
c
+
(
2
b
−
b
−
1
)
∗
2
a
Ans=(b+1)*2^{a+c}+d*2^{a+c}+(2^{b}-b-1)*2^a
Ans=(b+1)∗2a+c+d∗2a+c+(2b−b−1)∗2a
9.2 D.Rikka with Stone-Paper-Scissors
02:12:54(-1)
期望+结论
说实话这道题是我们猜出来的。
直接假设Rikka也失去理智地随机出拳。
那么所得的期望是:
a
2
∗
(
c
1
−
b
1
)
+
b
2
∗
(
a
1
−
c
1
)
+
c
2
∗
(
b
1
−
a
1
)
a
1
+
b
1
+
c
1
\frac{a_2*(c_1-b_1)+b_2*(a_1-c_1)+c_2*(b_1-a_1)}{a_1+b_1+c_1}
a1+b1+c1a2∗(c1−b1)+b2∗(a1−c1)+c2∗(b1−a1)
发现正好与样例的结果相同…
实际上证明是十分复杂的化简过程。
利用的是石头剪刀布之间存在的对称性
9.3 A.Rikka with Nash Equilibrium
04:51:08(-1)
DP
玄学Dp…
[跳过]
section 10
10.1 H. Pow
00:12:37(0)
高精度/Java
可怜的C++超复杂高精度无脑加法…
10.2 G. Cyclic
00:45:42(0)
OEIS/结论
OEIS大法好。。。先打表然后用OEIS搜这个数列,得到一个递推公式…
O
(
n
)
O(n)
O(n)预处理打表即可。
10.3 I. Count
01:43:27(-1)
找规律+OEIS
先用OEIS确定是一道欧拉函数的题。然后打出欧拉函数与答案数列,然后找规律。
答案
a
n
s
i
=
φ
(
i
)
/
2
+
Σ
φ
(
i
2
∗
2
)
/
2
ans_i=φ(i)/2+Σφ(\frac{i}{2}*2)/2
ansi=φ(i)/2+Σφ(2i∗2)/2
10.4 L.Videos
04:39:16(-6)
费用流
考试的时候莫名其妙就猜出是道费用流的题
这道题实际上非常容易想成DP。。。但经过dalao的提醒我们发现其实是一个与费用流相关的题。
接下来就是建模的问题了。
最开始,我们组的想法是将所有人放在X部
,所有电影设为Y部
。
1.源点与人全部相连,费用为0
.
2.人与电影两两相连,费用为看电影
i
i
i的花费
w
i
w_i
wi。
3.如果电影
X
X
X与电影
Y
Y
Y之间不相互影响,则在
X
X
X,
Y
Y
Y之间连一条边。注意若两个电影种类相同,费用为
w
Y
−
W
w_Y-W
wY−W。否则,费用为
w
Y
w_Y
wY。
4.将电影与汇点全部相连,费用为0
。
5.所有边的容量都为1
。
如下图所示:
然而这样连有一个问题。
虽然看上去再最后到汇点时已经限制了人数。但是当还是无法防止有多个人看一个电影,例如上图中人可以通过红色的边或者黑色的边到达同一个电影。
经dalao的提示,我们需要拆点。
我们可以将电影拆成两个点(下图中是一个橙色的点,一个绿色[当是绿色吧…]的点),两点之间连一个容量为1
费用为0
的边。
还有在电影
X
X
X与电影
Y
Y
Y之间不相互影响的情况下,则在
X
X
X的绿色的点,
Y
Y
Y的橙色的点之间连一条边。费用同前。
如下图所示:
对了…还有要注意千万不能这样连…
10.5 J. CSGO
05:05:55(0)
子集枚举+思维
https://blog.csdn.net/qq_34940287/article/details/82021295
时间有些奇怪?
是的,这道题是在考试后5分钟调出来的(实际上是光看队友写费用流去了忘了要写这道题).
算是一道比较简单的题目吧qwq.
题目要求求
S
i
+
S
j
+
∑
p
=
1
k
∣
x
i
,
p
−
y
j
,
p
∣
S_i+S_j+\sum^{k}_{p=1} \vert x_{i,p}-y_{j,p} \vert
Si+Sj+∑p=1k∣xi,p−yj,p∣的最大值。
实际上
S
i
+
S
j
S_i+S_j
Si+Sj的最大值十分好求,找两个最大的
S
S
S即可。
但
∑
p
=
1
k
∣
x
i
,
p
−
y
j
,
p
∣
\sum^{k}_{p=1} \vert x_{i,p}-y_{j,p} \vert
∑p=1k∣xi,p−yj,p∣这一部分十分不友好。
因此我们想办法将这个绝对值去掉。
注意题目要求我们求最大的绝对值。
我们应先考虑一个子问题:
求 ∣ a i − b j ∣ \vert a_i-b_j \vert ∣ai−bj∣的最大值
注意到
∣
a
−
b
∣
=
m
a
x
(
a
−
b
,
b
−
a
)
\vert a-b \vert=max(a-b,b-a)
∣a−b∣=max(a−b,b−a)
那么
m
a
x
(
∣
a
i
−
b
j
∣
)
=
m
a
x
(
m
a
x
(
a
i
−
b
j
,
b
j
−
a
i
)
)
=
m
a
x
(
a
i
−
b
j
,
b
j
−
a
i
)
=
m
a
x
(
a
i
,
−
a
i
)
+
m
i
n
(
b
j
,
−
b
j
)
max(\vert a_i-b_j \vert)=max(max(a_i-b_j,b_j-a_i))=max(a_i-b_j,b_j-a_i)=max(a_i,-a_i)+min(b_j,-b_j)
max(∣ai−bj∣)=max(max(ai−bj,bj−ai))=max(ai−bj,bj−ai)=max(ai,−ai)+min(bj,−bj)
解释一下这一步…
m
a
x
(
a
i
,
−
a
i
)
max(a_i,-a_i)
max(ai,−ai)一定是非负的,
m
i
n
(
b
j
,
−
b
j
)
min(b_j,-b_j)
min(bj,−bj)一定是非正的。
这一步相当于将
a
i
a_i
ai全部强制为正,
b
i
b_i
bi全部强制为负然,后找最大值求和
。(至于为什么我真的讲不清楚啊qwq)
等价于
m
a
x
(
a
i
,
−
a
i
)
−
m
a
x
(
b
j
,
−
b
j
)
max(a_i,-a_i)-max(b_j,-b_j)
max(ai,−ai)−max(bj,−bj)
如果是求
∣
a
i
,
1
−
b
j
,
1
∣
+
∣
a
i
,
2
−
b
j
,
2
∣
\vert a_{i,1}-b_{j,1} \vert+\vert a_{i,2}-b_{j,2} \vert
∣ai,1−bj,1∣+∣ai,2−bj,2∣.
很明显就是
m
a
x
(
a
i
,
1
+
a
i
,
2
,
−
a
i
,
1
−
a
i
,
2
,
−
a
i
,
1
+
a
i
,
2
,
a
i
,
1
−
a
i
,
2
)
−
m
a
x
(
b
j
,
1
+
b
j
,
2
,
−
b
j
,
1
−
b
j
,
2
,
b
j
,
1
−
b
j
,
2
,
−
b
j
,
1
+
b
j
,
2
)
max(a_{i,1}+a_{i,2},-a_{i,1}-a_{i,2},-a_{i,1}+a_{i,2},a_{i,1}-a_{i,2})-max(b_{j,1}+b_{j,2},-b_{j,1}-b_{j,2},b_{j,1}-b_{j,2},-b_{j,1}+b_{j,2})
max(ai,1+ai,2,−ai,1−ai,2,−ai,1+ai,2,ai,1−ai,2)−max(bj,1+bj,2,−bj,1−bj,2,bj,1−bj,2,−bj,1+bj,2)
那么对于
∑
p
=
1
k
∣
x
i
,
p
−
y
j
,
p
∣
\sum^{k}_{p=1} \vert x_{i,p}-y_{j,p} \vert
∑p=1k∣xi,p−yj,p∣就是
m
a
x
(
m
a
x
(
(
∑
p
=
1
k
±
x
i
,
p
)
)
+
m
a
x
(
m
a
x
(
∑
p
=
1
k
±
y
j
,
p
)
)
max(max((\sum^{k}_{p=1} ±x_{i,p}) )+max(max(\sum^{k}_{p=1} ±y_{j,p}))
max(max((∑p=1k±xi,p))+max(max(∑p=1k±yj,p))
对与±号,我们可以用子集枚举来完成。
答案
S
i
+
S
j
+
∑
p
=
1
k
∣
x
i
,
p
−
y
j
,
p
∣
S_i+S_j+\sum^{k}_{p=1} \vert x_{i,p}-y_{j,p} \vert
Si+Sj+∑p=1k∣xi,p−yj,p∣就是
m
a
x
(
(
m
a
x
(
(
∑
p
=
1
k
±
x
i
,
p
)
+
S
i
)
)
+
m
a
x
(
(
m
a
x
(
∑
p
=
1
k
±
y
j
,
p
)
−
S
j
)
)
max((max((\sum^{k}_{p=1} ±x_{i,p})+S_i) )+max((max(\sum^{k}_{p=1} ±y_{j,p})-S_j))
max((max((∑p=1k±xi,p)+Si))+max((max(∑p=1k±yj,p)−Sj))
(抱歉,这道题实在讲的太不清楚了)
复杂度
O
(
n
∗
2
k
)
O(n*2^k)
O(n∗2k)
放上官方题解: