<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts | 奧數牧人巷</title><link>https://hk7math.netlify.app/post/</link><atom:link href="https://hk7math.netlify.app/post/index.xml" rel="self" type="application/rss+xml"/><description>Posts</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en</language><copyright>HK7Math © 2022</copyright><image><url>https://hk7math.netlify.app/media/icon_hu0b7a4cb9992c9ac0e91bd28ffd38dd00_9727_512x512_fill_lanczos_center_2.png</url><title>Posts</title><link>https://hk7math.netlify.app/post/</link></image><item><title>Convergent Facilitation</title><link>https://hk7math.netlify.app/post/convergent-facilitation/</link><pubDate>Sat, 28 Aug 2021 00:48:56 +0800</pubDate><guid>https://hk7math.netlify.app/post/convergent-facilitation/</guid><description>&lt;p>最近參與了一個工作坊，名為 &lt;a href="https://convergentfacilitation.org/" target="_blank" rel="noopener">Convergent Facilitation Workshop&lt;/a>，當日以吸煙議題為例，讓 60 人體驗一個從國外引入的會議框架，務求既可以實踐民主，完整收集所有與會者的需求，又能夠推進討論，目標是以共同接受的可行方案作結。&lt;/p>
&lt;ol start="0">
&lt;li>
&lt;p>Pair &amp;amp; Share
過程：排 2 行，分 A/B 角色，按單一題目 輪流表達 30s 想法，另一方只需專注聆聽、表現感興趣，完成一 Pair 就讓角色 A 順延 n 個身位換 Pair，重覆 4, 5 次便完成
目的：等齊人，熱身，將表達門檻降低 (1 on 1)，練習聆聽不同意見&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Intro
過程：提出是日目標，整合 Pre-workshop Questionnaire 意見
目標：強調所有意見都應獲重視&lt;/p>
&lt;/li>
&lt;li>
&lt;p>全民記者
過程：4 人一組，分 A/B/C/D 角色，每人探問一種身份的需要 (校方/家長/學生/自己)，逐一訪問 及 受訪 (每節 1.5 min)，共 7 節；集合所有 A 角色作 5 人一組，分 紀錄/計時/主持/報告 角色，每人 1.5 min 整理及講解收到的意見，用 10 min 整合各人意見，最後逐組有 1.5 min 向全體報告，期間大會進一步整合 A/B/C/D 四種需要並要求全體確認沒有遺漏，放 Break 時再壓縮成共同的核心需要
目標：Crowdsource 方式快速收集及紀錄「所有人」代入「不同角度」的「所有意見」，最終將所有需要歸納共同核心&lt;/p>
&lt;/li>
&lt;li>
&lt;p>OR Game
過程：10 人一組，按 3 題漸進議題投 Y/N，設獎勵機制：少數聲音/打和有細獎；只有 1 人異議者大獎，每組少數/打和隨機 1 人代表發言
目的：強調少數聲音是珍貴意見&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Cross Role
過程：結合 OR Game，按 Y/N 重組 10 人，以早前歸納的核心需求為框架，雙方輪流作辯；首題整理我方論點去拉攏對方，然後重新投票；次題整理對方論點去駁倒自己，然後重新投票；讓轉換立場的人分享
目的: 透過易位思考，促進 Stretch 過程 (Stretch 即 Insist 的相反，不一定要認同，但可以接受)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Listening Cirlce
過程: 10人一組，輪流提出&amp;amp;聆聽不同建議方案，重覆 3 次結合/調整方案，最後整合成若干全組認同方案；提交方案讓全體判斷有否回應 早前歸納的核心需求，有一人異議便視為不通過，異議者需清晰指出原因，倡議者可回應/澄清/游說
目的: 提出所有人都相對接納的可行方案，以回應各項需求&lt;/p>
&lt;/li>
&lt;/ol></description></item><item><title>JS | 位元運算 Bitwise Operator</title><link>https://hk7math.netlify.app/post/js-bitwise-or/</link><pubDate>Fri, 14 Feb 2020 10:52:38 +0800</pubDate><guid>https://hk7math.netlify.app/post/js-bitwise-or/</guid><description>&lt;p>The following is my solution regarding a CodeSignal Problem &lt;a href="https://app.codesignal.com/challenge/BRW53NHcPd238GxxB" target="_blank" rel="noopener">addTwoDigits&lt;/a>&lt;/p>
&lt;p>1st Draft (61 Chars) makes use of reduce&lt;/p>
&lt;pre>&lt;code class="language-javascript">addTwoDigits=n=&amp;gt;
(&amp;quot;&amp;quot;+n).split(&amp;quot;&amp;quot;).reduce((x,y)=&amp;gt;
x+Number(y)
,0)
&lt;/code>&lt;/pre>
&lt;p>2nd Draft (49 Chars) deploys a recursive skill&lt;/p>
&lt;pre>&lt;code class="language-javascript">f = addTwoDigits = n =&amp;gt; n&amp;lt;10
? n
: n%10 + f(Math.floor(n/10))
&lt;/code>&lt;/pre>
&lt;p>It turns out I ignored the constraints that the number has only 2 digits&amp;hellip; but I learnt a new trick from the best solutionsss&lt;/p>
&lt;pre>&lt;code class="language-javascript">addTwoDigits = n =&amp;gt; n%10 + n/10|0
&lt;/code>&lt;/pre>
&lt;p>After some &lt;a href="https://stackoverflow.com/questions/654057/where-would-i-use-a-bitwise-operator-in-javascript" target="_blank" rel="noopener">researches&lt;/a>, there are quite some magical uses for the | bitwise operator, e.g. x|0 can function as:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Math.floor(x) for postive x&lt;/p>
&lt;/li>
&lt;li>
&lt;p>parseInt(x) for string x&lt;/p>
&lt;/li>
&lt;li>
&lt;p>0 for many special x (NaN, Infinity, null, undefined, [], {} &amp;hellip;)&lt;/p>
&lt;/li>
&lt;/ol></description></item><item><title>JS | 組合算法 Combination Algorithm</title><link>https://hk7math.netlify.app/post/js-math-combination/</link><pubDate>Wed, 15 Jan 2020 00:48:47 +0800</pubDate><guid>https://hk7math.netlify.app/post/js-math-combination/</guid><description>&lt;p>This is originally a post in &lt;a href="https://dev.to/hk7math/javascript-big-combination-problem-1lco" target="_blank" rel="noopener">Dev.to&lt;/a>&lt;/p>
&lt;p>A recent &lt;a href="https://app.codesignal.com/challenge/a8GNsYr8FQxZmMhJj?solutionId=MZQa7pP2nzgzzoSev" target="_blank" rel="noopener">CodeSignal Challenge&lt;/a> was to calculate 1000C500 (mod 1e9+7) and I got defeated =(&lt;/p>
&lt;p>All my trials exceeded the time limit.. Here is the best JS solution by &lt;a href="https://app.codesignal.com/challenge/a8GNsYr8FQxZmMhJj?solutionId=MZQa7pP2nzgzzoSev" target="_blank" rel="noopener">psr&lt;/a>
, could anyone explain what happens in this line??? I learnt ES6 but got no idea about this syntax&amp;hellip;&lt;/p>
&lt;pre>&lt;code class="language-javascript">f[o = n + 1/k] = o in f
&lt;/code>&lt;/pre>
&lt;p>Full solution for reference, please tell me to delete this if I violated any rule&amp;hellip;&lt;/p>
&lt;pre>&lt;code class="language-javascript">f = countWays = (n, k) =&amp;gt; f[o = n + 1/k] = o in f
? f[o]
: k
? n &amp;amp;&amp;amp; (f(--n, k) + f(n, k - 1)) % (1e9 + 7)
: 1
&lt;/code>&lt;/pre>
&lt;hr>
&lt;p>Thanks Barbar&amp;rsquo;s comments in &lt;a href="https://stackoverflow.com/questions/59775224/seeking-help-on-explanation-for-a-big-combination-algorithm/59789925#59789925" target="_blank" rel="noopener">StackOverflow&lt;/a>, I understand the algorithm now.&lt;/p>
&lt;p>I have rewritten the algorithm as follows:&lt;/p>
&lt;pre>&lt;code class="language-javascript">f = nCk = (n, k) =&amp;gt; { //Declare both f and nCk as the same function
let o = n + 1/k //o will be the key of function object f
f[o] = o in f //Define f[o] based on a nested ternary expression
? f[o] //Avoid recalculation if f has key o already
: k==0 //nC0 is always 1
? 1
: n&amp;lt;k //nCk is improper and assigned 0 if n&amp;lt;k
? 0
: f(--n, k) //Do recursion nCk = (n-1)Ck + (n-1)C(k-1)
+ f(n, k - 1)
return f[o] //Done!
}
&lt;/code>&lt;/pre>
&lt;p>Here goes a walkthrough of 5C2&lt;/p>
&lt;pre>&lt;code>f(n,k) n k o f[o]
f(5,2) 5 2 5.5 f[5.5]=f(4,2)+f(4,1) //=10
f(4,2) 4 2 4.5 f[4.5]=f(3,2)+f(3,1) //=6
f(3,2) 3 2 3.5 f[3.5]=f(2,2)+f(2,1) //=3
f(2,2) 2 2 2.5 f[2.5]=f(1,2)+f(1,1) //=1
f(1,2) 1 2 1.5 f[1.5]=f(0,2)+f(0,1) //=0
f(0,2) 0 2 0.5 f[0.5]=0
f(0,1) 0 1 1 f[1]=0
f(1,1) 1 1 2 f[2]=f(0,1)+f(0,0) //=1
f(0,0) 0 0 Inf f[Inf]=1 //Inf aka Infinity
f(2,1) 2 1 3 f[3]=f(1,1)+f(1,0) //=2
f(1,0) 1 0 Inf f[Inf]=1
f(3,1) 3 1 4 f[4]=f(2,1)+f(2,0) //=3
f(n,0) n 0 Inf f[Inf]=1
f(4,1) 4 1 5 f[5]=f(3,1)+f(3,0) //=4
&lt;/code>&lt;/pre>
&lt;p>P.S. I got a few takeaways when investigating into this algorithm&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Double declaration of function on the same line as a trick for recursion&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Immediate use of a key with its value just assigned&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Infinity can be used as a key of an object(!)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Syntax o in f checks if object f has the key o&lt;/p>
&lt;/li>
&lt;/ol></description></item><item><title>帽子問題(終) Hat Problem 3</title><link>https://hk7math.netlify.app/post/hat-problem-3/</link><pubDate>Sat, 04 Jan 2020 09:33:53 +0800</pubDate><guid>https://hk7math.netlify.app/post/hat-problem-3/</guid><description>&lt;p>20 人成功從 UFO🛸 獲釋放，臨走前善星人😇走左過黎同地球人🥺講：「回到地球大家就會忘記實驗嘅事情，有d人可能躍進了幾百年，對現代文明好驚歎，但其實人類文明只係處於起步階段，按星曆 D768964 嘅星際通鑑，地球人比惡星人😈更不講理，隨時毀於自己手中」。&lt;/p>
&lt;p>地球人聽完不以為意，諗起前人用神話故事方式，成功將呢個經歷流傳出去，警告世人 UFO 實驗嘅存在，你嘗試努力記住破解方法，但突然發現惡星人每次都用唔同數量嘅顏料，假如到時使用 n 種顏色🎨，應該如何應對呢？&lt;/p></description></item><item><title>帽子問題(續) Hat Problem 2</title><link>https://hk7math.netlify.app/post/hat-problem-2/</link><pubDate>Mon, 30 Dec 2019 21:52:24 +0800</pubDate><guid>https://hk7math.netlify.app/post/hat-problem-2/</guid><description>&lt;p>得到善星人😇嘅幫助，排最尾嘅地球人估黑色 - 錯左，惡星人即刻捉左佢入另一間房。然後，其他 9 個地球人都逐一估中自己顏色，惡星人深感詫異，但都信守承諾全部釋放。&lt;/p>
&lt;p>故事轉移到第二間房，不幸嘅地球人🥺原來唔只 1 個，房入面有 20 個人，佢地話惡星人其實只係對大家不停重覆呢個實驗，研究人類智商嘅演變，因為 UFO 嘅時間流逝同地球唔同，一日如百年，有d人已經估錯左幾十次，相傳西西弗斯嘅故事就係呢度嘅人傳出去嘅&amp;hellip;&lt;/p>
&lt;p>講返正題，大家話今次係逃脫嘅好機會，因為呢間房個顏色筒得紅🟥、綠🟩、藍🟦三隻色，趁惡星人😈返黎前，你地可以好好商討下有咩逃脫策略。&lt;/p></description></item><item><title>帽子問題 Hat Problem</title><link>https://hk7math.netlify.app/post/hat-problem/</link><pubDate>Thu, 26 Dec 2019 15:42:10 +0800</pubDate><guid>https://hk7math.netlify.app/post/hat-problem/</guid><description>&lt;p>惡星人捉左 10 個地球人上 UFO🛸，惡星人想測試地球人智商，於是要佢地排成一條隊，仲要每個人戴一頂傳心帽，話：「陣間會幫每個人頂帽油顏色，由最尾個個開始估，如果邊個估中自己隻色就會被釋放，否則&amp;hellip;&amp;hellip; 😈，有人唔係講顏色就全部人都&amp;hellip;&amp;hellip; 👿」惡星人準備緊顏料嘅時候，善星人入左黎了解情況，於是偷偷地用傳心帽向地球人講：「&amp;hellip;&amp;hellip; 😇？」&lt;/p>
&lt;p>各星球人嘅原則：&lt;/p>
&lt;ol>
&lt;li>
&lt;p>😈惡星人講得出做得到，唔會使詐，亦討厭人使詐 (例如：學ErEr Sir)&lt;/p>
&lt;/li>
&lt;li>
&lt;p>🥺地球人完全信任善星人，亦都聽佢話；同時非常害怕惡星人，唔敢亂望，只見到排係前面所有帽嘅顏色&lt;/p>
&lt;/li>
&lt;li>
&lt;p>😇善星人想釋放越多地球人越好；亦唔想破壞同惡星人嘅合作關係，所以無作出其他干預&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>具體順序：&lt;/p>
&lt;ol>
&lt;li>
&lt;p>善星人同所有人一次過傳心「&amp;hellip;」&lt;/p>
&lt;/li>
&lt;li>
&lt;p>惡星人將所有帽塗顏色&lt;/p>
&lt;/li>
&lt;li>
&lt;p>排最尾估顏色 (淨係可以估 黑/白，大家都聽到) 即時釋放/處置&lt;/p>
&lt;/li>
&lt;li>
&lt;p>排尾二估顏色 (淨係可以估 黑/白，大家都聽到) 即時釋放/處置&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>&amp;hellip; 如此類推&lt;/p>
&lt;h2 id="問題">問題：&lt;/h2>
&lt;h2 id="你就係善星人當時瞄到惡星人準備緊黑白-2-種顏料你會向地球人留低咩訊息">你就係善星人，當時瞄到惡星人準備緊黑白 2 種顏料，你會向地球人留低咩訊息？&lt;/h2></description></item><item><title>LaTeX 分行調試</title><link>https://hk7math.netlify.app/post/testing-latex/</link><pubDate>Thu, 26 Dec 2019 11:43:00 +0800</pubDate><guid>https://hk7math.netlify.app/post/testing-latex/</guid><description>&lt;p>於 &lt;a href="https://spectrum.chat/academic/help/latex-align-environment-not-working~b69aa506-6167-4e62-8352-03fdeb650c91" target="_blank" rel="noopener">Spectrum&lt;/a> 看到有人問如何在 Academic 中幫 LaTeX 排版，在&lt;a href="https://wowchemy.com/docs/content/writing-markdown-latex/" target="_blank" rel="noopener">官方文檔&lt;/a>中其實有提及有關方法，但自己也花了些時間才弄清楚，特此記錄解決方法：&lt;/p>
&lt;pre>&lt;code>\begin{align}
\begin{aligned}
2x+3 &amp;amp;= 7 &amp;amp; (2x+3-3 &amp;amp;= 7-3) \\
2x &amp;amp;= 4 &amp;amp; (\frac{2x}2 &amp;amp;= \frac42)\\
x &amp;amp;= 2
\end{aligned}
\end{align}
&lt;/code>&lt;/pre>
&lt;p>\begin{align}
\begin{aligned}
2x+3 &amp;amp;= 7 &amp;amp; (2x+3-3 &amp;amp;= 7-3) \&lt;br>
2x &amp;amp;= 4 &amp;amp; (\frac{2x}2 &amp;amp;= \frac42)\&lt;br>
x &amp;amp;= 2
\end{aligned}
\end{align}&lt;/p>
&lt;pre>&lt;code>\begin{align}
\begin{aligned}
2x+3 &amp;amp;= 7 &amp;amp; (2x+3-3 &amp;amp;= 7-3) \\\\
2x &amp;amp;= 4 &amp;amp; (\frac{2x}2 &amp;amp;= \frac42)\\\\
x &amp;amp;= 2
\end{aligned}
\end{align}
&lt;/code>&lt;/pre>
&lt;p>\begin{align}
\begin{aligned}
2x+3 &amp;amp;= 7 &amp;amp; (2x+3-3 &amp;amp;= 7-3) \\&lt;br>
2x &amp;amp;= 4 &amp;amp; (\frac{2x}2 &amp;amp;= \frac42)\\&lt;br>
x &amp;amp;= 2
\end{aligned}
\end{align}&lt;/p></description></item><item><title>第一篇 My 1st Post</title><link>https://hk7math.netlify.app/post/my-1st-post/</link><pubDate>Fri, 06 Dec 2019 12:29:33 +0800</pubDate><guid>https://hk7math.netlify.app/post/my-1st-post/</guid><description>&lt;p>來欣賞世界上最美的公式
Let&amp;rsquo;s have the World&amp;rsquo;s Most Beautiful Equation:&lt;/p>
&lt;p>$$ e^{ i\pi } +1 =0$$&lt;/p></description></item></channel></rss>