<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Combinatorics on Chang Luo</title>
		<link>https://www.luochang.ink/tags/combinatorics/</link>
		<description>Recent content in Combinatorics on Chang Luo</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Fri, 21 Feb 2020 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.luochang.ink/tags/combinatorics/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>用魔法打败魔法！</title>
				<link>https://www.luochang.ink/posts/chico_and_dico/</link>
				<pubDate>Fri, 21 Feb 2020 00:00:00 +0000</pubDate>
				<guid>https://www.luochang.ink/posts/chico_and_dico/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;Chico 和 Dico 是两位魔术师，他们有一个经典魔术：根据任意四张牌猜第五张牌。但完成这个魔术并不需要任何魔术师的技巧，因为它完全建立在数学原理之上。只需要一点数学知识和充分的练习，你也能表演这个魔术！&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;GitHub 项目地址：&lt;a href=&#34;https://github.com/luochang212/chico-and-dico&#34; target=&#34;_blank&#34;&gt;chico-and-dico&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;chico-和-dico-的魔术&#34;&gt;Chico 和 Dico 的魔术&lt;/h3&gt;&#xA;&lt;p&gt;Chico 和 Dico 是两位魔术师，他们经常表演的一个魔术是这样的：Chico 将一副 52 张的扑克牌交给一位观众，让他随机抽取其中的 5 张。然后 Chico 将这 5 张牌按一定的顺序重新排列，再将其还给观众。上述整个过程 Dico 都是看不见的。然而，当观众按 Chico 排好的顺序依次展示前四张牌之后，Dico 却能准确地说出第五张牌是什么。&lt;/p&gt;&#xA;&lt;p&gt;乍一看这个魔术很神奇。随机抽取 5 张牌，你能从前 4 张牌中看出第 5 张牌是什么吗？对于普通人来说，当然不可能。Chico 和 Dico 的秘诀在于 Chico 有机会将扑克重新排序。如果两人事先约定好某种协议，Chico 是有可能通过扑克排列的顺序，向 Dico 传递关于第 5 张牌的信息的。&lt;/p&gt;&#xA;&lt;p&gt;关键在于如何实现这种协议。&lt;/p&gt;&#xA;&lt;h3 id=&#34;数学模型&#34;&gt;数学模型&lt;/h3&gt;&#xA;&lt;p&gt;在进行分析之前，我们需要把 Chico 和 Dico 的魔术抽象成一个数学模型。&lt;/p&gt;&#xA;&lt;p&gt;魔术本身已经提供了一些建模信息。我们可以假设一共有 n 张牌，抽取其中的 k 张。在对牌组进行某种排序之后，我们需要利用前 (k - j) 张牌的信息，推测后 j 张牌是什么。&lt;/p&gt;&#xA;&lt;!-- 其中，中间那步排序操作，本质上是利用前 (k - j) 张牌的顺序信息对后 j 张牌进行编码。 --&gt;&#xA;&lt;p&gt;现在我们有 n, j, k 三个变量，下面我们来进一步探究三个变量之间究竟服从何种关系。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
