diff --git a/00iKSZT709/index.html b/00iKSZT709/index.html index d0dea0f..110a93e 100644 --- a/00iKSZT709/index.html +++ b/00iKSZT709/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/0YiuqRXga/index.html b/0YiuqRXga/index.html index 385a910..deade45 100644 --- a/0YiuqRXga/index.html +++ b/0YiuqRXga/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/AUx6Qb151/index.html b/AUx6Qb151/index.html index c1dc2f6..06ba89c 100644 --- a/AUx6Qb151/index.html +++ b/AUx6Qb151/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/AUx6Qb151/page/2/index.html b/AUx6Qb151/page/2/index.html index c1dc2f6..06ba89c 100644 --- a/AUx6Qb151/page/2/index.html +++ b/AUx6Qb151/page/2/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/BHy59ue1j/index.html b/BHy59ue1j/index.html index fddcdb5..79b557a 100644 --- a/BHy59ue1j/index.html +++ b/BHy59ue1j/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/BHy59ue1j/page/2/index.html b/BHy59ue1j/page/2/index.html index fddcdb5..79b557a 100644 --- a/BHy59ue1j/page/2/index.html +++ b/BHy59ue1j/page/2/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/BHy59ue1j/page/3/index.html b/BHy59ue1j/page/3/index.html index fddcdb5..79b557a 100644 --- a/BHy59ue1j/page/3/index.html +++ b/BHy59ue1j/page/3/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/Dinic/index.html b/Dinic/index.html index b60459c..4e83e7e 100644 --- a/Dinic/index.html +++ b/Dinic/index.html @@ -7,7 +7,7 @@ Dinic算法 | hkr04‘s blogs - + diff --git a/Edmunds-Karp/index.html b/Edmunds-Karp/index.html index e7c1231..85e8ec3 100644 --- a/Edmunds-Karp/index.html +++ b/Edmunds-Karp/index.html @@ -7,7 +7,7 @@ Edmunds-Karp算法 | hkr04‘s blogs - + diff --git a/Integer-valued-function/index.html b/Integer-valued-function/index.html index 24c9313..29594ac 100644 --- a/Integer-valued-function/index.html +++ b/Integer-valued-function/index.html @@ -7,7 +7,7 @@ 取整函数的性质 | hkr04‘s blogs - + diff --git a/OTgD04CC8/index.html b/OTgD04CC8/index.html index e7030eb..b68e5d6 100644 --- a/OTgD04CC8/index.html +++ b/OTgD04CC8/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/about/index.html b/about/index.html index 4075dec..e6f518b 100644 --- a/about/index.html +++ b/about/index.html @@ -7,7 +7,7 @@ 关于 | hkr04‘s blogs - + diff --git a/archives/index.html b/archives/index.html index 76b9fe9..08dd009 100644 --- a/archives/index.html +++ b/archives/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/atom.xml b/atom.xml index cbc71a3..d1f64e0 100644 --- a/atom.xml +++ b/atom.xml @@ -2,7 +2,7 @@ https://hkr04.github.io hkr04‘s blogs - 2020-04-01T00:23:41.131Z + 2020-04-01T00:28:52.583Z https://github.com/jpmonette/feed @@ -999,7 +999,7 @@ int main()

题目希望我们在nn个柱子放上最多的球,并且要求相邻的球之间满足相加为完全平方数的条件。

题解

较显然的一点是,对于递增的nn来说,其所能放的最多球的数量一定是单调上升的。因为新增加的柱子至少可以比前一个的最大方案多放一个。同时,如果编号为xx的球已经找不到放下的方案,根据题目要求,大于xx的球数也一定是不合法的。

-

再从另一个角度考虑,球数增加时所需要的最少柱子数量也是单调不增的。于是就可以将这题转化为求最大的球数,使得其最小覆盖恰不大于n。如果你还没有做过最小覆盖相关的题目,简单来说,就是你需要把一些元素分成互不相交的集合,且使得集合数最小。参考最小路径覆盖问题,这两者的建模方式是类似的,在本题中每尝试增加一个球就让它尝试和之前的球连边即可。
+

再从另一个角度考虑,球数增加时所需要的最少柱子数量也是单调不增的。于是就可以将这题转化为求最大的球数,使得其最小覆盖恰不大于n。如果你还没有做过最小覆盖相关的题目,简单来说,就是你需要把一些元素分成互不相交的集合,且使得集合数最小。参考最小路径覆盖问题,这两者的建模方式是类似的,在本题中每尝试增加一个球就让它尝试和之前的球连边即可。
这题就这么解决啦,关键的地方在于找出单调性和由最大转化为最小可行问题。

(关于球的枚举上界问题,可以先设一个较大的值再跑一下极限数据看看)

代码

diff --git a/fenwick-tree-plus/index.html b/fenwick-tree-plus/index.html index 457c8cc..7980ac0 100644 --- a/fenwick-tree-plus/index.html +++ b/fenwick-tree-plus/index.html @@ -7,7 +7,7 @@ 线段树?树状数组! | hkr04‘s blogs - + diff --git a/index.html b/index.html index f01b1cc..ae3c6aa 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/magic-balls-problem/index.html b/magic-balls-problem/index.html index a577b64..7482f23 100644 --- a/magic-balls-problem/index.html +++ b/magic-balls-problem/index.html @@ -7,7 +7,7 @@ 魔术球问题 | hkr04‘s blogs - + @@ -509,7 +509,7 @@

题意简述

题目希望我们在nn个柱子放上最多的球,并且要求相邻的球之间满足相加为完全平方数的条件。

题解

较显然的一点是,对于递增的nn来说,其所能放的最多球的数量一定是单调上升的。因为新增加的柱子至少可以比前一个的最大方案多放一个。同时,如果编号为xx的球已经找不到放下的方案,根据题目要求,大于xx的球数也一定是不合法的。

-

再从另一个角度考虑,球数增加时所需要的最少柱子数量也是单调不增的。于是就可以将这题转化为求最大的球数,使得其最小覆盖恰不大于n。如果你还没有做过最小覆盖相关的题目,简单来说,就是你需要把一些元素分成互不相交的集合,且使得集合数最小。参考最小路径覆盖问题,这两者的建模方式是类似的,在本题中每尝试增加一个球就让它尝试和之前的球连边即可。
+

再从另一个角度考虑,球数增加时所需要的最少柱子数量也是单调不增的。于是就可以将这题转化为求最大的球数,使得其最小覆盖恰不大于n。如果你还没有做过最小覆盖相关的题目,简单来说,就是你需要把一些元素分成互不相交的集合,且使得集合数最小。参考最小路径覆盖问题,这两者的建模方式是类似的,在本题中每尝试增加一个球就让它尝试和之前的球连边即可。
这题就这么解决啦,关键的地方在于找出单调性和由最大转化为最小可行问题。

(关于球的枚举上界问题,可以先设一个较大的值再跑一下极限数据看看)

代码

diff --git a/network-flows/index.html b/network-flows/index.html index a23c140..3323604 100644 --- a/network-flows/index.html +++ b/network-flows/index.html @@ -7,7 +7,7 @@ 网络流 | hkr04‘s blogs - + diff --git a/page/2/index.html b/page/2/index.html index beafd3a..9848b7c 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/page/3/index.html b/page/3/index.html index c3bfa8c..2e6ed4c 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/page/4/index.html b/page/4/index.html index ad8bf2f..d5b3dce 100644 --- a/page/4/index.html +++ b/page/4/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/pilots-matching/index.html b/pilots-matching/index.html index 77ce954..679d89b 100644 --- a/pilots-matching/index.html +++ b/pilots-matching/index.html @@ -7,7 +7,7 @@ 飞行员配对方案 | hkr04‘s blogs - + diff --git a/qkZ2mtZDC/index.html b/qkZ2mtZDC/index.html index 1c5c537..689a1c7 100644 --- a/qkZ2mtZDC/index.html +++ b/qkZ2mtZDC/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/rbBIcRlbH/index.html b/rbBIcRlbH/index.html index 8052b13..dc90642 100644 --- a/rbBIcRlbH/index.html +++ b/rbBIcRlbH/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/rbBIcRlbH/page/2/index.html b/rbBIcRlbH/page/2/index.html index 8052b13..dc90642 100644 --- a/rbBIcRlbH/page/2/index.html +++ b/rbBIcRlbH/page/2/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/rdrsFYwkR/index.html b/rdrsFYwkR/index.html index a7bac0f..3dc79a9 100644 --- a/rdrsFYwkR/index.html +++ b/rdrsFYwkR/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/rdrsFYwkR/page/2/index.html b/rdrsFYwkR/page/2/index.html index a7bac0f..3dc79a9 100644 --- a/rdrsFYwkR/page/2/index.html +++ b/rdrsFYwkR/page/2/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/round-table-problem/index.html b/round-table-problem/index.html index 5c9e1cc..3644dbe 100644 --- a/round-table-problem/index.html +++ b/round-table-problem/index.html @@ -7,7 +7,7 @@ 圆桌问题 | hkr04‘s blogs - + diff --git a/segment-tree/index.html b/segment-tree/index.html index 948efe5..2459a5b 100644 --- a/segment-tree/index.html +++ b/segment-tree/index.html @@ -7,7 +7,7 @@ 线段树入门 | hkr04‘s blogs - + diff --git a/tags/index.html b/tags/index.html index a1de2fe..ca0c173 100644 --- a/tags/index.html +++ b/tags/index.html @@ -7,7 +7,7 @@ hkr04‘s blogs - + diff --git a/the-smallest-path-cover/index.html b/the-smallest-path-cover/index.html index df4fa73..9e2f0b7 100644 --- a/the-smallest-path-cover/index.html +++ b/the-smallest-path-cover/index.html @@ -7,7 +7,7 @@ 最小路径覆盖问题 | hkr04‘s blogs - +