<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Keylun Notes</title><description>算法的世界是美丽的</description><link>https://keylun-notes.yexinnan20070127.workers.dev/</link><language>zh_hans</language><item><title>这个博客准备用来写什么</title><link>https://keylun-notes.yexinnan20070127.workers.dev/posts/about-this-blog/</link><guid isPermaLink="true">https://keylun-notes.yexinnan20070127.workers.dev/posts/about-this-blog/</guid><description>第一篇文章，定义博客的写作边界、栏目结构和长期维护方式。</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;这个博客会先服务于一个朴素目标：稳定地写，长期地写，把学习过程里真正有复用价值的东西沉淀下来。&lt;/p&gt;
&lt;h2&gt;栏目边界&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Algorithm Notes：算法模板、证明、题目复盘和工程实现。&lt;/li&gt;
&lt;li&gt;Paper Reading：论文背景、核心方法、公式、实验设置和可复现点。&lt;/li&gt;
&lt;li&gt;Projects：课程项目、开源项目、baseline 和 benchmark。&lt;/li&gt;
&lt;li&gt;Course Notes：高质量课程笔记，避免公开不该公开的内部资料。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;写作方式&lt;/h2&gt;
&lt;p&gt;先追求能稳定写，再追求页面复杂度。第一版博客只需要文章列表、文章页、项目页、RSS 和自动部署，剩下的搜索、评论、统计可以等内容积累起来后再加。&lt;/p&gt;
&lt;p&gt;每篇文章尽量保留：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;问题背景&lt;/li&gt;
&lt;li&gt;推导过程&lt;/li&gt;
&lt;li&gt;关键代码&lt;/li&gt;
&lt;li&gt;踩坑记录&lt;/li&gt;
&lt;li&gt;可以复用的结论&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;长期目标&lt;/h2&gt;
&lt;p&gt;让这个博客逐渐变成我自己的技术档案，而不只是一个展示页面。&lt;/p&gt;
</content:encoded><category>站点记录</category><category>meta</category><category>writing</category><category>blog</category></item><item><title>NTT 学习笔记：从卷积到实现</title><link>https://keylun-notes.yexinnan20070127.workers.dev/posts/ntt-notes/</link><guid isPermaLink="true">https://keylun-notes.yexinnan20070127.workers.dev/posts/ntt-notes/</guid><description>整理 NTT 的问题背景、核心公式、实现细节和容易写错的地方。</description><pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;NTT 可以看作是在模意义下做 FFT。它的核心用途是快速计算多项式卷积，把朴素的 (O(n^2)) 复杂度降到 (O(n \log n))。&lt;/p&gt;
&lt;h2&gt;为什么需要 NTT&lt;/h2&gt;
&lt;p&gt;在竞赛和工程实现里，卷积经常出现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;多项式乘法&lt;/li&gt;
&lt;li&gt;生成函数&lt;/li&gt;
&lt;li&gt;计数 DP 优化&lt;/li&gt;
&lt;li&gt;大整数乘法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FFT 使用复数，精度处理比较麻烦；NTT 使用模数和原根，结果完全在整数域中计算，适合需要精确取模的场景。&lt;/p&gt;
&lt;h2&gt;实现要点&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;选择形如 (c \cdot 2^k + 1) 的 NTT 友好模数。&lt;/li&gt;
&lt;li&gt;找到对应原根。&lt;/li&gt;
&lt;li&gt;进行 bit-reversal 置换。&lt;/li&gt;
&lt;li&gt;逐层合并 butterfly。&lt;/li&gt;
&lt;li&gt;逆变换后乘以 (n^{-1})。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;容易写错的地方&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;忘记把长度扩展到 2 的幂。&lt;/li&gt;
&lt;li&gt;逆变换没有乘逆元。&lt;/li&gt;
&lt;li&gt;原根幂次方向写反。&lt;/li&gt;
&lt;li&gt;中间乘法没有转成 &lt;code&gt;long long&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NTT 的模板不难背，真正需要理解的是“单位根分治”这件事。理解以后，FFT、NTT 和 FWT 的记忆负担都会下降很多。&lt;/p&gt;
</content:encoded><category>算法笔记</category><category>algorithm</category><category>number-theory</category><category>cpp</category></item><item><title>论文阅读模板：从问题到可复现点</title><link>https://keylun-notes.yexinnan20070127.workers.dev/posts/paper-reading-template/</link><guid isPermaLink="true">https://keylun-notes.yexinnan20070127.workers.dev/posts/paper-reading-template/</guid><description>一套适合 AI optimization / AI4CO 方向的论文阅读记录结构。</description><pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;读论文时最容易发生的事情是：读完觉得懂了，但过几天只记得标题。这个模板用来强迫自己留下可复用的信息。&lt;/p&gt;
&lt;h2&gt;1. 问题背景&lt;/h2&gt;
&lt;p&gt;这篇论文解决什么问题？问题为什么重要？它和已有方法的关系是什么？&lt;/p&gt;
&lt;h2&gt;2. 核心方法&lt;/h2&gt;
&lt;p&gt;用三句话概括方法：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;输入是什么。&lt;/li&gt;
&lt;li&gt;模型或算法做了什么。&lt;/li&gt;
&lt;li&gt;输出如何被评价。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;3. 关键公式&lt;/h2&gt;
&lt;p&gt;记录真正影响方法理解的公式，不要机械抄全文。每个公式旁边写清楚变量含义。&lt;/p&gt;
&lt;h2&gt;4. 实验设置&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;数据集&lt;/li&gt;
&lt;li&gt;baseline&lt;/li&gt;
&lt;li&gt;指标&lt;/li&gt;
&lt;li&gt;消融实验&lt;/li&gt;
&lt;li&gt;训练或推理成本&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;5. 可复现点&lt;/h2&gt;
&lt;p&gt;最后写下如果我要复现，需要先完成哪些步骤。这部分比摘要更重要，因为它会暴露论文中真正不清楚的地方。&lt;/p&gt;
</content:encoded><category>论文阅读</category><category>paper-reading</category><category>research</category><category>template</category></item></channel></rss>