Skip to content

Commit 60df99b

Browse files
committed
update
1 parent 9b89035 commit 60df99b

File tree

7 files changed

+33
-38
lines changed

7 files changed

+33
-38
lines changed

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ <h2 class="article-title">
525525

526526

527527
<time class="article-time--reading">
528-
阅读时长: 1 分钟
528+
阅读时长: 8 分钟
529529
</time>
530530
</div>
531531

index.xml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -854,21 +854,20 @@ $-10^{18}\le L\le R\le 10^{18}$&lt;/p&gt;
854854
给定 $A=(A_1,\dots,A_K)$,将 $S$ 中数字 $A_1,\dots,A_K$ 各拿掉一个,剩余 $2N-K$ 个。&lt;br&gt;
855855
对这 $2N-K$ 个数进行两两组合(可能剩余 $1$ 个),使得每对数之差的绝对值之和最小。输出这个最小和。&lt;/p&gt;
856856
&lt;p&gt;$1\le K\le N\le 2\times 10^5$&lt;br&gt;
857-
$1\le A_1&lt;A_2&lt;\dots&lt;A_K\le N$&lt;/p&gt;
857+
$1\le A_1 &lt; A_2 &lt; \dots &lt; A_K\le N$&lt;/p&gt;
858858
&lt;h2 id=&#34;分析-2&#34;&gt;分析
859859
&lt;/h2&gt;&lt;p&gt;首先,可以证明我们一定会将 $N-K$ 个成双的数字进行自我组合。&lt;/p&gt;
860860
&lt;blockquote&gt;
861-
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;&lt;br&gt;
862-
于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
861+
&lt;p&gt;&lt;strong&gt;简要证明&lt;/strong&gt;&lt;br&gt;
862+
采用 &lt;em&gt;反证法&lt;/em&gt;。假设有两个 $a$,我们将它们分别与 $b,c$ 组合。显然:&lt;/p&gt;
863+
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
863864
&lt;/blockquote&gt;
864865
&lt;p&gt;由于 $|a-a|=0$,所以这部分可以直接忽略,将单个的数字,即 $A_1,\dots,A_K$ 进行组合即可。&lt;/p&gt;
865866
&lt;p&gt;分两种情况讨论。&lt;/p&gt;
866867
&lt;ol&gt;
867868
&lt;li&gt;
868-
$$
869-
\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}
870-
$$&lt;p&gt;&lt;br&gt;
871-
直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
869+
&lt;p&gt;$K$ 为偶数:此时组合没有剩余。不难发现,相邻两两组合即为最优解,所以答案为:&lt;/p&gt;
870+
$$\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}$$&lt;p&gt;直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
872871
&lt;/li&gt;
873872
&lt;li&gt;
874873
&lt;p&gt;$K$ 为奇数:此时组合剩余一个。枚举此剩余的数,从 $A$ 中删去就转换成了偶数的情况。但是暴力计算的时间复杂度为 $\mathcal O(K^2)$,维护前缀后缀和即可优化到 $\mathcal O(K)$。&lt;/p&gt;

p/abc334/index.html

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ <h2 class="article-title">
363363

364364

365365
<time class="article-time--reading">
366-
阅读时长: 1 分钟
366+
阅读时长: 8 分钟
367367
</time>
368368
</div>
369369

@@ -475,21 +475,20 @@ <h1 id="c---socks-2httpsatcoderjpcontestsabc334tasksabc334_c"><a class="link" hr
475475
给定 $A=(A_1,\dots,A_K)$,将 $S$ 中数字 $A_1,\dots,A_K$ 各拿掉一个,剩余 $2N-K$ 个。<br>
476476
对这 $2N-K$ 个数进行两两组合(可能剩余 $1$ 个),使得每对数之差的绝对值之和最小。输出这个最小和。</p>
477477
<p>$1\le K\le N\le 2\times 10^5$<br>
478-
$1\le A_1<A_2<\dots<A_K\le N$</p>
478+
$1\le A_1 < A_2 < \dots < A_K\le N$</p>
479479
<h2 id="分析-2">分析
480480
</h2><p>首先,可以证明我们一定会将 $N-K$ 个成双的数字进行自我组合。</p>
481481
<blockquote>
482-
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$<p><br>
483-
于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。</p>
482+
<p><strong>简要证明</strong><br>
483+
采用 <em>反证法</em>。假设有两个 $a$,我们将它们分别与 $b,c$ 组合。显然:</p>
484+
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$<p>于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。</p>
484485
</blockquote>
485486
<p>由于 $|a-a|=0$,所以这部分可以直接忽略,将单个的数字,即 $A_1,\dots,A_K$ 进行组合即可。</p>
486487
<p>分两种情况讨论。</p>
487488
<ol>
488489
<li>
489-
$$
490-
\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}
491-
$$<p><br>
492-
直接计算即可。注意 $A$ 已排序,故无需取绝对值。</p>
490+
<p>$K$ 为偶数:此时组合没有剩余。不难发现,相邻两两组合即为最优解,所以答案为:</p>
491+
$$\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}$$<p>直接计算即可。注意 $A$ 已排序,故无需取绝对值。</p>
493492
</li>
494493
<li>
495494
<p>$K$ 为奇数:此时组合剩余一个。枚举此剩余的数,从 $A$ 中删去就转换成了偶数的情况。但是暴力计算的时间复杂度为 $\mathcal O(K^2)$,维护前缀后缀和即可优化到 $\mathcal O(K)$。</p>

post/index.xml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -821,21 +821,20 @@ $-10^{18}\le L\le R\le 10^{18}$&lt;/p&gt;
821821
给定 $A=(A_1,\dots,A_K)$,将 $S$ 中数字 $A_1,\dots,A_K$ 各拿掉一个,剩余 $2N-K$ 个。&lt;br&gt;
822822
对这 $2N-K$ 个数进行两两组合(可能剩余 $1$ 个),使得每对数之差的绝对值之和最小。输出这个最小和。&lt;/p&gt;
823823
&lt;p&gt;$1\le K\le N\le 2\times 10^5$&lt;br&gt;
824-
$1\le A_1&lt;A_2&lt;\dots&lt;A_K\le N$&lt;/p&gt;
824+
$1\le A_1 &lt; A_2 &lt; \dots &lt; A_K\le N$&lt;/p&gt;
825825
&lt;h2 id=&#34;分析-2&#34;&gt;分析
826826
&lt;/h2&gt;&lt;p&gt;首先,可以证明我们一定会将 $N-K$ 个成双的数字进行自我组合。&lt;/p&gt;
827827
&lt;blockquote&gt;
828-
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;&lt;br&gt;
829-
于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
828+
&lt;p&gt;&lt;strong&gt;简要证明&lt;/strong&gt;&lt;br&gt;
829+
采用 &lt;em&gt;反证法&lt;/em&gt;。假设有两个 $a$,我们将它们分别与 $b,c$ 组合。显然:&lt;/p&gt;
830+
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
830831
&lt;/blockquote&gt;
831832
&lt;p&gt;由于 $|a-a|=0$,所以这部分可以直接忽略,将单个的数字,即 $A_1,\dots,A_K$ 进行组合即可。&lt;/p&gt;
832833
&lt;p&gt;分两种情况讨论。&lt;/p&gt;
833834
&lt;ol&gt;
834835
&lt;li&gt;
835-
$$
836-
\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}
837-
$$&lt;p&gt;&lt;br&gt;
838-
直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
836+
&lt;p&gt;$K$ 为偶数:此时组合没有剩余。不难发现,相邻两两组合即为最优解,所以答案为:&lt;/p&gt;
837+
$$\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}$$&lt;p&gt;直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
839838
&lt;/li&gt;
840839
&lt;li&gt;
841840
&lt;p&gt;$K$ 为奇数:此时组合剩余一个。枚举此剩余的数,从 $A$ 中删去就转换成了偶数的情况。但是暴力计算的时间复杂度为 $\mathcal O(K^2)$,维护前缀后缀和即可优化到 $\mathcal O(K)$。&lt;/p&gt;

search/index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

tags/c++/index.xml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,21 +109,20 @@ $-10^{18}\le L\le R\le 10^{18}$&lt;/p&gt;
109109
给定 $A=(A_1,\dots,A_K)$,将 $S$ 中数字 $A_1,\dots,A_K$ 各拿掉一个,剩余 $2N-K$ 个。&lt;br&gt;
110110
对这 $2N-K$ 个数进行两两组合(可能剩余 $1$ 个),使得每对数之差的绝对值之和最小。输出这个最小和。&lt;/p&gt;
111111
&lt;p&gt;$1\le K\le N\le 2\times 10^5$&lt;br&gt;
112-
$1\le A_1&lt;A_2&lt;\dots&lt;A_K\le N$&lt;/p&gt;
112+
$1\le A_1 &lt; A_2 &lt; \dots &lt; A_K\le N$&lt;/p&gt;
113113
&lt;h2 id=&#34;分析-2&#34;&gt;分析
114114
&lt;/h2&gt;&lt;p&gt;首先,可以证明我们一定会将 $N-K$ 个成双的数字进行自我组合。&lt;/p&gt;
115115
&lt;blockquote&gt;
116-
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;&lt;br&gt;
117-
于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
116+
&lt;p&gt;&lt;strong&gt;简要证明&lt;/strong&gt;&lt;br&gt;
117+
采用 &lt;em&gt;反证法&lt;/em&gt;。假设有两个 $a$,我们将它们分别与 $b,c$ 组合。显然:&lt;/p&gt;
118+
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
118119
&lt;/blockquote&gt;
119120
&lt;p&gt;由于 $|a-a|=0$,所以这部分可以直接忽略,将单个的数字,即 $A_1,\dots,A_K$ 进行组合即可。&lt;/p&gt;
120121
&lt;p&gt;分两种情况讨论。&lt;/p&gt;
121122
&lt;ol&gt;
122123
&lt;li&gt;
123-
$$
124-
\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}
125-
$$&lt;p&gt;&lt;br&gt;
126-
直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
124+
&lt;p&gt;$K$ 为偶数:此时组合没有剩余。不难发现,相邻两两组合即为最优解,所以答案为:&lt;/p&gt;
125+
$$\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}$$&lt;p&gt;直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
127126
&lt;/li&gt;
128127
&lt;li&gt;
129128
&lt;p&gt;$K$ 为奇数:此时组合剩余一个。枚举此剩余的数,从 $A$ 中删去就转换成了偶数的情况。但是暴力计算的时间复杂度为 $\mathcal O(K^2)$,维护前缀后缀和即可优化到 $\mathcal O(K)$。&lt;/p&gt;

tags/算法竞赛/index.xml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,21 +109,20 @@ $-10^{18}\le L\le R\le 10^{18}$&lt;/p&gt;
109109
给定 $A=(A_1,\dots,A_K)$,将 $S$ 中数字 $A_1,\dots,A_K$ 各拿掉一个,剩余 $2N-K$ 个。&lt;br&gt;
110110
对这 $2N-K$ 个数进行两两组合(可能剩余 $1$ 个),使得每对数之差的绝对值之和最小。输出这个最小和。&lt;/p&gt;
111111
&lt;p&gt;$1\le K\le N\le 2\times 10^5$&lt;br&gt;
112-
$1\le A_1&lt;A_2&lt;\dots&lt;A_K\le N$&lt;/p&gt;
112+
$1\le A_1 &lt; A_2 &lt; \dots &lt; A_K\le N$&lt;/p&gt;
113113
&lt;h2 id=&#34;分析-2&#34;&gt;分析
114114
&lt;/h2&gt;&lt;p&gt;首先,可以证明我们一定会将 $N-K$ 个成双的数字进行自我组合。&lt;/p&gt;
115115
&lt;blockquote&gt;
116-
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;&lt;br&gt;
117-
于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
116+
&lt;p&gt;&lt;strong&gt;简要证明&lt;/strong&gt;&lt;br&gt;
117+
采用 &lt;em&gt;反证法&lt;/em&gt;。假设有两个 $a$,我们将它们分别与 $b,c$ 组合。显然:&lt;/p&gt;
118+
$$|a-b|+|a-c| \ge |a-a|+|b-c|$$&lt;p&gt;于是,将 $a,a$ 组合、$b,c$ 组合的方案一定不比原方案差。因此直接组合 $a,a$,一定能得到最优解。&lt;/p&gt;
118119
&lt;/blockquote&gt;
119120
&lt;p&gt;由于 $|a-a|=0$,所以这部分可以直接忽略,将单个的数字,即 $A_1,\dots,A_K$ 进行组合即可。&lt;/p&gt;
120121
&lt;p&gt;分两种情况讨论。&lt;/p&gt;
121122
&lt;ol&gt;
122123
&lt;li&gt;
123-
$$
124-
\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}
125-
$$&lt;p&gt;&lt;br&gt;
126-
直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
124+
&lt;p&gt;$K$ 为偶数:此时组合没有剩余。不难发现,相邻两两组合即为最优解,所以答案为:&lt;/p&gt;
125+
$$\mathrm{ans}=\sum_{i=1}^{k/2} A_{2i}-A_{2i-1}$$&lt;p&gt;直接计算即可。注意 $A$ 已排序,故无需取绝对值。&lt;/p&gt;
127126
&lt;/li&gt;
128127
&lt;li&gt;
129128
&lt;p&gt;$K$ 为奇数:此时组合剩余一个。枚举此剩余的数,从 $A$ 中删去就转换成了偶数的情况。但是暴力计算的时间复杂度为 $\mathcal O(K^2)$,维护前缀后缀和即可优化到 $\mathcal O(K)$。&lt;/p&gt;

0 commit comments

Comments
 (0)