<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Four&#39;s</title>
  
  <subtitle>一鼓作气，三题暴力</subtitle>
  <link href="http://kqp.world/atom.xml" rel="self"/>
  
  <link href="http://kqp.world/"/>
  <updated>2026-06-24T09:18:36.593Z</updated>
  <id>http://kqp.world/</id>
  
  <author>
    <name>Four.Yuan-A</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>In This Unstable World</title>
    <link href="http://kqp.world/sum2025/"/>
    <id>http://kqp.world/sum2025/</id>
    <published>2026-03-03T13:29:56.000Z</published>
    <updated>2026-06-24T09:18:36.593Z</updated>
    
    <content type="html"><![CDATA[<p>  我感觉这个世界变化太快了。。。</p><span id="more"></span><h2 id="AI">AI</h2><p>  2023 年初，我们刚刚接触到 ChatGPT，一个在大厂实习的学长给我们展示它虽然回答都是些乱来的东西，但它确实理解了我们在问什么。<br>  不过最初的时候，ChatGPT 是真的用来 chat 的。</p><center><img src="/images/airesearch.jpg" class="" width="190"><br/>最初的时候，ChatGPT 是真的用来 chat 的，我们认为图上这种行为属于贴吧笑话，而且很学术不端。<br/><br/></center><p>  现在 2026 年初，可以说，AI 已经统治了小一半的东西了。至少 survey、literature research、polishing paper、revision、写简单代码、写简单项目、debug、配环境、写信、日常生活百科、旅行及交通路线规划、国外菜单翻译，全都是 AI 的活儿了。再往后可能也不是很敢想了，也许学术会议就是 AI 写文、AI 审稿、AI 演说、AI 总结，再投入 AI 进行下一年度的科研，反正没人什么事儿了（</p><p>  AI 的发展对于左左来说是个好事情，他一直有一个程序自动生成的伟大构想，为此已经完成了大部分建模。现在有了 AI，第一步将需求形式化的任务就天然解决了。他扬言世界上 80% 的代码都是简单的搭积木，或者加以一点常规思维套路，他要把这些消灭掉。<br>  我当时问了一个问题：这一波生产力的提升，会不会使得当前的生产关系不适应生产力发展，从而产生重大社会变革？<br>  我觉得很有可能，世界会变成什么样子，完全不清楚了。</p><p>  至于我老板，他已经完全变成 AI 的形状了（<br>  他已经不打算招学生了，每月 20usd 的 ChatGPT 就是他最好的学生（<br>  而且他认为 90% 的学生毕业以后打不过 AI，将来连计算机系都没有存在的必要了（</p><p>  教学上也有一些很好玩的现象。<br>  对于作业题来说，这两年 AI 从给 hint 进化到到秒掉经典题再到秒掉任何难度的作业题。加之基础课规模持续高位，改作业既是重负也是毫无意义，人人都交的满分卷，不会的题就喊 AI，会的题为了确保不丢分也会过一遍 AI。<br>  于是我们宣布不再改作业了，交上来就满分。但是为了应对考试，学生们还是要认真做作业，抄 AI 在考试面前就没什么意义了。<br>  于是出现了一个魔幻的现象：如果你要改作业，那么学生就会不做作业；而如果你不改作业，学生就会做作业。</p><h2 id="Theory-Research">Theory Research</h2><p>  这大概是从 2024 年以来心里头出现的一个不和谐的声音，我开始询问自己，你做的事情有没有意义，有没有在为社会做贡献，有没有在推动生产力的发展，你对不对得起你拿的 funding。<br>  原因可能是 2023 年一整年都没有做上很好的理论题，总是在搞一些四不像的题目：理论又不够理论，实际又不够实际。本来就打算做一辈子理论的，结果因为多少做了点实际的东西，看到了别人如何在用实际的东西改变世界，心里头就有杂念了。<br>  而且随着大模型的海啸扑来，计算机领域除了理论等少数几个方向，其他方向的最先进成果已经从学术界转移到工业界了。工业界有钱堆算力、数据等各种资源，学术界只能玩 toy model。<br>  会时常想如果我真的成了一个在学校里头做科研的人，我会不会被世人唾弃，拿着纳税人的钱在做可有可无的贵族学问。<br>  也想过一些解决方法，比如虽然我自己不去工业界，但是我培养了 10 个学生有 3 个去了工业界，那我也是做到了 3 倍于自己的贡献。但这些想法解决不了根本问题。<br>  开始怀疑 STOC FOCS SODA 这些会议的选题。以前这是神圣不容置疑的。也听到了其他人的质疑声，不止我一个人在认为这些传统理论会的选题非常 narrow。</p><p>  思来想去，翻来覆去，一直想不通，在 2024 年暑假，困扰达到了最剧烈的点。<br>  趁着 IJTCS 我还把这俩问题抛给学长。这两位学长是我老板的得意门生，现在都是非常优秀的 prof。其中一位说，理论现在没有用以后会有用的。另一位说，你说的 issue 在我这里并不是一个 issue。<br>  PolyU 的老师的看法跟后者类似，他说这是所有做理论的人都迟早碰到的一个灵魂拷问，但最后他明白，只要自己能吃饱饭，这就是有意义的。</p><p>  关于这个议题还有很多人也都发表过意见。我最后自己想通了，参考<a href="/academia_vs_industry/" title="理论与应用之争——一个回归视角">这篇</a>。</p><h2 id="これから">これから</h2><p>  其实到 IJTCS 2024 这个节点已经是 phd 过一半了，也应该开始考虑学术这条路还能不能走下去了。因为此时手上并没有理论 A，可见的未来里好像也不太能保证有理论 A。主要是题不好。<br>  Abby 说，其实我已经知道你到底想走哪条路了，你自己不知道，我不告诉你，一年之后来看看我猜得对不对。</p><p>  我预感到可能确实学术要走不通了，不过决定还是垂死挣扎一年。<br>  第三年确实做了很多努力，而且做了很大胆的尝试。<br>  2024 下半年主要是在 Ondrej 的 WFOMC 的题里做了些 hardness 结果，真真正正算是有点 TCS 形式的结果了，而且还是从图灵机一路归约过来的，十分正统(x)。甚至还有 hardness 的 hardness，就是你想证一个 hardness 但是证不出来然后你思考为什么证不出来结果发现有算法(x)。虽然大的题目它就不是 STOC FOCS SODA 范围内的，但所幸是 LICS ICALP(track B) KR CSL AAAI 范围内的，要是结果足够好还是能有不错的发表。<br>  还通过社交网络的大度数节点找到了 SJTU 的宽老师，约了 4 个月的 visit。那时候了解到 SJTU 有做 approximated counting / sampling 的团队，他们做的统计物理模型跟 WFOMC 转化后是几乎同一个东西，所以就想着能不能学点 approximated counting 的技术，发展 WFOMC。顺便趁此机会上车一个正统的 STOC FOCS SODA 方向，说不定还能打通去英国的人脉。<br>  可笑的是约好了以后才意识到凤老师要来 HKU 了，凤老师跟宽老师是几乎同一个方向，于是我就显得很怪了，明明自家有人教，偏偏要跑出去（<br>  不过感觉读 CS 不出去 visit 一下都不完整。。。</p><p>  一待就是 3 月到 6 月，看着光秃秃的树枝开出樱花然后谢掉然后长出绿叶，羽绒逐渐变成短袖短裤。第一次在北方（广东以北）从冬天过到夏天。<br>  宽老师人超级好，还一起去了在 SYSU 办的 C&amp;A。顺便一提你鸭的 TCS 也是好起来了，李老师一篇 SODA 划破寂静的长空，结束了你鸭没有 TCS 的时代，学校大篇幅报导，从此实验室都改名了。<br>  但在那里 80% 的时间是在学习，他们这个方向门槛不低，有很多经典结论和数学知识要补，就一个李杨圆环定理都得让我理解一个星期。剩下的时间，还有一半给自家老板打工，给 graphlet sampling 的后续题目疯狂写实验。最离谱的时候，一周有半周都在写实验，写到我怀疑我为什么在 SJTU，我只是蹭了个上海的工位给老板打工。。。<br>  最后导致宽老师给的两个题都做不出来新东西。我一直觉得对不起宽老师，浪费他 4 个月的工钱，学走了他很多本事却没能给他贡献。后来 STOC 2025 社交网络大度数节点告诉我，宽老师也说对我惭愧，好家伙互相愧疚了（x<br>  倒不算 0 收获，至少真的学会了 approximated counting / sampling。只是意识到，把 WFOMC 往 q-spin 发展并不是一个靠谱的选项，因为 q-spin 也是大片的 intractable，能开发的只是很小一部分，这对于 WFOMC 来说没什么意义。</p><p>  最后到了最终决策点——第三年的暑假。pub 不好，可预见时间内还是不会有理论 A，在华为的 camp 上咨询了入职 CUHKSZ 的学长、SYSU 教练、各路教练，中央媒体院的师兄，大概知道了学术界的招聘标准，遂放弃，开始面试公司。<br>  做出决定后的一个星期是极其痛苦的，因为这是人设的转变，从学术形象转为了业界形象，research interest 也要变。当时感觉一直以来的梦想要碎了，要换成为以资本为导向的人生观了。<br>  一周过后，逐渐接受自己的新人设。本身也不排斥为社会真实需求做研究，顺便挣点钱好像也没什么不好（<br>  虽然跟老板说是一边面试一边做最后一年的 TCS 挣扎，但是心里其实已经有点放弃挣扎了。<br>  而且，最重要的是，我发现这样反而有更轻松的做研究的心态。我不用 care 非得在什么时间内做出结果了，我不用 care 我的结果最终会发表到哪儿了，我不用 care 我的 motivation 到底会不会被人喜欢了。归根结底是，论文不是我的刚需了，于是做研究就跟玩似的，我想做什么就做什么，我的 interest 才是王道，你会议不接收是你的事，我大不了放 arxiv、博客上。这样一来，我也不需要担心我的社会贡献了，我不靠发论文做贡献了。我只需要考虑一点：我推出来的东西是严谨的，我不是民科。<br>  其实在业界做 TCS 的人不少，我有很多参考对象，这条路是可能的。</p><p>  可笑的是，过了这个决策点之后，接连中了三篇文章，pub 又变得好看起来了。但是我已经不想回去了。数数量我手上有 3A1B1C，讲深度我也有两个大的故事，至少达到了内地比较严苛的毕业标准，PhD 这个 title 我也很有底气。</p><h2 id="end">end</h2><p>  一切都处在变化之中。就像跟 Abby 商量以后的过年计划，她都说，以后会怎样都不知道，变数太多，没法计划。<br>  天知道以后是知识壁垒还是简单劳动先被 AI 取代，科学家、艺术家、劳动者谁先失去饭碗。2018 年大家笃定是简单重复机械的东西先被取代，但现在看来，LLM 更像是要先干掉创造力，反而简单重复机械的劳动还受限于机器人的发展。</p><p>  但是我知道 PhD 没白读，毕竟当初的理由就是，TCS 好玩，我想玩一玩。那我确实玩了，也确实很好玩。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  我感觉这个世界变化太快了。。。&lt;/p&gt;</summary>
    
    
    
    <category term="总结与游记" scheme="http://kqp.world/categories/%E6%80%BB%E7%BB%93%E4%B8%8E%E6%B8%B8%E8%AE%B0/"/>
    
    
  </entry>
  
  <entry>
    <title>Aqours Finale Live</title>
    <link href="http://kqp.world/Aqours-FL/"/>
    <id>http://kqp.world/Aqours-FL/</id>
    <published>2025-06-23T09:26:57.000Z</published>
    <updated>2026-06-26T04:39:46.051Z</updated>
    
    <content type="html"><![CDATA[<p>  2024 年 6 月 30 日九人生放宣布 FL，到现在已经一年了，我的感受是比较平静。我也是许久没看生放了，一来没时间，二来水生放已然趋于平淡，也就逢田姐偶尔折断个手办能引起效果。夜羽 live 以后水水甚至单独 live 都没了。本身已是半死不活，宣告 FL 也是意料之中，哀其不幸而已。</p><p>  只是如之前所说，水水的每一首歌都是绑定了青春一段独有的时光，所以 FL 能来还是想来，得到 Abby 大人的同意以后就操办起来了。</p><span id="more"></span><p>  可预见抽选必然会惨烈。泡芙小群两两组队抽，我跟若然买12张碟，泡芙 Joe 哥买 20 张，屁兄幺哥买 10 张多些，go 姐单飞 10 张。<br>  最后全都只中一天，屁兄幺哥中 day2，其余人中 day1。<br>  而且买得越少越好中，网上买一张或者五张的中两天，十几二十的中一天，成箱买几百几千的全落。（乐</p><p>  水 FL 无缝衔接 STOC 2025，尝试让企业合作者赞助我水 FL 之后东京飞捷克，去参加一下 STOC 顺便 visit 一下 Ondrej，失败了（x</p><p>  以及因为 visit SJTU 的行程的问题许久不能确定到底从香港飞还是上海飞，导致错过 JAL 和 ANA 的优惠。最终敲定上海飞，却只剩 2100cny 的春秋了。。。<br>  原来世界上除了演唱会神席，还有飞机神席。全世界要么 1200 的 UO，要么 1600 的 JAL，要么 1900 的 ANA，我这 2100 的春秋，贻笑大方。</p><h3 id="day-0">day 0</h3><p>  座位开出来是 アリーナ，有机会神席。</p><p>  下午五点半的飞机，周五先上班上到两点半。读了在做的题目的 hardness 证明，感觉要推式子，光靠脑子想算法好像不能改进。</p><p>  精准控制时间到了浦东，悠闲地找个充电位坐下，掏书包拿充电器。<br>  卧槽<br>  卧槽<br>  又尼玛忘带插头！！</p><p>  到底进步了一些，至少带了线，特么插头还插在办公室插座上。。。<br>  心中一万只草泥马奔腾，梅开二度，要连续两次被成田机场赚插头钱吗。。。</p><p>  憋着不甘登机。<br>  这次因为有充电宝以及知道成田一定能买到插头，在飞机上还是大胆地用手机看论文了。感觉 2-spin hardness 的论文可读性极差。。。<br>  起码春秋 IJ 还是比春秋 9c 友善一些，9c 的座位密度是真能引起恐惧的，IJ 似乎就是正常廉航。</p><p>  成田完全入境已经 10 点多了，肚子饿得能吃一头牛，但是既没有时间吃饭也没有时间买插头，直奔铁道赶最后两趟车。因为酒店就在日♂暮♂里，所以奢侈一把走 skyliner。</p><center><img src="/Aqours-FL/skyliner1.jpg" class="" width="330"><br/>skyliner<br/><br/></center><p>  看到 skyliner 可以拍 Suica，就直接拍卡进去了。期间隐约感觉不对，总像少了点什么，等到倒数第二趟车开过来，终于意识到：全席指定！拍 Suica 进来还得额外买个席位！<br>  印象中这车有车长查票，赶紧溜出去买席位，幸好所有 staff 会英文，顺利买到，但是只剩终电了，这一耗 20 分钟，快线的优势就没了。。。</p><p>  等终于到了日♂暮♂里，从京成线的月台下来站厅，却一头刷进了 JR 换乘厅，抬头一看才发现有警示写着这不是出口闸机。。。结果我在 JR 厅是出不去的，要喊 staff 给我精算券重新回到京成线厅出站。。。</p><p>  当晚疯狂吐槽小鬼子这交通系统。。。合不合理不知道，总之不适合赶路人。<br>  全席指定，却允许拍 Suica 进去，很神奇吧。你说他这是为了各线统一站台吧，那京成线的特急和普通还不同出闸口分开收费呢。。。</p><center><img src="/Aqours-FL/nippori1.jpg" class="" width="330"><img src="/Aqours-FL/nippori2.jpg" class="" width="330"><br/>将近 12 点从日♂暮♂里站出来<br/><br/></center><p>  深夜在市区便利店含泪买了个 3200jpy 的 65w 插头，这不顺的一天总算是结束了。。。</p><h3 id="day1">day1</h3><p>  早上睡到 9 点半，洗漱出门，准备去探一家<a href="https://www.bilibili.com/video/BV1agN2enEce/">在 b 站上馋了很久的高性价比金枪鱼店</a>。这家店在三河岛站，离日暮里就一个站，铁路还是绕弯的 C 字形，以我的性格必然走路过去。</p><center><img src="/Aqours-FL/c1.jpg" class="" width="330"><br/>白天的日♂暮♂里站<br/><br/><img src="/Aqours-FL/c2.jpg" class="" width="330"><img src="/Aqours-FL/c3.jpg" class="" width="330"><br/>去往三河岛站的路上<br/><br/><img src="/Aqours-FL/c4.jpg" class="" width="330"><br/>三河岛站<br/><br/><img src="/Aqours-FL/daiwa1.jpg" class="" width="330"><br/>大和水产，一楼卖鱼生和寿司，二楼吃饭<br/><br/><img src="/Aqours-FL/daiwa2.jpg" class="" width="190"><br/>点餐机<br/><br/></center><p>  点了个 1880 的中トロ大トロ丼大盛，不一会儿就端上来了。</p><center><img src="/Aqours-FL/daiwa3.jpg" class="" width="330"><br/>中トロ大トロ丼大盛<br/><br/></center><p>  观其色，能区分中腹大腹，但是放血没放干净，还有明显的血斑点。<br>  揭开顶上的鱼肉，发现也就薄薄一层，并没有想象中那么厚实（</p><center><img src="/Aqours-FL/daiwa4.jpg" class="" width="330"><br/>其实鱼肉只有薄薄一层<br/><br/></center><p>  尝起来，并没有很浓的油脂香，一般般吧。<br>  而且大腹不去筋，影响口感。<br>  总结起来就是，质量中等，但是性价比确实高。如果你也喜欢金枪鱼，值得一试。</p><p>  隔壁桌的大叔点的大トロ丼，偷偷瞄了一下他的大腹竟然是雪花的。我还诧异难道我的大腹错上成中腹了不成，离开时看到所有人的大腹都是像我一样条纹的，这才确定隔壁大叔确实是抽到 ur 了。</p><p>  吃完临时起意去上野公园，看看曾经 emi 和彩姐约会的地方。</p><center><img src="/Aqours-FL/d2.jpg" class="" width="330"><img src="/Aqours-FL/d3.jpg" class="" width="330"><br/><img src="/Aqours-FL/d4.jpg" class="" width="330"><img src="/Aqours-FL/d5.jpg" class="" width="330"><br/>去往上野公园的路上<br/><br/><img src="/Aqours-FL/d1.jpg" class="" width="330"><br/>到旺角了（不是<br/><br/><img src="/Aqours-FL/museum.jpg" class="" width="330"><br/>东京国立博物馆<br/><br/><img src="/Aqours-FL/uenokouen1.jpg" class="" width="330"><br/>上野公园喷水池（有没有觉得这两张图的天特别好看！像极光一样！）<br/><br/></center><p>  路上耽搁了比较长的时间，所以国立博物馆就没时间进去了。。。</p><center><img src="/Aqours-FL/uenokouen4.jpg" class="" width="330"><br/>公园<br/><br/><img src="/Aqours-FL/uenokouen2.jpg" class="" width="330"><img src="/Aqours-FL/uenokouen3.jpg" class="" width="330"><br/>上野大佛，[emi 旅行节目](https://www.bilibili.com/video/BV1yE411V7SA/)里和彩姐约会的地方<br/><br/><img src="/Aqours-FL/hana1.jpg" class="" width="190"><img src="/Aqours-FL/hana2.jpg" class="" width="190"><img src="/Aqours-FL/hana3.jpg" class="" width="190"><br/><img src="/Aqours-FL/hana4.jpg" class="" width="330"><img src="/Aqours-FL/hana5.jpg" class="" width="330"><br/>公园盛开绣球花<br/><br/><img src="/Aqours-FL/jinjya1.jpg" class="" width="330"><img src="/Aqours-FL/jinjya2.jpg" class="" width="330"><img src="/Aqours-FL/jinjya3.jpg" class="" width="330"><br/>些许神社<br/><br/><img src="/Aqours-FL/momo.jpg" class="" width="190"><br/>山梨白桃天下第一！<br/><br/></center><p>  逛完就前往西武。</p><center><img src="/Aqours-FL/dome1.jpg" class="" width="330"><br/>西武巨蛋，快乐老家！<br/><br/><img src="/Aqours-FL/dome2.jpg" class="" width="330"><br/>场贩<br/><br/></center><p>  第一次来巨蛋，果然人满为患，能上网感觉很幸运了。约不到任何群友面基。</p><p>  听说老缪送了花篮。</p><center><img src="/Aqours-FL/mu_iwaihana.jpg" class="" width="190"><br/>μ's 的花篮<br/><br/></center><p>  然而浅浅绕了一周并没有找到缪花篮，遂进场。</p><center><img src="/Aqours-FL/dome3.jpg" class="" width="330"><img src="/Aqours-FL/dome4.jpg" class="" width="330"><br/>进场！<br/><br/></center><p>  s10 是个前不着村后不着店的区域。。。属于 アリーナ 后方，四周不通花车，唯一好处是视角比较正中。<br>  落座跟若然打招呼，旁边说：“不会这一片都是中国人吧？”（乐</p><p>  临近开场看到三垒晒夕阳，太乐了，这就是水水快乐老家，无论晴天雨天雪天冬天夏天没有一个好受的（x</p><h3 id="live">live</h3><p>  开场与以往都不同。后台传来 9 人开场前摆圆阵的喊声，大家“お”地站起来，但并没有战歌起，而是静悄悄地，姐姐探出个头来，然后掂根棍子走出来。原来舞台高处斜面弄了一堆沙，姐姐像 mv 里一样，用棍子在沙上面写了个 Aqours，写完还对观众比了个“嘘”。</p><p>  紧接着就是 Dreamy color 开场，四连跳。我们猜了很多开场曲：一单（一切的开始）、op1（以动画作为组织线）、笑笑船开（无缝衔接开场战歌）、FL 主题曲（6th 这么干的）……这首也没问题，毕竟第一首真人 mv，2021年的王牌曲目，承载的也是蛋巡中止到疫情中后期一段时间的心愿。</p><p>  这套衣服一看有点像 dreamy color 又有点像 bm 又似乎都不像，后面 mc 公布原来是沼津建市 100 周年宣传画的衣服。还有另一套新衣服是安可前的永久hours的衣服。然而这就是服装上唯二的亮点了，本次 live 服装单调得很，中途三个过场动画居然几乎不换衣服，安可后穿个一单。</p><p>  曲目安排，总觉得有点怪。我最怕他搞毫无逻辑的劲歌金曲，但现在看来好像还不如劲歌金曲。</p><ul><li>开场唱 gemstone deai 这种既不激情又不承载回忆的歌。</li><li>中途两首幻日夜羽的歌，堪称冷场王，可以看到明显大家有种不知所措的感觉，有 call 的地方都没喊，现场气氛是真的冷下来了。</li><li>与其唱夜羽，为什么不搞点年级曲、小组曲、2223 啥的？以前 extra live 说要九人从头唱到尾那是因为疫情憋着了，现在 FL 了仍然全 9 人曲。</li><li>咱们既然主题是 FL，小组和年级不都有毕业曲嘛，再不济 wonderful stories、next sparkling、thank you friends、no. 10、心羽君飞这些，不唱点吗？你不唱这些，FL 都少一分感情呀，5th 都比你有感觉。僕海、僕旅、永久 hours 这些太新了没故事而且曲调都欢快，没有老缪的僕光那种效果的。<br>（UPD：果然两天的 live 要连着看，把第二季medley也并进来，水蓝 wonderful stories キセキ三连，这谁受得了啊，这才是真 FL，只中 day1 实在太亏）<br>（但是提到水蓝又不得不说，水蓝变成只有副歌的短版，实在有点暴殄天物吧）</li><li>曲数很少，22+2 还是 medley 凑的。。。</li><li>主线，三个幕间动画并不作为主线。三首数字单散落各处，穿插的前面是 daydream warrior、惊险单程这样的热曲，后面是僕海僕旅这样的终曲，姑且当你是有主线的吧。</li></ul><p>  曲目衔接一般。</p><ul><li>开场四连，虽是四连，曲间却都是长时间的声优喝水擦汗，关灯静音，只看到杏树肢体语言招呼大家也喝水。这样即便有 0-&gt;1、届星这样的热曲，也冷下来了。再加之 gemstone deai 这样的歌，更像随机宅舞了。（不信你加个英文倒数试试）</li><li>只有开头结尾两处 mc。</li><li>若干次在中心舞台唱完之后，关灯静音，坐小推车回主舞台进后台。<br>产生如此多关灯静音的垃圾时间，这是演出规划设计有问题。</li></ul><p>  舞台装置，中心舞台变成双过道了，不过好像使用很少。热歌没有喷火。屏幕上弄个大沙漏非常迷惑，搞演唱会倒计时这种行为很找打的吧。live 结束沙漏倒过来，像是要播大新闻，结果 day1 放个联动广告，day2 直接结束。</p><p>  花车路线是做得好的地方。花车路很长，绕整个 アリーナ，回到舞台两侧还转圈，泡芙和 Joe 的位置正好被花车绕着转圈，直接从偏远市郊变成花车神席。最厉害的是花车开到见切席了，这哪门子见切啊，都通花车了！反而我们 s10 四周不通车，非常城中村，白瞎 アリーナ 的名头。。。<br>  虽然我们那儿不通车，但花车在我们后面一两个 block 的位置三车合并，变成小小的后方舞台，离我们算近。这就是 dd 最忙碌的时候了，谁的车来就切谁的颜色，等她转过身来立即举高手跟着她节奏挥棒子。秉着“你觉得她朝你打招呼那就是她朝你打招呼”的原则，毫不客气地说，我集齐所有人的 res 了（x）。其中最难拿的是逢田姐，她比较专注唱歌；其次是喵，总是背对我。</p><p>  安可的彩虹光路也算是水 live 传统了，必有大佬组织，也必会成功。<br>  算是终于圆了我一个心愿。2019 年看 5th 上映会，第一次安可彩虹，十分渴望成为彩虹的一员。这一等就是 6 年，疫情没得去，疫情完了又没有水 live 了。。。<br>  但可能 9 位也见怪不怪了，6th 的时候 frrn 一转身还会哭，现在应该见得多了。</p><center><img src="/Aqours-FL/rainbow.jpg" class="" width="330"><br/>安可彩虹<br/><br/></center><p>  幕间动画回忆了所有角色的入坑里程，兼有新旧动画和台词。配合两天的动画曲 medley（注：一定是要两天合起来），也算是把整个 tv 动画以及那三年的回忆都滚了一遍，那是水水发展阶段的黄金时代。</p><p>  不知道为什么这次没有喊到哑，事后回想起来总好像没尽兴，没有甲子园和亚巡那么畅快。但我们那一片似乎我和若然已经是最大声的了，日本人都不出声很反常，最后永久 hours 甚至是我们那片区的中国人在领 call。</p><p>  总结起来，这可以是一场不错的 extra live，也可以是勉强及格的数字 live，但是实在不太能作为 FL。<br>  所以就当水水从来没有 FL 过，当作这是一场普通的小 live，享受享受就行了，也别想那么多，不要想着水水走了有多么不舍。反正她们想传达的也是要笑着告别，不想你哭丧，不是吗？<br>  只是逢田姐发推说的“虽然可以抱着‘我们九人是见得多了，开 live 随便练练就可以做得很好’的想法，但我们并不会这样松懈，而是尽全力打造出‘这就是aqours’的表演”这种话，失去公信力了。</p><h3 id="day2">day2</h3><p>  day2 下午飞机溜了。</p><center><img src="/Aqours-FL/ramen.jpg" class="" width="330"><br/>在机场补上一顿拉面<br/><br/></center><p>  非常推荐 Royce 生巧作为手信，尝过生巧以后，会平等地瞧不起任何其他巧克力（x</p><center><img src="/Aqours-FL/tokyobay.jpg" class="" width="330"><br/>东京湾<br/><br/><img src="/Aqours-FL/fuji.jpg" class="" width="330"><br/>富士山<br/><br/></center><p>  浦东回学校的路上 qq 频道看完 day2。就当是普通的 live 结束，继续上班了。</p><p>  </p><p>  </p><p>  </p><p>  </p><p>  </p><p>  </p><h3 id="UPD">UPD</h3><p>  就跟 sww 说的一样：一直好像没什么实感。<br>  由于 live 的缺陷以及我只参加了 day1，确实是没有 FL 的实感。<br>  不过从日本回来的途中，以及回来这两天，FL 的实感还是逐渐涌上来了一点。<br>  开始上 b 站溜切片，温习大家的 day2 感想，即便言语有些公式化吧，也还是注入了相当的感情的。</p><p>  Abby 说，你怎么这博客光记流水了？<br>  我说是啊，回看一下我写的，甲子园都比这个激动太多。但是也有在想，为什么呢？</p><p>  其实想是想不出来的，真正过两天回过头来，发现 aqours 真结束了，才会有回忆涌上来。<br>  大家一起实现的梦想。<br>  从老缪的光环下逆风开局，两季动画一个剧场版，百来首歌，高销量的评奖的都有，扩充 sif 半边天，拉动沼津经济，2nd 就开巡演，上蛋，4th 上东蛋，红白出演，宣布五蛋巡，幻日夜羽。<br>  我们投稿出来的队名，投票出来的小组分组、2223分组、live 吉祥物鲸鱼和龙的名字，二三四单选举，通过杂志投稿设计的 future flight 歌词和动作，sif 的世界女孩，live 上的水族馆光路、安可彩虹，逢田姐弹钢琴时的粉色光海。<br>  生活工作累了还是很想玩，以前有 sif 玩，有动画看，有广播听，有 てくてくアクア 之类的真人节目，有漫展，有 live，有 fmt，甚至有亚巡。<br>  各字幕组前赴后继，也有了许愿瓶这样的资料站，许愿瓶的留言都很精彩，网易云也很有梗，<s>还有水黑资料站，<s>感谢逢田组爱保会咻语社</s>獭利班</s>这样的应援组。</p><p>  所有人一起打造的广阔天地。<br>  会有人因为水水而成为声优加入 LL，会有人被水水激励而在生活中前进，会有人从水水这儿学到即便有不甘也能创造辉煌，会有人被鼓励着迈出第一步。</p><p>  其实老缪走好久了，但是大家从来没有忘记，歌曲被传唱，舞蹈一直跳，nico 还在被鬼畜，漫展的缪元素多得是。<br>  所以水水也会一样的，回忆是大家共有的。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  2024 年 6 月 30 日九人生放宣布 FL，到现在已经一年了，我的感受是比较平静。我也是许久没看生放了，一来没时间，二来水生放已然趋于平淡，也就逢田姐偶尔折断个手办能引起效果。夜羽 live 以后水水甚至单独 live 都没了。本身已是半死不活，宣告 FL 也是意料之中，哀其不幸而已。&lt;/p&gt;
&lt;p&gt;  只是如之前所说，水水的每一首歌都是绑定了青春一段独有的时光，所以 FL 能来还是想来，得到 Abby 大人的同意以后就操办起来了。&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>理论与应用之争——一个回归视角</title>
    <link href="http://kqp.world/academia_vs_industry/"/>
    <id>http://kqp.world/academia_vs_industry/</id>
    <published>2025-04-17T03:50:06.000Z</published>
    <updated>2026-06-24T09:18:36.506Z</updated>
    
    <content type="html"><![CDATA[<p>  今天的学术界和工业界、理论界和应用界大多处在一个对喷和互相鄙视的状态，学术和理论认为另外两边是下游、简单、低端的，工业和应用认为另外两边是空中楼阁、虚空索敌、毫无意义、浪费资源。可能各行各业都是。从业者可能是屡见不鲜了，但对于初出茅庐的学生，这可能是非常困惑的行为，会使人陷入人生意义和价值的怀疑和争斗，甚至虚无和抑郁。<br>  仅希望本文能够为处于困惑中的孩子提供一个视角。<br>  我主要从计算机科学这个领域出发，但别的领域应当大同小异。</p><span id="more"></span><p>  至少我在做理论计算机科学科学（TCS）的时候，总会有这么一个声音：“你是不是在做一些对生产建设发展毫无作用的事情？”<br>  这是一件很致命的事情。初中政治课我们就学过，我们的价值来源于自我实现与社会贡献的统一。可是我们做的事情确实谈不上传统意义上的社会贡献：TCS 的工作不能延长人类的寿命，不能治病救人，不能解决世界饥荒问题，也不能直接推动生产力发展，我们只是在探索知识的边界，追求人类智慧的内核——这是古代贵族做的科学，贵族自有闲情逸致做做学问，但我们在花国家的钱，以此为工作，谋了社会福利。我们凭什么赚这个钱？这应当是一份工作吗？我们人生的意义何在？</p><p>  这个问题折磨了我很久，听过很多老师的回答，也浏览了无数知乎。仍然会时不时感到困惑。</p><p>  今天大概算是得到了一个我认为合理的答案。</p><p>  </p><p>  本质上，这是由于两边都在套用一种旧时代的产学研结合路线去理解对方。</p><p>  比如讲这么一个故事，这个故事对真实世界有所改编。<br>  时间回到上世纪，这时候计算机方面的很多科技还是空白，人们并不懂太多计算机科学，生产力也不算很高，需求也很简单。<br>  有一天，一位计算机科学家想出了一个最短路径算法，可以用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的复杂度求某个点到另一个点的最短路径。这是计算机科学的重大突破。<br>  恰好有一家公司，想做一个导航系统。他发现这个最短路算法很符合需求，于是一拍即合，做了个小型设备，载入地图，然后跑最短路算法，这就实现了自动快速选择从起始地到目的地的最短路径。这个产品卖得很好。<br>  这就是早期的产研合作，是一个非常简单的链条：研究者给出算法，公司将其实现。</p><p>  但是十年后，各自都有了不一样的发展。<br>  对于这家公司来说，导航的需求变得复杂了：地图不再是简单的图模型，起点和终点可以是地图的任意一点，不同的道路收费不一样，车流量不一样，红绿灯不一样，路况实时更新……最后调查发现，现在卡脖子的技术，是各种复杂的形式多样的权值，他需要能快速处理复杂权值的最短路算法。<br>  对于计算机科学家来说，他发现他的算法可以继续改进，变成了 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>n</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n \log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 的最短路。这催生了一些有超大规模的图的公司，他们得益于最短路技术的运算效率的突破，产品落地，于是计算机科学家拓展了合作网。但是他并没有考虑复杂权值最短路的 setting。<br>  那这家公司和计算机科学家的 connection 就危了，供给和需求不匹配，矛盾了。为了维持这个 connection，也考虑到复杂权值最短路的 setting 是一个将来的需求，计算机科学家招了一个学生对这个题感兴趣，由学生来做这个题。</p><p>  再过了许久，公司的需求更复杂了，需要做行人导航、自行车导航等各种新导航路线。而计算机科学家则用最短路的算法改进了最小费用最大流，成功推广了费用流的应用。于是他继续去用这个技术做更多的题，学生毕业以后成立了一个校企合作研究所，专门负责用老师的框架处理公司的需求。<br>  再过了许久，这个研究所也跟很多公司合作了，研究所也发现很多公司有共同的需求，要给最短路做分布式计算，只有解决共同需求才能同时维持跟所有公司的合作，因此研究所重心放在了分布式计算的课题。那家导航公司要提供多样化选择方案，要做次短路算法，于是自己成立了一个研究部门，专门为自己的业务服务。</p><p>  大家再回过头一看，发现都不理解对方了。计算机科学家觉得那公司总是在搞一些有的没的的 setting，这种 setting 解决了对于图论的进步没什么推动作用；而导航公司则发现你这个人怎么对最短路进行代数研究了，搞一堆代数性质，对自动预测塞车路段有任何帮助吗？没这个功能，那导航就有严重的智能缺陷。<br>  前者开始抱怨后者提供的横向都是些对科学毫无帮助、浪费时间的事情；后者开始喷前者在做的都是不切实际、浪费经费的研究。</p><p>  到底谁错了？<br>  其实只是这条产学研的链条，由最开始的很短的小链，变成了大规模的长链，曾经仅有的产和研两个端点，不停地分化，各自分化出了下属机构，各机构也有了自己的目标，久而久之，不同的目标演化出了不同的价值取向。当一个领域逐渐成长，做大做强，这是必然的变化方向。<br>  这种情况下，<strong>产和研本就隔得很远，本就应当在做不同的事。仍然以小链的思维去评判意义所在，觉得算法应该拿来就能用，就会出问题。</strong><br>  学术界，或者说做理论的，需要更通用的框架，或是在一般性问题上更好的解，又或是提出新 idea 催生新的领域。比如 TCS 里你发 STOC/FOCS/SODA，你的题要是加上一长串的定语，肯定就很难中，setting 太专了就不是 broad interest 了。这也是我们在做题时会有的一个思维方式，一个题做着做着发现 bounded degree 能做了，bounded treewidth 能做了，很多特殊图都能做了，那就该往上走了，去总结更普适的规律，再往下深入某个特殊图那是水文章。<br>  工业界，或者说做应用的，反过来需要契合实际，以自家产品为考核目标，去做专门的适配和优化。它跟上面的思路是相反的，普适的算法能做我的产品，但是效果肯定不够好，我要考虑我这个图是不是 bounded treewidth 的，是不是稀疏的，这个图还有什么特殊性质我得深究下去，这是一直往下走的。<br>  今天社会的普遍提倡叫“以企业需求为导向进行科研”，实际上针对的也是大链条中间以及偏企业端的多数科研机构，它们所处的位置决定了它们的定位如此。但是对于大链条的另一端则不然，企业的需求归根结底是企业自己的事，这一端的科研力量本就不是拿来解决企业个别需求的，它可以说是拿来解决企业通用需求的，或者说是激发、创造企业需求的。企业端拿这个标语去绑架科研端的人，那是过河拆桥，企业有今天这个需求还得感谢当初这是一条小链条的时候科研端的贡献，却不见得做导航的公司给 Dijkstra 付过工钱（x<br>  同样地，理论端也不必抱怨大势不在自己领域。漫天飞舞的大模型应用是企业的最优选择，TCS 既然不参与盈利，就安心做自己的科研就好了。本来就是很小的一端，掀起风浪十有八九会失败，就算成功也需要更长的传导过程。<br>  探讨下一步的产学研结合，也是需要注意到这个事实。直接简单地让高校老师做企业的题是不切实际的；而让消费端企业从头开始布局基础研究，现状就是总是会附加很多业务需求而不具备普适性，看看今天各大公司的“理论部门”实际上在做什么就知道了。</p><p>  只有一点比较蛋疼，就是资源不够，做不到两端都支持。<br>  这条链条做大做强开始分化，科研端就失去了盈利能力，而把盈利能力集中在企业端卖产品了，纯理论科研端只能靠国家经费输血。我个人理解，“以企业需求为导向进行科研”也有一定的先把蛋糕做大的考虑。<br>  其实是不是应该考虑企业端回馈一下整个链条才对呢，同一条链一起长大过来的，分工合作了而已，本是同根生啊（</p><p>  针对于 TCS：<br>  光说做理论没有用，这个还是容易举出反例的。比如前些日子我都看到有人想要学习最长公共子序列的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mn>1.5</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^{1.5})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1.5</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的算法。如果你并没有关注计算复杂性的发展，对计算复杂性还停留在“P、NP、图灵机”的概念上，你不会意识到这种算法是不存在的。<br>  光说做理论很有用，也一堆反例。我非常认同的，来自宽老师的一句话：做出一个算法，只是说明你不能证明它的 hardness，实际上这个算法没人会用的。<br>  曾经在知乎上浏览过怎样的 TCS 是健康的发展，是做到快成纯数的那种，还是要能做偏应用的那种。<a href="https://www.zhihu.com/question/432019968">有个回答是</a>：健康的 TCS，能容得下也应当容下这两批人同时存在。<br>  把这句话延伸出去可以得到一句正确的话和一句不那么正确的话。<br>  正确的话：一个健康的领域，应当两头都要有，两头都很有意义，两头都应当得到充分的支持，而不是一山不容二虎的争斗。这就好比人体分化出了不同的细胞，脑细胞说肌细胞不够聪明，肌细胞说脑细胞没有力量，这没有意义。<br>  不那么正确的话：一个好的研究课题，应当兼有理论和应用，既有其独特的理论价值，也能推向落地做出真正的产品。不正确之处在于，如果一个大领域被分化得很开，这样的题目总是有点四不像的。如果恰好找到了这么一个课题，可以说是幸运的，因为这代表着发现了一个新诞生的小链条，你有机会成为某个领域的开山鼻祖了。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  今天的学术界和工业界、理论界和应用界大多处在一个对喷和互相鄙视的状态，学术和理论认为另外两边是下游、简单、低端的，工业和应用认为另外两边是空中楼阁、虚空索敌、毫无意义、浪费资源。可能各行各业都是。从业者可能是屡见不鲜了，但对于初出茅庐的学生，这可能是非常困惑的行为，会使人陷入人生意义和价值的怀疑和争斗，甚至虚无和抑郁。&lt;br&gt;
  仅希望本文能够为处于困惑中的孩子提供一个视角。&lt;br&gt;
  我主要从计算机科学这个领域出发，但别的领域应当大同小异。&lt;/p&gt;</summary>
    
    
    
    <category term="杂写" scheme="http://kqp.world/categories/%E6%9D%82%E5%86%99/"/>
    
    
  </entry>
  
  <entry>
    <title>LoveLive 系列亚巡广州上海场</title>
    <link href="http://kqp.world/lovelive_asia_tour_2024/"/>
    <id>http://kqp.world/lovelive_asia_tour_2024/</id>
    <published>2024-10-08T07:55:58.000Z</published>
    <updated>2026-06-24T09:18:36.547Z</updated>
    
    <content type="html"><![CDATA[<p>  为什么中 nips 都没什么欲望写博客发个动态，倒是 lovelive 很想写 qaq</p><span id="more"></span><p>  或许还是想把学术的兴奋阈值提高一点，娱乐的兴奋阈值降低一点吧，前者是 symbol 的教诲。</p><p>  许久没有亚巡了吧。19 年的水亚巡，那时还不懂看 live，不知道为什么就看到贴吧上一群人聚集在上海，看他们排场贩像看猴儿一样。<br>  也不曾料到，这次亚巡有广州上海，星专场和缪水虹星四团。你缪啊你缪，2024 开启疯狂诈尸模式，音乐会、fmt 和海外 fmt、拼盘亚巡。这下可好了，20 年 fes 没去成遗憾得死去活来，24 年缪广州 fmt 没抢到票，总想着有生之年给缪补个门票，突然就到了时候。</p><h2 id="抢票">抢票</h2><p>  看什么时候有空再回来吐槽吧。。。<br>  总之就是，相比去日本节省的机票酒店钱，全部补在票钱里了。。。<br>  各种乱象应有尽有，根据舆论自适应定价，官牛横行，天价前排，临近开演卖不出的票还打折卖。<br>  发明抽票的人该死，但是联合官牛的抢票商更应碎尸万段。</p><h2 id="广州">广州</h2><p>  广州场跟 Abby 一起来的，她帮我抢的双人票，正好带她体验一下日式 live。虽然一路奔波已经把她累坏了 qaq<br>  广州星专场。我习惯性地套用以前水亚巡的思路，认为就是以动画为主线，唱动画曲，幕间播动画，这样避免日语 mc。然而结果大为惊喜。<br>  伽黎佬组织了开场光路和星光序曲的光路，从彩虹色到最后副歌橙海，完全就是动画里缤纷的花海而后铺出金色的光辉，蔚为壮观。这是星光序曲有史以来第一次复刻动画光路，日本人都做不到的事情我们做到了！光路象征着舞台是相互的，台上的人带来歌舞，我们也给她们铺出梦幻的舞台效果。sayu 几个在台上浅浅地赞了几句，不知她们心中又是否有被震撼呢？我们可是把自己都震撼到了，赞叹民间强大的组织力。希望这载入史册的光路能进 bd。<br>  开场各团 op 由 Liella 唱，破企划现在沉迷换歌，乐死我们这帮 dd。<br>  星专场自然是星歌为主，但却并不全是动画曲，也不以动画为主线，似乎也没有主线，也是劲歌金曲大放送，哪首人气高、能热场就搞哪首。mc 也多，鲤鱼当翻译，跟水亚巡完全不一样了，我这老古董思想该改变了。<br>  最后唱了梦门，她们说梦门是 Liella 全体都喜欢的一首歌。缪歌源源不断地从后辈身上冒出来，追逐梦想的情怀依然在延续。<br>  Abby 小朋友不太会玩 call，我就一直给她讲解这是什么歌，有时候帮她切颜色。也让她感受到了应援是可以整齐而声势浩大的，同时也是非常消耗体力的。<br>  前面和右边坐的都是日本老哥。日本老哥的应援明显更细致，会跟台上的舞蹈动作。尝试跟右边的老哥交谈，比如问问是不是也去上海场、介绍光路企划、感叹光路企划的成功。</p><h2 id="上海">上海</h2><p>  再也不会癫到前一天晚上看完 live 吃个海底捞还要第二天早上七八点飞上海了。。。</p><p>  事实上前一天彩排已经剧透了一些劲爆歌单，水族馆、aao、no brand girls，已经能意识到上海场只会比广州场更加炸裂。<br>  第一次见如此盛大隆重的外场。四处摆摊，换谷子、送无料、展览谷子、搞签名、艺术展演、anikura……摊位可能不比日本多，但花样可是多得多。女生差不多一半都是穿的五校校服（至少有校服裙），人群中有她们仿佛这里就是 LL 里的世界，五校学生出来看自家的学园偶像。男生穿得五花八门，各种痛衣法披场 T，还有搞笑标语（比如“别 nm 用老子表情了——奇卡”）。如此之隆重也看得出这场 live 在他们心中的意义。外场已然是个小型的 LL Only。</p><p>  进场也是五校学生落座的感觉。<br>  水 part 的歌都是令人兴奋至极的歌。各自一首代表曲，曜竟然是厄爆水族馆，可谓正中下怀，虎啸震天，海鲜遍地，万众田夫，厄成军 call，人人都厄，不厄都是地藏了；露比是 aao，其实也见得多了，没有姐姐以及各种道具都少几分乐趣；善子是深度共鸣，每次听 kyan 的怒吼都会为之震撼。jump up high，自 5th 以来一直是压在心中的遗憾，完全想不到能听现场版，充满希望与鼓励的应援回荡，好似我们就是即将上场的奥运健将，只恨没有毛巾可甩。<br>  虹 part，无敌信徒可是好久好久没有听了，~~厂长扭动着她的孕妇装,~~菜宝女王风的 eutopia 加入了不少中国特别应援，还有蹦蹦跳跳不喘气的 Mia Taylor Swift。<br>  星 part 正常发挥。星序已经成了下一代橙海，不过毕竟从广州场过来，创造过橙海前的花海，还是广州场吊打上海场。<br>  缪，刚出场我甚至都没有感觉，六单练得很熟了，漫展经常玩。半首过后，我才惊醒，缪，这是缪啊！你最初的感动啊！你最早向往的美好啊！你一直求而不得的缪啊！身体忽然一阵颤抖，仿佛逐渐开始时光倒流。随着缪的自我介绍，一首接一首的缪歌，大家都一起开始穿越。<br>  地板都是震的，偶尔累了不里跳了，立正站好，就会被地板带着晃起来。后来才知道，连导播的镜头都是晃的，一拉近景就蹦蹦跳跳，仿佛摄影师也在打 call。<br>  snow halation，我们这场子多少人只闻传说而从未体验的梦寐以求的白色应援和奇迹橙海，今天我们都晋升为橙海的一员。入场极其严格的安检，还要翻包好几次，结果最后的副歌一出，人手两根化棒，那可真是火海，那是真的在跳动的火焰，亮如核爆。我也第一次敲化棒，那亮度真是无可比拟，真真正正是点亮了橙海。<br>  no brand girls，第一次缪水虹星四团合唱，升教旗，奏教歌。在最后的激烈与情怀中，彻底把嗓子干废，把地板震碎。那照相的动作一咔嚓，保存下新的美好瞬间。</p><p>  华东虎展现出了中华虎群碾压性的优势。华南虎反而这两年蔫了，广州场秩序井然，也可能是上海场的歌单天然更虎。</p><p>  整个亚巡其实歌单脉络都比较像劲歌金曲，99% 的人气歌、整活歌、燃歌、情怀歌，所以相比之下有时候更喜欢以一季动画为主题的数字 live，更有主题脉络。当然了，外国场、缪回归这几个因素加起来，亚巡必然要以人气歌和情怀歌为主的，所以尽兴就完事了，好好回味缪升教旗奏教歌的初成之欢、水高高跳起给人们带来的鼓舞、虹初出茅庐一手 ksks 单曲崭露头角的喜悦、星光序曲铺出下一代的勇气。</p><h2 id="结束">结束</h2><p>  有一种完成愿望、补上了遗憾、再无悬念的感觉。<br>  lovelive 是个好故事，演唱会很好玩，但是我不需要以它为精神支柱了。以前一个人，困惑的时候就看 LL 的故事，不仅包括动画故事，还有他们一步一步走上巅峰的故事，和台下观众们一同塑造的故事。但是一直到 2023 年才有机会去看 live，所以这两年都有点报复性。<br>  从最初的山顶 Liella 到甲子园见到了所有人，再到这次不曾想连缪也能见到，一首一首只在 live 录像里看到的很向往又很遗憾错过的歌曲，都渐渐在现地补全了。好像 clear 了一张挑战任务表。<br>  Abby 小朋友改变了我很多。以前 LL 是唯一的陪跑的朋友，现在我有真正并肩前进的队友了。科研也逐渐有了点盼头，好像有属于自己的方向可以奋斗了。<br>  不知道接下来还会跑什么活动，可能水 fl，可能星六巡，或者更远的不知道的东西，或者这些都不去。但是，肯定不会再有这次这么癫了，短短四天通勤三地。</p><p>  感谢这次亚巡，能见到仍然穿着演出服的 μ's 和 Aqours，也传递了我们创造的台下之景。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  为什么中 nips 都没什么欲望写博客发个动态，倒是 lovelive 很想写 qaq&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>2023 World Final 真·退役记</title>
    <link href="http://kqp.world/2023_WF/"/>
    <id>http://kqp.world/2023_WF/</id>
    <published>2024-04-20T06:37:00.000Z</published>
    <updated>2026-06-24T09:18:36.502Z</updated>
    
    <content type="html"><![CDATA[<blockquote><p>一曲新词酒一杯，去年天气旧亭台。夕阳西下几时回？<br>无可奈何花落去，似曾相识燕归来。小园香径独徘徊。</p></blockquote><span id="more"></span><p>  2018，symbol：“去实现你未完成的梦想。”</p><p>  2019，左左：“把 final 进了再说。”</p><p>  大概是有了这两句话，才真正意识到 XCPC 不比 OI 轻松，才坚定了本科继续打比赛的想法。<br>  即便去掉高三那也有 6 年 OI 了，经此一役，又不知道竞赛之路还有多长。但是长点好啊，中学的我太菜了，总算是在大学练出了个人样。</p><p>  随着无人之境在大三出线，队友各自找实习和申请升学，我也意识到这条路很快就要走完了。只是一次又一次喊退役，又总是因各种原因出现在各种赛场上。只要这个 WF 不来，我们依然都还是选手身份，即便我们都毕业两年了，成为社畜和科研狗了。</p><h2 id="46th-World-Final">46th World Final</h2><blockquote><p>谁研二还要打 final 啊~<br>——<a href="/2021_EC_Final/" title="2021 EC Final 退休游记">2021 EC Final 退休游记</a></p></blockquote><p>  一语成谶。<br>  2022年，无人之境在大四毕业的暑假捡漏出线，当时意外得很，却也没放在心上，一笑了之。人都毕业了，这比赛还能打吗？</p><blockquote><p>希望孟加拉还是能去线下。<br>——<a href="/2021_EC_Final/" title="2021 EC Final 退休游记">2021 EC Final 退休游记</a></p></blockquote><p>  一口毒奶（x<br>  2022 年秋天，45th WF Dhaka，因为疫情原因我们无法一起出国，遂弃，于是捡漏捡到的 46th WF 就成了万幸。</p><p>  队友们都进公司工作了，拿着高薪却也繁忙。我继续找了个 phd 读，事情不比上班轻松多少，也要不停地读论文想题目，还有一大堆研究生要干的杂活。就这么过了一年，没有训练，偶尔打打 cf 或者 at，还有些 bytedance 清华营之类的，似乎离竞赛很遥远。<br>  zayin 好像在坚持打 cf，他还离竞赛很近，我有点不知道怎样才能达到他的状态，但更不确定我想不想要这个状态。我总有太多想做的事情，把自己标榜为学术人之后，空闲时间更想拿来读自己感兴趣的 textbook 和论文。</p><p>  2023 年 9 月，phd 二年级，开始当 hku 教练，要出校队选拔题、安排日常训练、排赛站、带队去比赛，一下子又离竞赛很近了。<br>  46th WF 也终于敲定时间地点，11 月在埃及沙姆沙伊赫，和 47th WF 合办。那么康复训练就张罗起来了。<br>  <s>教练正在热身</s><br>  能明显感觉到虽然思维能力这么多年已经练出了成熟的下界，但是码力和反应力都在下降，签到题变得磕磕绊绊，老套路开始生疏，例如长链剖分都需要重新复习好一阵子才能写了。在训练中常常被 carry。<br>  说实在的到了后期，这个比赛获奖对我们有用吗？没有，拿牌了队友不会升职加薪我也不会多中论文，垫底了队友不会被开除~~（<a href="http://pony.ai">pony.ai</a> 除外）~~我也不会被退学。于我而言，这是为了体面地把一件事做完，好聚好散，风风光光。算法竞赛好玩，最后再玩一次。<br>  所以我们也没有定宏伟的目标，我们就是来旅游的，我们只要能把实力发挥出来，能到哪里就到哪里，拿牌捧杯的任务那是 jiangly 他们的（</p><p>  基本上把机票签证全部安排妥当之后——巴以冲突爆发，WF 因安全问题延期。好好的一届 WF，遭受疫情和战争双重背刺。<br>  康复训练随即停下脚步，退役时间再推半年。<br>  抢 uo 特价机票，计划 4 月跟 Abby 去关西玩。<br>  2024 年 1 月，宣布改在 4 月卢克索，正好撞上关西行程。所幸后来看日程安排，关西行程仅冲突了官方旅游和华为挑战赛，遂决定翘，直接来个 10 天小长假，来个关西飞埃及的半球飞行。<br>  康复训练在过年后重新开始。这几场用区域赛和 ucup 来练，这是当下为数不多的优质题源了。想刷点 WF 真题，毕竟一般来说 WF 整体难度比区域赛高不少，没有弱智签到，简单题都会很繁琐。但是近几年的 WF 题大家多多少少都看过做过，只剩 44th 的 WF 邀请赛可以训练，但这一场反而也是签到居多，打下来还不错。<br>  事实上延期的这段时间战争并没有消停，反而愈打愈烈，更多国家下场，更多区域开打，临近出发时，欧洲和中东形成了一条由北至南依次是乌克兰、约旦、加沙、红海、也门的封锁线，航班过去如同穿越火线（x<br>  老板：为什么你们疫情不敢去，现在战争反而敢去了？</p><img src="/images/covidvswar.jpg" class="" width="600"><p>  在关西愉快地玩耍了三天之后，4 月 15 日跟 Abby 从 KIX 分别，她 KIX-&gt;HKG，我 KIX-&gt;TFU-&gt;CAI-&gt;LXR。<br>  在 TFU 满怀期待即将登机时，一封 LICS 拒信突如其来。<br>  被一个垃圾 reviewer 搞死了，他给个 borderline，原因是我们工作量太大，25min 的会议 pre 不完（这nm是 review 意见？？？），希望我们把两条主线拆成两篇并投 journal（可是我们就是在 bridging 这俩主线啊？？？）。我们商量一致决定 rebuttal 对他的意见略写，毕竟有字数限制（Ondrej 老师：如果我们略写，那 pc 也会自然地忽略掉这个 sb 意见，但如果我们详写，pc 就会觉得是不是我们心中有鬼，就会反过来觉得这个 reviewer 讲得有道理了），结果最终 comment 说我们不重视他的意见。。。他似乎就是 pc，其他俩人都评价不错就这人有牢骚，最后就是他给拒了应该。这种人应当祭天。<br>  虽然也不是他全责，邮件里说今年非常卷，要三个 accept 才能中，我们有一个 weak accept 喷 writing 的，那其实也是没戏了。<s>（喷 writing 那还是我的锅啊</s><br>  跟大家达成一致转投 SODA 或 NIPS，心情好了一点，起码 CCF-A 还是有希望。<br>  TFU-&gt;CAI 这段就直接昏睡了，并没有干活的欲望。讨厌这种国际航班凌晨两点喊人起来吃早餐。<br>  飞机的航线经过黑海和以色列附近，蹭过两大战区（x</p><img src="/images/flight.jpg" class="" width="300"><p>  在开罗机场体验到了埃及人蹭脸要小费，是先跟你说免费帮你然后反口要小费的那种。我坚持不给，但也变得小心翼翼，避免产生给人帮助的机会。<br>  Ondrej 老师认为 sampling 的文章应该在这篇 counting 中了之后再投，于是乎 KR 的 ddl 也没了，繁重的代码实现任务突然轻了一半，也就不想干活了（x</p><p>  到达卢克索已是 16 号下午，华为挑战赛结束，跟队友去补拍照片。</p><blockquote><p>如果真的能去埃及，看看会不会出现“hku 教练代表 sysu 参赛”的怪事hhh。<br>——<a href="/something/" title="【长更】杂写">杂写</a></p></blockquote><p>  跳反！我的身份牌是绿的！（大雾）</p><img src="/images/tiaofan.jpg" class="" width="300"><p>  尼罗河边的五星级酒店表面还是很豪华的，就是有蚊子苍蝇。饭菜味道挺好，但是口感真不咋地，烤鸡硬如柴，煮牛正常发挥，烤鱼柳好吃但是鱼柳毕竟不是新鲜鱼，馅饼也硬。香瓜倒是非常甜。<br>  这个国家很神奇，正如地图所见，只有尼罗河沿岸是绿色的，离开河流就是黄色的。热带沙漠气候展露无余，闷热，阳光毒辣。整个城市显得贫穷，房子都很破，马车汽车摩托车一起在街上跑。仅仅是在这个城市生存下去已经值得敬佩了。<br>  以为时差倒得挺好的，结果还是 10 点就昏昏沉沉了，第二天 7 点就醒。<br>  早餐的煎蛋非常好评，蛋液里加了番茄甜椒蘑菇，很清爽。早餐的芝士品种巨丰富。（UPD：原来这叫omelette，在外国很普及）<br>  Bill 主席活像个老顽童，蹦蹦跳跳情绪高昂。热身赛入场搞得像运动员入场一样，很有气派。<br>  这三天午饭都是巨硬巨难啃的三明治。倒是生蔬菜不错，啃生黄瓜挺清爽的，生胡萝卜的辛辣味很提神。<br>  热身赛，我写了两个签到题，邓老板写了加逗号题，邓老板和 zayin 一起搞了个神秘的图论题。算是平平稳稳地度过了。后面去找 hku 发现他们做了概率题，我们的概率推得还是菜了一点。</p><p>  到目前为止并没有感受到这是 WF，仍然觉得这不过就是一场普通的比赛，只是仪式多了些罢了。<br>  可能平平静静才是好的状态吧，享受比赛，痛快解题。</p><p>  第二天的运动员入场更加流畅了，坐在里边看各校校徽，才终于有了一点“代表大家出战”的感觉。<br>  倒数结束，闹腾的会场迅速静了下来。<br>  读完 P 题，队友在推 S，突然对面桌 Oxford 大喊一声 yes，拿下全场一血，场上响起掌声。<br>  赶紧跟榜去读 Y，但是脑子乱了并没有思路，觉得连续两个子串相同好神秘。<br>  zayin 猜了 S 一个结论：去到河对岸的一定是个连续区间，并以此得到了一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的 dp。但是并没有人做 S，还是先签到吧。<br>  zayin 看了 Y 和 P 都秒掉了（感受到我降智严重），邓老板看了交互题 W 开始尝试，我把期望题 Q 也干掉。<br>  W 题降智了好久，一开始是读错题以为它所有回答都是正确的，还在想抄样例的题怎么还不板刷，后面想着怎样只用 0 和 1 做询问，几乎是列举完所有只有 0 和 1 的询问方式了才意识到这是不可能的，于是把第五个询问改成 1 2 3 才把这个题干掉。<br>  签完 4 个题，一个半小时，排 20 上下。<br>  接下来跟榜开 T 和 U。T 一开始 zayin 想直接设两个金字塔底边的点为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>y</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo separator="true">,</mo><mo stretchy="false">(</mo><msub><mi>x</mi><mn>2</mn></msub><mo separator="true">,</mo><msub><mi>y</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x_1,y_1), (x_2, y_2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 然后大力推式子，我按住他说应该可以将军饮马的，果然画了画就是把金字塔侧面折平然后塔顶连线，讨论侧面往哪边折即可。U 我和邓老板讨论出在 4c 充当四个角的基础上用 8c、4c+2s、2s 来扩展，于是双双冲，但是双双失败。U 在不断地 wa 中补充了 6c+2s 和 4c 两种情况，变成了只用 4c 和 2c+2s 扩展，确信已经很难更优了，但仍然 wa。T 调了许久找不出错，于是喊邓老板帮忙看，我上机测 U 小数据却也无果。期间 R 和 V 都有些提交了，但不多，我们决定还是先调完这俩板刷题。最终，T 发现金字塔可以边相交，补上漏了的等号过了，U 一语点醒发现纯 8c 会自交，补个特判在 240min 过掉。<br>  花了整整四小时才签完到，却也封榜了。<br>  S 还是没人过，不敢写。邓老板发现 X 是个大模拟，慢慢写着。zayin 把 V 转换模型后发现是问凸包是否交两个正半轴，随即开冲，但不幸最终没调完（由于提前开赛，最后一小时 zayin 看错了时间，在悠闲地 debug，直至耳边突然响起“10min left”），遗憾 6 题离场。</p><p>  心里也跟着像烂掉了一样，尽管周围的人都在说这不算烂。<br>  确实，后面滚榜发现好多强队和暴发户都是 6 题甚至 5 题，讲道理这些恼人的分类讨论和构造，要快速写对它们也绝不是一点本事都不要。但是要得不多。怎么说这两个题也是最后被板刷的题，卡了整整两个半小时，怎么看都是一种罪过。<br>  我们明明手中还握着 V 和 X，甚至这个 S 出场后跟 HUST 讨论了一下，我们都猜得差不多了。把能做的都做完，这不会有遗憾，但是亏题，会有巨大的遗憾，何况这还是最后一次比赛，是 WF。区域赛亏题了，还有下一场区域赛证明自己，WF 亏题了，没有下一次 WF 了。<br>  不停地反省 T 和 U 有没有机会做得更快一点。T 最好是让几何选手邓老板早些来看代码，但是邓老板和我一直被 U 关着。我们推出最优策略也不算慢，但是一直没发现纯 8c 是个 corner case。我不是没机会发现它，我手玩了 4c、12c 和 16c，就是玩不出 8c，也觉得不对劲，但是上机一测，4c、8c、12c、16c 全跑出来了，我的第一反应是：这才合理，这才对称而优美，从来没怀疑过代码给出的 8c 的解到底正不正确。<br>  有时候也做梦，如果开场把 S 莽过去了，是不是就可以解锁 WF 歪榜的成就，凭一己之力把大家都关起来，然后我们就拿牌了（x<br>  但更多的时候是觉得，我们真没太多机会把这些题再做快一点。这样反而还宽慰一些，不是失误，是实力就如此。<br>  也在想如果是两年前我们所谓的“巅峰状态”，能不能做得更好。大概率是能的，那时候也许知识储备不够，但思维敏捷度和手速都比现在高，也比现在勇敢，会尝试榜外的题，会在卡题时分一条流水线出去开新题。这次的 WF 并不如想象中那么难，难度接近国内区域赛，穷游中国式的打法（依靠前中期手速）仍然有很大的发挥空间。但是没办法啊，上班的上班，科研的科研，毕业了真不可能还像本科一样一周四训。我也羡慕有些老人队真的还在狂训，但是我菜啊，我做科研的题都不够时间。<br>  所以，就这样吧，本来也是来旅游的，本来出线名额都是捡来的。<br>  并列排名也不算难看，能混到 26，拿来骗骗外行人还是可以的。</p><p>  后面去了帝王谷附近颁奖，真是大漠戈壁。心情本就低落，端上来的烤肉又不出所料地烤柴了，这顿饭吃得一般。<br>  在这里才开始关注前排。原来 MIT 和 PKU 打得如此焦灼，见证 jiangly 捧杯，所谓“jiangly 时代，沸腾期待”，时隔 13 年再次由中国捧杯。46th 和 47th 中国都各有三个队进牌区，PKU 更是一冠一亚，可以说中国的战绩相当辉煌。果然是当年把 IOI 改造成 CNOI 的那帮孩子长大以后，也要在 ICPC 掀起一场革命，我感觉革命已经悄然开始了。<br>  以及听闻了不少笑话，比如 47th 的 MIPT 把 infinity 写成了 infinitiy 痛失冠军，比如邓老师望着 jiangly 接受采访的白学图片。</p><p>  后面的两天，一天去了 Luxor 博物馆，一天在开罗逛了埃及博物馆和金字塔，就溜了。再次在飞机上被凌晨两点半叫起来吃早餐（怒</p><h2 id="退役">退役</h2><p>  最终结算，13 年。我才 24 岁，我可以说我大半辈子在玩算法竞赛（<br>  其实现在越来越多的老古董都是 phd 好高年级了仍然在打，得益于大家发现规则其实是每个人最多参加五届而不是入学起五年，以及被 covid 影响的三年有优惠政策。还有好多即便不是正式选手了，但是打星参赛、出题等的强度都不亚于正式选手。所以单纯比时长好像没什么意义，他们才是真爱粉。<br>  原先以为竞赛打这么久会很耽误他们的科研，后面才发现这些人是竞赛科研双丰收，顶尖赛场的颁奖台上有他们，各种顶会里还是他们，就算不是顶会也是很有意思的工作。<br>  而我现在是在两手空空、没有任何发表的状态下，来告别。<br>  很难不加剧愁怅啊。。。</p><blockquote><p>很多觉得自己“喜欢”这个比赛，一开始并不知道这个比赛是什么，而只是听说这个比赛的奖项“可以去大公司”，“可以让自己摆脱不好的学校”，诸如此类，参加后觉得很有意思，又付出了很多努力，就“喜欢”上了这个比赛。<br>这部分“喜欢”的人有很大一部分并不是真的“喜欢”——在比赛打的不好的时候完全控制不住自己负面情绪的人不说比比皆是也是能看到不少，而且原因大多是因为“自己的努力没有得到对应的回报”。<br>——<a href="https://zhuanlan.zhihu.com/p/441334057">「深夜闲聊」我对出题工作的看法</a></p></blockquote><p>  Dai 老师描述的喜欢是一种非常纯粹的境界，曾经的选手是有这种境界的，现在的选手杂了些（我也是竞赛推广者，选手变杂了我也有责任）。但是我也认同 symbol 的一句话：仅凭功利心是走不下去的，走到后面必然是因为热爱。至少去到区域赛前排、进 WF 的选手，没有是为了考大学、找工作而来的吧。我们确实会因为努力没有回报而沮丧，但这个回报是我们在赛场上把实力发挥出来，而不是拿牌保研进厂。</p><p>  所以没发挥出全部实力，就会心痛。<br>  但仔细想想，这么多年，哪次比赛没有遗憾？NOIP、省选、NOI，暴力分都没拿满；大一大二的区域赛，签到都签不明白；大三大四，成绩好看了，但也总差一点就能获得更好的名次。遗憾才是常态。偶尔有几次最后 15min 把囤的题清完、心满意足下班的，印象都不如有遗憾的场次深刻。</p><p>  我们好像都退役了，又好像都还在赛场上。<br>  zayin 还在给各种比赛出题，邓老板是赞助商代表要去比赛现场宣讲，我是教练要带队参赛。我已经在赛场遇到过邓老板不止一次了，总觉得会有一天我们都出现在同一个赛场，以三种不同的神秘身份（x<br>  去年第一次坐看台，好熟悉又好陌生的场景。底下还是生机勃勃的一片，选手们在朝着各自的理想前进，看得我手痒。年轻人就是好啊，满怀希望，有想做的事情就可以做。<br>  多看看也是好的，让自己永远年轻，也可以凭我做教练的努力把希望之火传递下去。</p><p>  其实哪里都有算法竞赛的影子。在 complexity 论文里看到多项式全家桶，在一阶逻辑课题里看到矩阵树定理，在流算法里发现可以用并查集优化流次数……每每这样，都会感到一丝恍惚。</p>]]></content>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;一曲新词酒一杯，去年天气旧亭台。夕阳西下几时回？&lt;br&gt;
无可奈何花落去，似曾相识燕归来。小园香径独徘徊。&lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="总结与游记" scheme="http://kqp.world/categories/%E6%80%BB%E7%BB%93%E4%B8%8E%E6%B8%B8%E8%AE%B0/"/>
    
    <category term="OI/XCPC" scheme="http://kqp.world/categories/OI-XCPC/"/>
    
    
  </entry>
  
  <entry>
    <title>LoveLive 小组甲子园 + 横滨镰仓乱逛</title>
    <link href="http://kqp.world/koushien/"/>
    <id>http://kqp.world/koushien/</id>
    <published>2024-03-12T13:59:57.000Z</published>
    <updated>2026-06-24T09:18:36.540Z</updated>
    
    <content type="html"><![CDATA[<p>  2023 下半年几乎接连地宣布了异次元歌合战和 LoveLive 小组甲子园。后者虽规模不如前者（前者 108 人东蛋两天唱了 100 首），但作为 LL 自己的拼盘，更适合 LL 单推~~（对外单推，对内 dd）~~，并且最重要的是，水雪虹星日莲，消失三年的雪雪、消失两年的 sunnypa，堂堂复活。一个完成现地水水的愿望、附带现地所有现役 LL 团体的大好机会，出现了。</p><span id="more"></span><p>  物是人非，把这个消息转发给以前漫展认识的雪雪哥，他却已经退坑了。。。</p><p>  十月抢了 uo 的特价机票。必须吐槽一下我千叶飞羽田、横滨飞成田的骚操作（x</p><center><img src="/koushien/airport.jpg" class="" width="190"><br/>UO 老母的特价机票，千叶飞羽田，横滨飞成田<br/><br/></center><p>  一月跟屁兄抽选。大家都不喜欢小组 live，只有我跟屁兄同行。一张星碟拿下两天 4 张票，对于买水 bd 抽的人实在是嘲讽。<br>  开票，day1 七楼，day2 五楼。<br>  我：？？？？？？？？？？？？？？？？？？？？？？？？？？<br>  最速先行抽选，居然能开出山顶位来，太幽默了。<br>  香港群的人抽个一般抽选也是七楼，对于我们实在是嘲讽。<br>  后来听说还有抽水 bd 的比我们更后，对于他们实在是嘲讽到死。</p><p>  其实物是人非的不仅有雪雪哥，还有我。对于 live 的准备几乎是没有，不背 call 谱，不 トキメキ，出发前一周仍然是完全的工作状态，要不是突然收到了颜认证通知，都意识不到下周就要出发了。<br>  一方面固然是熟练了远征，也就没什么要特别准备的，但根本来说还是我的生活已经变化了，像个大人一样在工作，有读不完的 paper 想不完的题，逐渐把トキメキ的来源迁到 npy 身上，有更想关心和陪伴的人。</p><center><img src="/koushien/%E5%87%BA%E5%8F%91.jpg" class="" width="190"><br/>也还是要做个出发的样子吧<br/><br/></center><h2 id="出发">出发</h2><p>  史上第一次出门没带充电器。</p><p>  前几天也是史上第一次上学忘带校卡，我觉得我老了。</p><p>  于是一路上全无奔向旅途的期待，满是焦虑。飞机上不敢看缓存好的 b 站视频，只得继续想题。因祸得福，在飞机上想出了<a href="/graphpoly/" title="图论多项式(Graph Polynomials)">色多项式在 -1 处的值等于 acyclic orientation 的组合意义解释</a>。</p><center><img src="/koushien/%E6%88%90%E7%94%B01.jpg" class="" width="330"><img src="/koushien/%E6%88%90%E7%94%B02.jpg" class="" width="330"><img src="/koushien/%E6%88%90%E7%94%B03.jpg" class="" width="330"><br/>虹 ova 开头迎接步梦归来放炮的地方<br/><br/></center><p>  <s>上次去羽田为什么会忘记巡礼虹 2 米娅追岚珠的地方啊啊啊</s></p><p>  成田机场买到了 1000jpy 的插头，顿时焦虑全无。<br>  坐泡芙哥推荐的<a href="https://tyo-nrt.com/cn">又快又便宜的机场巴士</a>到东京站，解锁了新的交通方式。成田巴士到东京站再转 JR 去横滨，全程 1.5h（巴士直飞高速只用 70min，再转 JR 20min）不到 2000jpy，吊打京成线、skyliner。<br>  老规矩，落地第一餐，必须是拉面。这个是在东京站地下街吃的，1300jpy，汤巨浓。</p><center><img src="/koushien/%E5%90%831.jpg" class="" width="330"><br/>东京站地下街的拉面<br/><br/></center><p>  订的公寓式酒店，自助 check in，无人的。我搜 Yokohama Central Hotel，只跳出个 セントラルホステル横浜，我就一路去了哪儿。</p><center><img src="/koushien/%E9%85%92%E5%BA%970.jpg" class="" width="190"><br/>セントラルホステル横浜，第二天早上补拍<br/><br/></center><p>  三楼接待处关着门，我上五楼我的房间打不开门，还在楼道里把路过的穿着睡衣的女人吓了一跳。<br>  回去敲开了接待处的门，里面的大哥哥说这里不是酒店。我顿时懵逼，但也只得道歉并连忙退出去。<br>  风中凌乱 20 分钟。。。<br>  直到房东发来消息，我才意识到，这里是 hostel，不是 hotel。。。差了一个 s。。。<br>  我就这么误闯了居民楼。。。</p><p>  再走 20min，11 点多才到了正确的酒店。<br>  这家还是相当舒适的，双床，有厨房洗衣机和阳台，折合下来 660hkd 一晚。楼下一片是食街<s>和无料案内所</s>。</p><center><img src="/koushien/%E9%85%92%E5%BA%971.jpg" class="" width="330"><img src="/koushien/%E9%85%92%E5%BA%972.jpg" class="" width="330"><img src="/koushien/%E9%85%92%E5%BA%973.jpg" class="" width="330"><br/>Yokohama Central Hotel，一个相当舒服的公寓式酒店<br/><br/></center><p>  而且很日式，不给一次性拖鞋，要进门脱鞋，房里严禁穿鞋。<br>  一次性牙刷居然还不带牙膏。我还寻思给牙刷不给牙膏是什么骚操作，还打算第二天出去便利店买一管，结果拆开牙刷包装一看，牙膏是已经挤好在牙刷头里了。。。（妙啊</p><h2 id="随便逛逛横滨镰仓">随便逛逛横滨镰仓</h2><p>  day1 的白天就在横滨逛了，横滨一带的巡礼我只知道虹有些许场景，所以还是随便逛逛就好，先去大名鼎鼎中华街，再沿海边走到会场，去横滨站跟屁兄汇合。</p><center><img src="/koushien/%E6%A8%AA%E6%BB%A84.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A85.jpg" class="" width="190"><img src="/koushien/%E6%A8%AA%E6%BB%A85_1.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A83.jpg" class="" width="330"><br/>酒店往车站路上的小公园，有几棵樱花树开得很漂亮，一个老头儿在这油画写生<br/><br/><img src="/koushien/%E5%90%833.jpg" class="" width="190"><img src="/koushien/%E5%90%834.jpg" class="" width="190"><br/>山梨白桃天下第一，集齐白桃味和草莓味，下次尝试找找葡萄味<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A82.jpg" class="" width="330"><br/>虹 2 合宿回出现过的 Yokohama Stadium<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A8%E4%B8%AD%E5%8D%8E%E8%A1%971.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A8%E4%B8%AD%E5%8D%8E%E8%A1%972.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A8%E4%B8%AD%E5%8D%8E%E8%A1%973.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A8%E4%B8%AD%E5%8D%8E%E8%A1%974.jpg" class="" width="330"><br/>横滨中华街<br/><br/></center><p>  中华街的菜单，中国人就不要看了。。。自找无趣属于是。<br>  这里的中华料理大致就三类：鲍参翅肚、包子馒头、杏仁豆腐。不太懂为什么家家都卖杏仁豆腐，真这么喜欢往豆腐里加杏仁吗？<br>  火锅好像仅有一家。<br>  偶尔有几家餐厅的菜牌里有炒菜，有些麻婆豆腐之类的，品类很少，而且也是典型的出圈到日本的那几样。<br>  家家门前都有摆个冰糖草莓架子，但都是塑料的，假的。<br>  倒是靠近临善门的地方有很香的糖炒栗子味，但是找不到哪儿卖糖炒栗子。</p><center><img src="/koushien/%E6%A8%AA%E6%BB%A86.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A87.jpg" class="" width="330"><br/>虹 2 打排球的公园，ksks 和小静子吃爱姐波饼<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A810.jpg" class="" width="330"><br/>红砖仓库，里面是个商场（注意 sif 里的红砖仓库是函馆的，不是横滨的）<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A81.jpg" class="" width="330"><img src="/koushien/%E6%A8%AA%E6%BB%A88.jpg" class="" width="330"><br/>横滨多见红砖建筑，酒店附近的关内站也是红砖风格<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A89.jpg" class="" width="330"><br/>横滨的海湾<br/><br/><img src="/koushien/live7.jpg" class="" width="330"><br/>远远就看到了黑压压的场贩队<br/><br/><img src="/koushien/%E6%A8%AA%E6%BB%A811.jpg" class="" width="330"><br/>横滨站<br/><br/></center><p>  屁兄是松屋之王，没人比他更懂松屋。所以这两天多数的餐都是他带我吃松屋，由此体验了一把日本平民饮食，彻底改变了我对于日本餐饮物价贵的看法。（事实上在酒店附近的食街转一圈，明白了其实 1000jpy 以内的选择还是很多很多的，这么一来其实比香港都便宜，香港想找 50hkd 以内的都还难呢）</p><center><img src="/koushien/%E5%90%835.jpg" class="" width="330"><img src="/koushien/%E5%90%836.jpg" class="" width="330"><br/>屁兄带着我吃了 4 顿松屋，早中晚、堂食外卖都有了，这是其中两餐<br/><br/></center><p>  想着横滨离镰仓近，于是 day2 拉上屁兄南下镰仓。同样也只是随便逛逛，巡礼也只知道几处虹。<br>到了才被兄弟提醒，忘记提前预习侑散步镰仓篇了。。。也没有提前把虹 2 璃奈的巡礼 app 的地点标定下来。如果有下次，我必按璃奈的 app 跑一回定向越野。</p><center><img src="/koushien/%E9%95%B0%E4%BB%931.jpg" class="" width="330"><br/>镰仓站<br/><br/><img src="/koushien/%E9%95%B0%E4%BB%932.jpg" class="" width="330"><br/>通往鹤冈八幡宫的小町通，虹 2 合宿回找猫的地方，侑散步也在这里逛，有各种各样不错的店<br/><br/><img src="/koushien/%E9%95%B0%E4%BB%933.jpg" class="" width="330"><img src="/koushien/%E9%95%B0%E4%BB%934.jpg" class="" width="330"><img src="/koushien/%E9%95%B0%E4%BB%935.jpg" class="" width="330"><br/>鹤冈八幡宫<br/><br/><img src="/koushien/%E9%95%B0%E4%BB%936.jpg" class="" width="330"><br/>小町通东边的樱花大道，如果樱花开了这里就会超级美<br/><br/><img src="/koushien/%E9%95%B0%E4%BB%937.jpg" class="" width="330"><img src="/koushien/%E9%95%B0%E4%BB%938.jpg" class="" width="330"><img src="/koushien/%E9%95%B0%E4%BB%939.jpg" class="" width="330"><br/>静子家，是乡绅官邸啊。。。<br/><br/><img src="/koushien/%E9%95%B0%E4%BB%9310.jpg" class="" width="330"><img src="/koushien/%E9%95%B0%E4%BB%9311.jpg" class="" width="190"><br/>静子家往镰仓站路上的日本乡村道路<br/><br/></center>&emsp;&emsp;静子家比较偏僻，是鲜有人访问的乡村，因此才能“曲径通幽处，禅房花木深”。只有偶尔两三个身上挂着趴趴的人来到这里。&emsp;&emsp;我不禁想一个问题，**脱离了动漫的指引，我能靠自己找到这种静谧悠然的地方吗？**<center><img src="/koushien/%E5%90%837.jpg" class="" width="330"><br/>镰仓站附近的一家餐厅<br/><br/></center><h2 id="Live">Live</h2><center><img src="/koushien/live4.jpg" class="" width="330"><br/>会场门口的人群，在摆摊交换吧唧<br/><br/></center>&emsp;&emsp;穿过横滨站前往会场，已经感受到了人潮。既然官方都发帖劝退排场贩，我们就直接入场了。&emsp;&emsp;果然 Kーアリーナ 不容小觑，连拍花篮都十分费劲，拍花篮的队堪比小 live 的场贩队。。。&emsp;&emsp;最速先行上山（x<center><img src="/koushien/live1.jpg" class="" width="330"><img src="/koushien/live3.jpg" class="" width="330"><img src="/koushien/live5.jpg" class="" width="330"><br/>p1、p2 是 day1 座位，p3 是 day2 座位<br/><br/></center><p>  山顶无限好风光（大雾<br>  好处在于离解说台近，能看侑酱。</p><center><img src="/koushien/live2.jpg" class="" width="330"><br/>day1 座位广角，可以看到解说台<br/><br/><img src="/koushien/live6.jpg" class="" width="190"><br/>七楼外面有官方卖望远镜，好笑程度 +1000<br/><br/></center>&emsp;&emsp;两天一起写了。&emsp;&emsp;以甲子园为标题的 live，营造了非常浓厚的运动会氛围。搞解说台，运动员入场，选手宣誓，每个小组出场叫“x 回表”“x 回里”，bgm 是大阪桐荫的经典甲子园应援 bgm，观众喊的是甲子园的应援词，安可改叫延长战。<blockquote><p>「かっせかっせかっせ、かっせかっせかっせ、かっ飛ばせ、ｘｘｘ！」</p></blockquote><p>  跟着喊几回，仿佛我就在看甲子园。<br>  每个小组有两首完整版歌曲，还要加 secret 和延长战，整个 live 也是很紧凑的。每个小组在有限的时间里，依然带来了巨大的惊喜。<br>  莲团还是很新的团，但是竟然几乎大家都会她们的 call，而且很激烈，即便她们的 call 又多又复杂。观众里莲厨比例一定不输水虹星，甚至可能超过，喊 call 的气势和开大闪的密度比虹和星都高不少。day2 从侧边看全场，每次莲歌到最后一段，燃起大闪的火海，都仿佛 snow halation 一般。然而我几乎不熟莲的歌，比较享受的只有 cb 的水彩世界和 holiday，简简单单小甜蜜如同结婚曲。其他俩组的歌其实略微灾难，都是现场难度很高而声优又无系统声乐培训，加之使用角色音，百分百唱得歪七扭八，也无歌词之雅和背景之深可赏。<br>  星每个组只有两首歌，半年唱第三次了，于我却是第一次听 catchu 和 55 的现场。dancing dancing rasberry 的旋律和编舞实在是动感，很想跟跳副歌像原地踏步一样的动作。差点认不出 sayu，她头发比以前都要凌乱，更符合影游的忧伤矛盾的情调了。k 组无论看多少次都觉得优雅。secret 发新歌给人一种强推星的感觉，可能是全场最迷惑的环节。（UPD：JJJJelly Fish!!!!!!!!!）<br>  虹小组这次是中规中矩，星无歌可换，怎么你虹也跟着不换。Azuna 的 blue 固然上乘，置人于美丽的海洋深处，但是还有这么多激烈的、可爱的、帅的，只展示这么两首。dd 也不换歌，奈酱都亲上未梦了，也不来点更激进的恋爱曲。r3 的魔爪女孩喊不了“捞捞捞捞”“辣炒米粉”等中国限定 call，居然有点不适应（x）。唯有 q4 换了歌，给观众更多的享受，day2 唱了荡秋千曲，左右扭动的舞姿，和轻盈摇荡的秋千，都让心情随风飘荡。但是整活还是虹强，secret 带大家做广播体操，延长战又跳健身操，把鲤鱼都给整八达岭了。我也是第一次体验健身操，真的可以玩得很嗨很嗨。<br>  只有水的应援气势可以跟莲一比，只有水是另一个几乎全员都会 call 的团体。如果莲的应援是粉丝对于新曲和复杂 call 的狂欢，那么水的应援则是往昔峥嵘岁月之忆的爆发，她们把时光拉回几年前，所有人都在，水还是浦女时稚嫩的水，雪还是冷酷闪耀的雪。雪穿着警服网袜的 believe again，震耳欲聋，带着 3 年归来的感动。我带着虾笼一单曜趴，台上是咻卡穿着虾笼一单唱夜空知晓一切，三个睡不着觉的孩子，就抱在我怀中。夜空全曲我举着趴趴，好似举着天线要跟咻卡产生对应信号。GK 的舞台还是会喷火，草莓猎人的火燃到今天。仍记得 2022 年萤火虫在偶像舞台看 shooting star warrior，今天同样的歌曲同样的服装，coser 却升级成了声优，有一种进化的感觉。AZALEA 再穿出了二单的粉色小天使服，姐姐的眼妆还是那么可爱，唯二的遗憾一是穿了小组专的衣服却没跳凤凰舞，二是某些歌曲永远的二缺一。</p><center><img src="/koushien/qqchat.jpg" class="" width="190"><br/>感谢群友的好奶<br/><br/></center><p>  可以说，水和雪是我整场的振奋之源。2017 开始厨水，却在 7 年后才第一次现地水。以前总是忧伤我错过了很多黄金时段，一些动画名曲、重要意义的单曲，被深深刻在以前的数字 live 里，成为一个时代的专属。疫情以来一些歌曲得到回滚，得以线上观影，当时已觉至善。但没想到还能有今天，从 day1 的 believe again、草莓猎人、夜空知晓、待爱，到 day2 的近未来、银河躲猫猫、脆弱易碎，本应是水的 secret 打出了 Saint Aqours Snow，6 年之别的 ATP 把全场氛围带到巅峰。我像是拥有了一张时光入场券，回到17~19 年，解锁一段回忆。<br>  带了跨年棒，也合唱了跨年曲，我确信我进入了正确的时空。<br>  即使是感冒初愈，说好象征性喊喊就好，两天下来喉咙还是哑了。<br>  即便在山顶，也想要观察更多的细节。最方便看到的就是解说台，真的可以看到 hnk 全程有在挥棒子、切颜色。mc 和跨年曲大家站成一条线的时候，总是可以看到一边在唱歌和说话时另一边在贴贴。当遇到 k 组、catchu 那些富有情感的歌，仍然要多看看屏幕，欣赏表情。<br>  只恨没有背下来水世界的 call 谱。喊 call 是更投入、更有参与感的方式，一首热烈的歌一半是来自应援氛围，跟上一起喊了才会感受到这是大家一起完成的歌曲。近未来不会喊，能把我愧疚一整场；而 ATP 的“hi hi hi”、健身操的“全速 dreamer”、虹 op2 的“いくよせーの”喊出来了，就能感觉我也是组成烈焰的星火。</p><p>  从异次元歌合战尝到了甜头，破企划终于学会了搞跨团唱歌。<br>  可能还要等 LoveLive 再壮大一段时间，才更适合合唱 sunny day song，这首学园偶像之集大成者，寓意聚天下学园偶像于一堂，共递学园偶像之快乐。</p><h2 id="end">end</h2><p>  想玩久一点，但是真的已经是个大人了，有事做的大人，回去之后三天内要写完论文初稿，还有一堆要读的文章。<br>  充分享受过后，总要回归忙碌的生活。但一定不妨碍美好的回忆生根发芽，在以后回想起忙里偷闲的幸福，和愿望一步步实现的满足。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  2023 下半年几乎接连地宣布了异次元歌合战和 LoveLive 小组甲子园。后者虽规模不如前者（前者 108 人东蛋两天唱了 100 首），但作为 LL 自己的拼盘，更适合 LL 单推~~（对外单推，对内 dd）~~，并且最重要的是，水雪虹星日莲，消失三年的雪雪、消失两年的 sunnypa，堂堂复活。一个完成现地水水的愿望、附带现地所有现役 LL 团体的大好机会，出现了。&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>图论多项式(Graph Polynomials)</title>
    <link href="http://kqp.world/graphpoly/"/>
    <id>http://kqp.world/graphpoly/</id>
    <published>2024-03-08T15:32:40.000Z</published>
    <updated>2026-06-24T09:18:36.530Z</updated>
    
    <content type="html"><![CDATA[<p>  在 Weighted First-Order Model Counting (WFOMC) 的题目中经常用到图论多项式，所以学了一些东西，整理一下。</p><span id="more"></span><h2 id="色多项式-Chromatic-Polynomial">色多项式(Chromatic Polynomial)</h2><p>  这应该算是最简单的一种图论多项式了。</p><p>  我们用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mo>=</mo><mo stretchy="false">(</mo><mi>V</mi><mo separator="true">,</mo><mi>E</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">G = (V,E)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mclose">)</span></span></span></span> 表示一个无向图，其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∣</mi><mi>V</mi><mi mathvariant="normal">∣</mi><mo>=</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">|V| = n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mord">∣</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>。然后我们用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi><mo>=</mo><mo stretchy="false">(</mo><mi>V</mi><mo separator="true">,</mo><mi>E</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">D = (V,E)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mclose">)</span></span></span></span> 表示一个有向图。<br>  我们可以定义各种各样的色多项式：</p><ul><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示无向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的色多项式，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色、使得任意一条边的两点颜色不同的方案数；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar \chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示有向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的非严格色多项式，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色、使得若有边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>→</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u \to v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>≤</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>v</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">color(u) \le color(v)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mclose">)</span></span></span></span> 的方案数；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示有向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的严格色多项式，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色、使得若有边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>→</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u \to v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>&lt;</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>v</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">color(u) &lt; color(v)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mclose">)</span></span></span></span> 的方案数。</li></ul><p>  以下这几个不算是多项式，但也是很有用的概念：</p><ul><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>χ</mi><mi>G</mi><mo>∗</mo></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi^*_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0253em;vertical-align:-0.2753em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-2.4247em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2753em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的精确染色方案数（英文喜欢称为 surjective 满射），当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示恰好用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色（即颜色 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">1, \cdots, x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.1944em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">x</span></span></span></span> 每种至少被用一次）、使得任意一条边的两点颜色不同的方案数；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi><mo>∗</mo></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar \chi^*_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0253em;vertical-align:-0.2753em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-2.4247em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2753em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示有向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的精确非严格染色方案数，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示恰好用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色、使得若有边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>→</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u \to v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>≤</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>v</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">color(u) \le color(v)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mclose">)</span></span></span></span> 的方案数；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>χ</mi><mi>D</mi><mo>∗</mo></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi^*_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0253em;vertical-align:-0.2753em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-2.4247em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2753em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示有向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的精确严格染色方案数，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为正整数时，它表示恰好用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 种颜色给点染色、使得若有边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>→</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u \to v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>u</mi><mo stretchy="false">)</mo><mo>&lt;</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>v</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">color(u) &lt; color(v)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">u</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="mclose">)</span></span></span></span> 的方案数。</li></ul><p>  为什么精确的这几个不是多项式呢？因为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>&gt;</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">x &gt; n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 时它们的值都为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>，这定义不出有限度数的多项式。那一开始的三个为什么是有限度数的呢？因为显然有：</p><blockquote><p><em>Lemma 1.</em> (精确染色方案数和色多项式的关系)</p></blockquote><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable width="100%"><mtr><mtd width="50%"></mtd><mtd><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>χ</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mi>x</mi><mi>i</mi></mfrac><mo fence="true">)</mo></mrow><msup><mi>χ</mi><mo>∗</mo></msup><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><mrow><mi>x</mi><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>⋯</mo><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mrow><mi>i</mi><mo stretchy="false">!</mo></mrow></mfrac><msup><mi>χ</mi><mo>∗</mo></msup><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mtd><mtd width="50%"></mtd><mtd><mtext>(1)</mtext></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}\chi(x) &amp;= \sum_{i=1}^n \binom{x}{i} \chi^*(i) \\&amp;= \sum_{i=1}^n \frac{x(x-1) \cdots (x-i+1)}{i!} \chi^*(i).\end{aligned} \tag{1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:6.1581em;vertical-align:-2.8291em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.3291em;"><span style="top:-5.3291em;"><span class="pstrut" style="height:3.6514em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span><span style="top:-2.1em;"><span class="pstrut" style="height:3.6514em;"></span><span class="mord"></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.8291em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.3291em;"><span style="top:-5.3291em;"><span class="pstrut" style="height:3.6514em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6514em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size3">(</span></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.1076em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">i</span></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size3">)</span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7387em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span></span></span><span style="top:-2.1em;"><span class="pstrut" style="height:3.6514em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6514em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.427em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">i</span><span class="mclose">!</span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord">1</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7387em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.8291em;"><span></span></span></span></span></span></span></span></span><span class="tag"><span class="strut" style="height:6.1581em;vertical-align:-2.8291em;"></span><span class="mord text"><span class="mord">(</span><span class="mord"><span class="mord">1</span></span><span class="mord">)</span></span></span></span></span></span></p><p>  这个就可以用来说明色多项式都是关于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 次多项式，并且 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 次项的系数是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mrow><msup><mi>χ</mi><mo>∗</mo></msup><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac></mrow><annotation encoding="application/x-tex">\frac{\chi^*(n)}{n!}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3643em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0193em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mclose mtight">!</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.485em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">χ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7633em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">)</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>。</p><p>  色多项式的美妙之处在于它在负数点处的取值。负数点值的意义并不显然，但是能表示重要的组合意义。举两个例子。</p><h3 id="有向图色多项式的负数点">有向图色多项式的负数点</h3><blockquote><p><em>Lemma 2.</em> 记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mi>c</mi><mi>y</mi><mi>c</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">acyc(D)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0359em;">cy</span><span class="mord mathnormal">c</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 缩环之后得到的 DAG，记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∣</mi><mi>V</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>y</mi><mi>c</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mi mathvariant="normal">∣</mi></mrow><annotation encoding="application/x-tex">|V(acyc(D))|</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0359em;">cy</span><span class="mord mathnormal">c</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="mclose">))</span><span class="mord">∣</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mi>c</mi><mi>y</mi><mi>c</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">acyc(D)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">a</span><span class="mord mathnormal" style="margin-right:0.0359em;">cy</span><span class="mord mathnormal">c</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="mclose">)</span></span></span></span> 的点数。对于任意 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">x \in \mathbb R</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6889em;"></span><span class="mord mathbb">R</span></span></span></span>，</p></blockquote><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>D</mi><mtext> is acyclic,</mtext></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mtext>otherwise,</mtext></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi mathvariant="normal">∣</mi><mi>V</mi><mo stretchy="false">(</mo><mi>a</mi><mi>c</mi><mi>y</mi><mi>c</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mi mathvariant="normal">∣</mi></mrow></msup><msub><mi>χ</mi><mrow><mi>a</mi><mi>c</mi><mi>y</mi><mi>c</mi><mo stretchy="false">(</mo><mi>D</mi><mo stretchy="false">)</mo></mrow></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}\chi_D(x) &amp;= \begin{cases}    (-1)^n \bar \chi_D(-x), &amp; D \text{ is acyclic,} \\    0, &amp; \text{otherwise,}    \end{cases} \\\bar \chi_D(x) &amp;= (-1)^{|V(acyc(D))|} \chi_{acyc(D)}(-x).\end{aligned}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:4.598em;vertical-align:-2.049em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.549em;"><span style="top:-4.549em;"><span class="pstrut" style="height:3.75em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span><span style="top:-2.061em;"><span class="pstrut" style="height:3.75em;"></span><span class="mord"><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.049em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:2.549em;"><span style="top:-4.549em;"><span class="pstrut" style="height:3.75em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size4">{</span></span><span class="mord"><span class="mtable"><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mpunct">,</span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord">0</span><span class="mpunct">,</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:1em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">D</span><span class="mord text"><span class="mord"> is acyclic,</span></span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord text"><span class="mord">otherwise,</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span><span style="top:-2.061em;"><span class="pstrut" style="height:3.75em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∣</span><span class="mord mathnormal mtight" style="margin-right:0.2222em;">V</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">a</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">cy</span><span class="mord mathnormal mtight">c</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span><span class="mclose mtight">))</span><span class="mord mtight">∣</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.5198em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">a</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">cy</span><span class="mord mathnormal mtight">c</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span><span class="mclose mtight">)</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3552em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.049em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p>  也就是说，如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 是个 DAG，那么负数点的意义就是把严格转化为非严格、把非严格转化为严格；而如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 是有环的，那么从非严格转化为严格的过程会缩环，从严格转化为非严格的过程会过滤掉有环图。</p><p>  证明至少有两种。以下我们只需证明 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 为 DAG 时的情况就好了。</p><ul><li>证明 1：</li></ul><p>  来自 [AB20]，从几何来理解。<br>  把颜色序列 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo separator="true">,</mo><mo>⋯</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">color(1), \cdots color(n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord">1</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 理解为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 维空间的一个点。当只允许 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">color(i) \in \{0,1\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">}</span></span></span></span> 时，记所有可行点组成的多面体为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord">Π</span></span></span></span>，如果允许 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>x</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">color(i) \in \{0,1,\cdots,x\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">x</span><span class="mclose">}</span></span></span></span>，则该多面体变成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">x\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">x</span><span class="mord">Π</span></span></span></span>（即边界的每个点每一维坐标乘上 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>）。<br>  我们可以发现 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">(x+1)\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose">)</span><span class="mord">Π</span></span></span></span> 的内部整点（不含边界）数量（注意这只在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 为 DAG 时成立），而 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar \chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">(x-1)\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose">)</span><span class="mord">Π</span></span></span></span> 的整点数量。记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi mathvariant="normal">Π</mi></msub></mrow><annotation encoding="application/x-tex">E_{\Pi}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">Π</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord">Π</span></span></span></span> 的 Ehrhart's Polynomial（即 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi mathvariant="normal">Π</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">E_{\Pi}(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">Π</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mi mathvariant="normal">Π</mi></mrow><annotation encoding="application/x-tex">x\Pi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">x</span><span class="mord">Π</span></span></span></span> 的整点数量）。关于 Ehrhart's Polynomial 有一个性质是：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>E</mi><mi mathvariant="normal">Π</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><mo stretchy="false">(</mo><mi>x</mi><mi mathvariant="normal">Π</mi><mtext> 的内部整点数</mtext><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">E_{\Pi}(-x) = (-1)^n (x\Pi\text{ 的内部整点数}).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">Π</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mord">Π</span><span class="mord text"><span class="mord"> </span><span class="mord cjk_fallback">的内部整点数</span></span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><p>  因此</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mi>E</mi><mi mathvariant="normal">Π</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\chi_D(x) = (-1)^n E_{\Pi}(-x-1) = (-1)^n \bar\chi_D(-x).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">Π</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><ul><li>证明 2：</li></ul><p>  来自 [Sta70]，纯组合意义证明。<s>所以几乎被我不看论文自己脑补出来了</s><br>  我们先给 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的节点重新标号，使得如果有边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>→</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u \to v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">→</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 那么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>&lt;</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u&lt;v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">u</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span>。我们知道这样的标号方法肯定存在，而且不影响 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar\chi_D(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span>，因为它们与点标号无关。这样做是为了方便下面使用拓扑序。<br>  下面介绍一种非严格染色方案到拓扑序的映射：每次在入度为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 的点里找颜色最小的，如果有多个点就选标号最小的点，执行 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 次就得到了一个拓扑序。<br>  那么对于一个拓扑序 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>t</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">t_1, \cdots, t_n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8095em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>，它包含的非严格染色方案如下：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>i</mi><mo>&gt;</mo><mn>1</mn><mo separator="true">,</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mo>≤</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>&lt;</mo><msub><mi>t</mi><mi>i</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mo>&lt;</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>&gt;</mo><msub><mi>t</mi><mi>i</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\forall i&gt;1, \begin{cases}color(t_{i-1}) \le color(t_i), &amp; t_{i-1} &lt; t_i, \\color(t_{i-1}) &lt; color(t_i), &amp; t_{i-1} &gt; t_i.\end{cases}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord">∀</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:3em;vertical-align:-1.25em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size4">{</span></span><span class="mord"><span class="mtable"><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:1em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></p><p>  同理，定义一种严格染色方案到拓扑序的映射：每次在入度为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 的点里找颜色最小的，如果有多个点就选标号最大的点，执行 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 次就得到了一个拓扑序。那么对于一个拓扑序 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>t</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">t_1, \cdots, t_n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8095em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>，它包含的严格染色方案如下：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>i</mi><mo>&gt;</mo><mn>1</mn><mo separator="true">,</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mo>&lt;</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>&lt;</mo><msub><mi>t</mi><mi>i</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo><mo>≤</mo><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi><mo stretchy="false">(</mo><msub><mi>t</mi><mi>i</mi></msub><mo stretchy="false">)</mo><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>&gt;</mo><msub><mi>t</mi><mi>i</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\forall i&gt;1, \begin{cases}color(t_{i-1}) &lt; color(t_i), &amp; t_{i-1} &lt; t_i, \\color(t_{i-1}) \le color(t_i), &amp; t_{i-1} &gt; t_i.\end{cases}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord">∀</span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:3em;vertical-align:-1.25em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size4">{</span></span><span class="mord"><span class="mtable"><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathnormal">co</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0278em;">or</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mpunct">,</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:1em;"></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.69em;"><span style="top:-3.69em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span></span></span><span style="top:-2.25em;"><span class="pstrut" style="height:3.008em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.19em;"><span></span></span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></p><p>  记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>s</mi></msub></mrow><annotation encoding="application/x-tex">w_s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0269em;">w</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 表示有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 对相邻元素满足 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>&lt;</mo><msub><mi>t</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">t_{i-1}&lt;t_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8234em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7651em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 的拓扑序数量，则有</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>s</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><msub><mi>w</mi><mi>s</mi></msub><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mi>x</mi><mo>+</mo><mi>s</mi></mrow><mi>n</mi></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>s</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></munderover><msub><mi>w</mi><mi>s</mi></msub><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mi>x</mi><mo>−</mo><mi>s</mi><mo>+</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow><mi>n</mi></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}\chi_D(x) &amp;= \sum_{s=0}^{n-1} w_s \binom{x+s}{n}, \\\bar\chi_D(x) &amp;= \sum_{s=0}^{n-1} w_s \binom{x-s+n-1}{n}.\end{aligned}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:6.4365em;vertical-align:-2.9682em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.4682em;"><span style="top:-5.4682em;"><span class="pstrut" style="height:3.8011em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span><span style="top:-2.1em;"><span class="pstrut" style="height:3.8011em;"></span><span class="mord"><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.9682em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:3.4682em;"><span style="top:-5.4682em;"><span class="pstrut" style="height:3.8011em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.8011em;"><span style="top:-1.8829em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="mrel mtight">=</span><span class="mord mtight">0</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2671em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0269em;">w</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size3">(</span></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2603em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size3">)</span></span></span><span class="mpunct">,</span></span></span><span style="top:-2.1em;"><span class="pstrut" style="height:3.8011em;"></span><span class="mord"><span class="mord"></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.8011em;"><span style="top:-1.8829em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="mrel mtight">=</span><span class="mord mtight">0</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2671em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0269em;">w</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0269em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size3">(</span></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3214em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">n</span></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size3">)</span></span></span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.9682em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p>  因此有</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bar \chi_D(-x) = (-1)^n \chi_D(x).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><h3 id="无向图色多项式的负数点">无向图色多项式的负数点</h3><p>  关键就是要发现 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 等价于先给 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 无环定向然后给点染色使得如果有边从 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 那么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 的颜色小于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 的颜色的方案数，即</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>D</mi><mtext> 是 </mtext><mi>G</mi><mtext> 的无环定向 </mtext></mrow></munder><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\chi_G(x) = \sum_{D \text{ 是 }G\text{ 的无环定向 }} \chi_D(x).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.3443em;vertical-align:-1.2943em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.8557em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span><span class="mord text mtight"><span class="mord mtight"> </span><span class="mord cjk_fallback mtight">是</span><span class="mord mtight"> </span></span><span class="mord mathnormal mtight">G</span><span class="mord text mtight"><span class="mord mtight"> </span><span class="mord cjk_fallback mtight">的无环定向</span><span class="mord mtight"> </span></span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2943em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><p>  比较容易理解，因为无向图每一种染色方案都唯一对应一种无环定向方案，枚举每一种无环定向然后严格染色就可以得到所有原来的染色方案。<br>  所以负数点的意义，结合 Lemma 2 就是</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable width="100%"><mtr><mtd width="50%"></mtd><mtd><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>D</mi><mtext> 是 </mtext><mi>G</mi><mtext> 的无环定向 </mtext></mrow></munder><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow></mtd><mtd width="50%"></mtd><mtd><mtext>(2)</mtext></mtd></mtr></mtable><annotation encoding="application/x-tex">\chi_G(-x) = \sum_{D \text{ 是 }G\text{ 的无环定向 }} \bar \chi_D(x). \tag{2}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.3443em;vertical-align:-1.2943em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.8557em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span><span class="mord text mtight"><span class="mord mtight"> </span><span class="mord cjk_fallback mtight">是</span><span class="mord mtight"> </span></span><span class="mord mathnormal mtight">G</span><span class="mord text mtight"><span class="mord mtight"> </span><span class="mord cjk_fallback mtight">的无环定向</span><span class="mord mtight"> </span></span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2943em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span><span class="tag"><span class="strut" style="height:2.3443em;vertical-align:-1.2943em;"></span><span class="mord text"><span class="mord">(</span><span class="mord"><span class="mord">2</span></span><span class="mord">)</span></span></span></span></span></span></p><h3 id="应用——无向图的无环定向-Acyclic-Orientation">应用——无向图的无环定向(Acyclic Orientation)</h3><p>  记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>G</mi></msub></mrow><annotation encoding="application/x-tex">a_G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 表示给定一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个点的无向图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span>，给每条边定向使得该图无环的方案数。</p><blockquote><p><em>Lemma 3.</em> <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>G</mi></msub><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">a_G = (-1)^n \chi_G(-1).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></p></blockquote><p>  证明多种多样，甚至有用拟阵来证的（wiki 给的文章就是），还有胡说八道的（比如 [EG21]）……</p><ul><li>证明 1：</li></ul><p>  就给上面的 (2) 式代入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">x=1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 就好了，对于任何有向图都有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\bar \chi_D(1) = 1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，于是得出结论。</p><ul><li>证明 2：</li></ul><p>  来自 [Sta73]，不想证明直接引用的话就引用这篇。<br>  思路本质上跟证明 1 差不多，只不过他没有用到有向图色多项式，而是定义了一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar \chi_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 表示先给 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 无环定向然后给点染色使得如果有边从 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 那么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 的颜色小于等于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">v</span></span></span></span> 的颜色的方案数，然后再用结构归纳法证了一个关系：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>n</mi></msup><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bar\chi_G(x) = (-1)^n \chi_G(-x).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7144em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><p>  最后令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">x=1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar\chi_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span> 的意义就变成了无环定向数，于是就得出了 Lemma 3。</p><p>  这个结构归纳证明是挺美妙的，只不过现在懂了无向图色多项式和有向图色多项式的关系之后，就会觉得这个只是在兜圈子了。</p><ul><li>证明 3：</li></ul><p>  参考 [EG21] 自己脑补的组合意义证明。<br>  [EG21] 的 8.3、8.4 节讲的就是 acyclic orientation，给了一个长长的生成函数证明，但很可惜是错的，它提出的“等价类”的概念并不 well-defined。<br>  不过它最后的式子 (8.26) 倒是很有启发意义——通过染色方案数的容斥来得到定向方案数。</p><p>  回顾 Lemma 1，如果代入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>=</mo><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">x=-1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">−</span><span class="mord">1</span></span></span></span>，会得到</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>=</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mi>i</mi></msup><msubsup><mi>χ</mi><mi>G</mi><mo>∗</mo></msubsup><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\chi_G(-1) = \sum_{i=1}^n (-1)^i \chi^*_G(i).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.9291em;vertical-align:-1.2777em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6514em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8747em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.7387em;"><span style="top:-2.453em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span><span class="mord">.</span></span></span></span></span></p><p>  所以 Lemma 3 就变成了</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable width="100%"><mtr><mtd width="50%"></mtd><mtd><mrow><msub><mi>a</mi><mi>G</mi></msub><mo>=</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi>n</mi><mo>+</mo><mi>i</mi></mrow></msup><msubsup><mi>χ</mi><mi>G</mi><mo>∗</mo></msubsup><mo stretchy="false">(</mo><mi>i</mi><mo stretchy="false">)</mo><mi mathvariant="normal">.</mi></mrow></mtd><mtd width="50%"></mtd><mtd><mtext>(3)</mtext></mtd></mtr></mtable><annotation encoding="application/x-tex">a_G = \sum_{i=1}^n (-1)^{n+i} \chi^*_G(i). \tag{3}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.9291em;vertical-align:-1.2777em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6514em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8747em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">+</span><span class="mord mathnormal mtight">i</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.7387em;"><span style="top:-2.453em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">i</span><span class="mclose">)</span><span class="mord">.</span></span><span class="tag"><span class="strut" style="height:2.9291em;vertical-align:-1.2777em;"></span><span class="mord text"><span class="mord">(</span><span class="mord"><span class="mord">3</span></span><span class="mord">)</span></span></span></span></span></span></p><p>  这东西看着就很容斥。因为一种精确染色方案可以唯一确定一个定向方案（比如规定边的方向是从小颜色连向大颜色），所以我们证明，每一种定向方案所对应的（精确严格）染色方案中，只有一种能留下来。<br>  Recall 上面 Lemma 2 那儿用到的其中一种有向图染色方案到拓扑序的映射：不妨设 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 是个有标号图（没标号随便标一个即可），每次在入度为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 的点里选一个颜色最小的，如果有多个点就选择标号最小的。执行 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 次，这就得到了一个拓扑序。<br>  在一个定向方案的所有（精确严格）染色方案中，我们保留拓扑序字典序最大的那个，这个染色方案是唯一的，且要使用所有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 种颜色（即在 (3) 式右边系数是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>）。其余的精确染色方案必能两两对应，且正负相消。假设 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">\sigma^*</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6887em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span></span></span></span> 是拓扑序最大的染色方案，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span> 是某个拓扑序非最大的染色方案，它们的拓扑序分别为：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>t</mi><mi>o</mi><mi>p</mi><mi>o</mi><mo stretchy="false">(</mo><msup><mi>σ</mi><mo>∗</mo></msup><mo stretchy="false">)</mo><mo>=</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi>i</mi><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mo>⋯</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>t</mi><mi>o</mi><mi>p</mi><mi>o</mi><mo stretchy="false">(</mo><msup><mi>σ</mi><mn>1</mn></msup><mo stretchy="false">)</mo><mo>=</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi>j</mi><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>i</mi><mo separator="true">,</mo><mo>⋯</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}topo(\sigma^*) = \cdots, &amp;i, \cdots, \cdots \\topo(\sigma^1) = \cdots, &amp;j, \cdots, i, \cdots\end{aligned}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.7241em;vertical-align:-1.1121em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6121em;"><span style="top:-3.7721em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7387em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span></span></span><span style="top:-2.2479em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.1121em;"><span></span></span></span></span></span><span class="col-align-l"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6121em;"><span style="top:-3.7721em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"></span><span class="mord mathnormal">i</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span></span></span><span style="top:-2.2479em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"></span><span class="mord mathnormal" style="margin-right:0.0572em;">j</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">i</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.1121em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p>  其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi></mrow><annotation encoding="application/x-tex">j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.854em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0572em;">j</span></span></span></span> 所在的位置是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mi>o</mi><mi>p</mi><mi>o</mi><mo stretchy="false">(</mo><msup><mi>σ</mi><mo>∗</mo></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">topo(\sigma^*)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 与 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mi>o</mi><mi>p</mi><mi>o</mi><mo stretchy="false">(</mo><msup><mi>σ</mi><mn>1</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">topo(\sigma^1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal">t</span><span class="mord mathnormal">o</span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 从左往右第一个不同的位置。</p><p>  如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>1</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma^1_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span> 里是唯一的，则构造 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 如下：先令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup><mo>:</mo><mo>=</mo><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2 := \sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span>，然后把排在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 后面的所有点的颜色减 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，再给 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma^2_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 减 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 并将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 移到恰当的位置。如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>1</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma^1_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 不唯一，则构造 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 如下：先令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup><mo>:</mo><mo>=</mo><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2 := \sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">:=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span>，然后把颜色大于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma^2_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 的点的颜色都加 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，再给 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma^2_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 加 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 并将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 移到恰当的位置。<br>  可以发现，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 经过这套变换也会变成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span>，并且一个精确染色经过变换后仍然是最多使用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 种颜色的精确染色，所以所有非字典序最大的染色方案是两两对应的。并且，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>σ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\sigma^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 的颜色数正好差 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，所以它们正负相消。<br>  因此 (3) 式右边每一个定向方案只有一个系数为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 的精确染色被保留，所以得到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>G</mi></msub></mrow><annotation encoding="application/x-tex">a_G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>。</p><h2 id="Tutte-多项式-Tutte-Polynomial">Tutte 多项式(Tutte Polynomial)</h2><p>记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(x,y)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的 Tutte 多项式，它的其中一种定义是这样的：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>A</mi><mo>⊆</mo><mi>E</mi></mrow></munder><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>−</mo><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mi>y</mi><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>+</mo><mi mathvariant="normal">∣</mi><mi>A</mi><mi mathvariant="normal">∣</mi><mo>−</mo><mi>n</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">T_G(x,y) = \sum_{A \subseteq E} (x-1)^{cc(A) - cc(E)} (y-1)^{cc(A) + |A| - n},</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.4395em;vertical-align:-1.3895em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.8557em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">A</span><span class="mrel mtight">⊆</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.3895em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.188em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">A</span><span class="mclose mtight">)</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.188em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.938em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">A</span><span class="mclose mtight">)</span><span class="mbin mtight">+</span><span class="mord mtight">∣</span><span class="mord mathnormal mtight">A</span><span class="mord mtight">∣</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span></span><span class="mpunct">,</span></span></span></span></span></p><p>其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">cc(A)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal">A</span><span class="mclose">)</span></span></span></span> 表示图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>V</mi><mo separator="true">,</mo><mi>A</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(V,A)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">A</span><span class="mclose">)</span></span></span></span> 的连通块数。这里要求 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>0</mn><mn>0</mn></msup><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">0^0 = 1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>。</p><p>  Tutte 多项式堪称无向图的万金油，它实在有太多的意义（多数抄自 wiki，少数抄自网上课件）：</p><ul><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>2</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(2,1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">2</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 有多少子图是森林；<ul><li>因为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>−</mo><mn>1</mn><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">x-1 = 1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 所以 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>−</mo><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">(x-1)^{cc(A)-cc(E)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">A</span><span class="mclose mtight">)</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span></span></span></span> 这一项就没了，而 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>−</mo><mn>1</mn><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y-1 = 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 就要求子图必须满足 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>+</mo><mi mathvariant="normal">∣</mi><mi>A</mi><mi mathvariant="normal">∣</mi><mo>−</mo><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">cc(A)+|A|-n=0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal">A</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord mathnormal">A</span><span class="mord">∣</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>，所以是森林。</li></ul></li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(1,1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 有多少子图是生成森林（即连通块的数量与原图一致），当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 连通时表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的生成树数量；<ul><li>同理，相比森林，多要求了一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">cc(A)=cc(E)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal">A</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mclose">)</span></span></span></span>。</li></ul></li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(1,2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">2</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的生成子图数量；<ul><li>只要求 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo><mo>=</mo><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">cc(A)=cc(E)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal">A</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">cc</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mclose">)</span></span></span></span>。</li></ul></li><li>……</li></ul><p>  负数点的意义也很神奇：</p><ul><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi>n</mi><mo>−</mo><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow></msup><msup><mi>x</mi><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>E</mi><mo stretchy="false">)</mo></mrow></msup><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(-1)^{n-cc(E)} x^{cc(E)} T_G(1-x,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的色多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_G(x)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span></span></span></span>；<ul><li>证明就是左边边展开之后会变成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>A</mi><mo>⊆</mo><mi>E</mi></mrow></msub><msup><mi>x</mi><mrow><mi>c</mi><mi>c</mi><mo stretchy="false">(</mo><mi>A</mi><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mi mathvariant="normal">∣</mi><mi>A</mi><mi mathvariant="normal">∣</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\sum_{A \subseteq E} x^{cc(A)}(-1)^{|A|}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2829em;vertical-align:-0.3949em;"></span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1786em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">A</span><span class="mrel mtight">⊆</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3949em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">cc</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">A</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∣</span><span class="mord mathnormal mtight">A</span><span class="mord mtight">∣</span></span></span></span></span></span></span></span></span></span></span></span>，它就是容斥得出染色方案数。</li></ul></li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>2</mn><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(2,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">2</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的无环定向方案数；<ul><li>上式代入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>=</mo><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">x=-1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">−</span><span class="mord">1</span></span></span></span> 即得到。</li></ul></li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(0,2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">2</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的强连通定向方案数；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(1,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 的无环定向且只有一个起点的方案数（无论起点是谁），如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 不连通则是各个连通块的方案数乘起来；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>0</mn><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(0,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 判断 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 是否有边；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(-1,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">−</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 判断 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 是否是二分图；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mi>G</mi></msub><mo stretchy="false">(</mo><mn>0</mn><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">T_G(0,-1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1389em;">T</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">G</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">−</span><span class="mord">1</span><span class="mclose">)</span></span></span></span> 判断 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">G</span></span></span></span> 是否是欧拉图（存在欧拉回路）；</li><li>……</li></ul><p>  复平面点的意义也很神奇，但我不会（</p><p>  所以显然“任意给定一个无向图，求其 Tutte 多项式”或者“任意给定一个无向图和一个平面点 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x,y)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span></span></span></span>，求其 Tutte 多项式在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x,y)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span></span></span></span> 处的值”这样的问题都是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">♯</mi><mi mathvariant="sans-serif">P</mi></mrow><annotation encoding="application/x-tex">\mathsf{\sharp P}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord">♯</span><span class="mord mathsf">P</span></span></span></span></span>-hard 甚至是 complete 的。</p><h2 id="B-Polynomial">B-Polynomial</h2><p>  这个是 [AB20] 提出的 Tutte 多项式在有向图上的扩展：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>B</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>q</mi><mo separator="true">,</mo><mi>y</mi><mo separator="true">,</mo><mi>z</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>f</mi><mo>:</mo><mi>V</mi><mo>→</mo><mo stretchy="false">[</mo><mi>q</mi><mo stretchy="false">]</mo></mrow></munder><msup><mi>y</mi><mrow><mi mathvariant="normal">∣</mi><msup><mi>f</mi><mo>&gt;</mo></msup><mi mathvariant="normal">∣</mi></mrow></msup><msup><mi>z</mi><mrow><mi mathvariant="normal">∣</mi><msup><mi>f</mi><mo>&lt;</mo></msup><mi mathvariant="normal">∣</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">B_D(q,y,z) = \sum_{f: V \to [q]} y^{|f^&gt;|} z^{|f^&lt;|},</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0502em;">B</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.566em;vertical-align:-1.516em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="mrel mtight">:</span><span class="mord mathnormal mtight" style="margin-right:0.2222em;">V</span><span class="mrel mtight">→</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">q</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9842em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∣</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8161em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mrel mtight">&gt;</span></span></span></span></span></span></span></span><span class="mord mtight">∣</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.044em;">z</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9842em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∣</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8161em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mrel mtight">&lt;</span></span></span></span></span></span></span></span><span class="mord mtight">∣</span></span></span></span></span></span></span></span></span><span class="mpunct">,</span></span></span></span></span></p><p>其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span></span></span></span> 枚举的是一种点染色方案，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>f</mi><mo>&gt;</mo></msup><mo>=</mo><mo stretchy="false">{</mo><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo><mi mathvariant="normal">∣</mi><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo><mo>∈</mo><mi>E</mi><mo>∧</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>&lt;</mo><mi>f</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">f^&gt; = \{(x,y) | (x,y) \in E \land f(x) &lt; f(y)\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9348em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7404em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mrel mtight">&gt;</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mord">∣</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&lt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)}</span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>f</mi><mo>&lt;</mo></msup><mo>=</mo><mo stretchy="false">{</mo><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo><mi mathvariant="normal">∣</mi><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo><mo>∈</mo><mi>E</mi><mo>∧</mo><mi>f</mi><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>&gt;</mo><mi>f</mi><mo stretchy="false">(</mo><mi>y</mi><mo stretchy="false">)</mo><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">f^&lt; = \{(x,y) | (x,y) \in E \land f(x) &gt; f(y)\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9348em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7404em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mrel mtight">&lt;</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mord">∣</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)}</span></span></span></span>。（我沿用了作者的箭头符号，是有点奇怪的）</p><p>  一些意义：</p><ul><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">[</mo><msup><mi>y</mi><mrow><mi mathvariant="normal">∣</mi><mi>E</mi><mi mathvariant="normal">∣</mi></mrow></msup><mo stretchy="false">]</mo><msub><mi>B</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>q</mi><mo separator="true">,</mo><mi>y</mi><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">[y^{|E|}]B_D(q,y,1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">∣</span><span class="mord mathnormal mtight" style="margin-right:0.0576em;">E</span><span class="mord mtight">∣</span></span></span></span></span></span></span></span></span><span class="mclose">]</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0502em;">B</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span> 是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的严格色多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>χ</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>q</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\chi_D(q)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal">χ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">q</span><span class="mclose">)</span></span></span></span>；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>B</mi><mi>D</mi></msub><mo stretchy="false">(</mo><mi>q</mi><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">B_D(q,1,0)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0502em;">B</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.0502em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">q</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">0</span><span class="mclose">)</span></span></span></span> 是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">D</span></span></span></span> 的非严格色多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>χ</mi><mo>ˉ</mo></mover><mi>D</mi></msub><mo stretchy="false">(</mo><mi>q</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bar\chi_D(q)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord accent"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.5678em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal">χ</span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1944em;"><span class="mord">ˉ</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.1944em;"><span></span></span></span></span></span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0359em;">q</span><span class="mclose">)</span></span></span></span>；</li><li>……</li></ul><h2 id="Reference">Reference</h2><ul><li>[AB20] Jordan Awan and Olivier Bernardi. Tutte polynomials for directed graphs. In Journal of Combinatorial Theory, Series B 2020.</li><li>[Sta70] Richard P. Stanley. A chromatic-like polynomial for ordered sets. In Proc. 2nd Chapel Hill Conf. on Combinatorial Mathematics and Its Applications 1970.</li><li>[Sta73] Richard P. Stanley. Acyclic Orientations of Graphs. In Discrete Mathematics 1973.</li><li>[EG21] Ömer Eğecioğlu, and Adriano M. Garsia. Lessons in Enumerative Combinatorics 2021.</li></ul>]]></content>
    
    
    <summary type="html">&lt;p&gt;  在 Weighted First-Order Model Counting (WFOMC) 的题目中经常用到图论多项式，所以学了一些东西，整理一下。&lt;/p&gt;</summary>
    
    
    
    <category term="TCS" scheme="http://kqp.world/categories/TCS/"/>
    
    
    <category term="算法_图论" scheme="http://kqp.world/tags/%E7%AE%97%E6%B3%95-%E5%9B%BE%E8%AE%BA/"/>
    
  </entry>
  
  <entry>
    <title>Far far away</title>
    <link href="http://kqp.world/sum2023/"/>
    <id>http://kqp.world/sum2023/</id>
    <published>2024-02-12T01:39:55.000Z</published>
    <updated>2026-06-24T09:18:36.591Z</updated>
    
    <content type="html"><![CDATA[<p>  记录自己每年的变化挺好玩的。。。因为自己现在确实属于转型升级的时期。想起中山市曾经的标语：“加快转型升级，建设幸福和美家园。”</p><p>  也不是很多时间，也就随便写一点了。</p><span id="more"></span><p>  9 月 10 号发生了三件事。Liella 4th 宣布了举办 5th，当即决定不去；幻日夜羽播第 12 话，当即令口碑起死回生；Abby 发了一段消息过来，当即把我从椅子上弹了出去（x<br>  真的是像飞机跳伞弹射一样把我弹射出去，然后我在地上打滚（x</p><p>  一个星期之后才正式在一起的。<br>  <s>还为此无限被骂为什么不是我主动表的白</s><br>  <s>还因此触发了她的卑微。你卑微个锤子啊，你是女神好不好。我们情头是夜羽和莱拉普斯，我是夜(fu)羽大人的狗</s></p><p>  这孩子是一员登山猛将，并且从中能折射出勇敢和无畏。她是医学生，保留了医学生那种勤奋自律。能说真话，不需要使劲猜心思。简简单单，平平静静，这就是我期望的。</p><p>  也确实做到了。我觉得有了 npy 以后最大且立即的变化，就是从心底里变平静了。<br>  就感觉都没什么东西想要 po 上网了，包括空间和博客。这俩地方是我表达内心想法的地方，以前只有我一个人，我只有这俩说话的平台。现在多了一个说话的平台，什么话都在那里先说了，就没有再说一遍的欲望了。当然，有文学价值的（比如诗和散文），有先导和攻略意义的（比如 live report、圣地巡礼攻略）这些，以后还是会坚持写，这些是值得再说一遍的东西。<br>  旅游回来不会有空虚感，而是有一个家，有归属感。她说得很对，我是老旅行青蛙了。<br>  以前很有孤独感的事情，比如从长江路南外环一路走到博爱医院，从东校骑共享单车到白云机场，从尖沙咀一路往北走，这些曾经的壮举，如今好像不是很能再做得起来，因为孤独感少了。有没有可能带着她继续孤独？一起考个“三走狗牙岭”的牌？以前凭着孤独感就走下去了，现在是凭想要挑战的心。</p><p>  这个跟 LoveLive 带来的精神力量有点不一样，LoveLive 是一位陪跑的朋友，这位是我要跟她合而为一的。<s>我们是合而为一的光</s><br>  体现在，我想要给她力量，支持她的梦想。<br>  尽管她最近陷入了一点迷茫，她找不到梦想。人没有了梦想如同变形金刚没了火种，人就是靠希望之火走下去的。所以我必须陪她找到梦想，找到希望。我想见证她找到自己。我认为，什么样的人最有人格魅力，知道自己在干什么的人，知道自己想要干什么的人。她绝对有人格魅力的，短暂被屏蔽了而已，我来帮她拨云见日。</p><p>  忽然间也发现，我的生活就这样匆匆改变了。<br>  这一年以来，特别是下半年，各种事情也不知道怎么着就变忙起来了。三个科研题（跟 Ondrej 的团队一个，跟老板和 Mauro 的一个，陆陆续续的还有之前一直投不中的一篇、其后续工作以及我的本科毕设）、两个竞赛队（无人之境在康复训练，我还要带 HKU 的队）、一个社团（宿舍的 hiking team），感觉我的时间分配突然不由己了。没时间上日语课了，没时间补番了，没时间读 LL Days 了。<br>  看番补番这事好解决，规定自己每天中午吃完饭休息时间就拿来看一集，还能省得这时间花在没啥意义的其他 B 站视频上。<br>  但我缺的真的是看番的时间吗？<br>  我发现，是我即将要进入一个新的生活模式了。手头上的三个科研题两个竞赛队一个社团这种正事儿只会越来越多越来越难，毕竟工作总要一步一步走上正轨；跟 Abby 是要互相陪伴的，我陪她她陪我，这些是我以前不曾分配过的时间；我们也需要出去玩，跋山涉水、吃香喝辣这些不是说为了 dating 才做的，这些本来就是人的内在需求……然后就会发现，我有点没准备好，措手不及。<br>  算是我没试过一下子涌入如此多的事情。以前就算有，都是短期的，肝一下就能过去，现在这些每一件事都要肝一辈子。<br>  非常幸运的一点是，Abby 支持我看 LL，她能理解偶像的意义。这点我心怀感恩。<br>  那么事情也就不难解决了。以前管看 LL、看动画、看日本音综、爬山、旅游、逛展这些事叫做“个人时间”，现在一起做就可以了。这些本不需要偷偷地自己做，光明正大一起做，她不需要非得感兴趣，她不感兴趣的不鸟我就好。我竟跟她都设想过，我们坐在一起，她看她的，我看我的。没有兴趣爱好 100% 重合的情侣，重要的是互相理解支持。<br>  总是有共同的时间的，就能够做共同的事情。我也能跟她去看霉霉。霉霉是歌唱家水准的，咱不能老被唱跳偶像把耳朵都磨坏了，咱还是得懂一点专业的歌唱。</p><p>  这一年的科研，其实也很魔幻。<br>  最最开始的 Fine-Grained Zero-Knowledge Proof，阳了一周去隔离完了回来以后，老板就仿佛“大人，时代变了.jpg”，再也没碰过这个题。前年 12 月到去年 1 月在把新发明的 maximin security 用到 Fair Allocation 的分布式协议上并推完了大部分结果，2 月到 3 月在想 Shapley Value 的 approximation 的 query complexity 但是失败了，4 月到 5 月把它写成 paper，6 月到 8 月跟 yuyi 开了个题关于 Weighted First-Order Model Counting/Sampling，9 月攀上 Ondrej 老师把这个题往图多项式方向拓展，10 月到现在一边做这个图多项式一边跟 Mauro 做流算法和分布式。最后今年的 1 月 2 月投了 3 篇，还搞了 PhD Probation Talk，成为目前最肝的两个月。<br>  题是够多了，文章可预见的也够多了，不担心毕业了。这是好消息。如果这三篇开奖全中，那可以在两个月之内收获三篇 CCF A，那 paper list 就好看一点了。这是好消息。<br>  坏消息是什么呢？活成了“东一榔头西一棒槌”型选手。<br>  “我的主线是什么？”我一直问自己，也一直问别人。<br>  老板说，硬要说的话，就是 counting/sampling 吧。我觉得也还行，虽然进来的时候是想 complexity/cryptography 的，但这个也不差。<br>  老板也说，不一定非得要有个主线，可以是什么都做型选手。我不同意，那只是你的风格，我不希望活成你的样子。我永远记得大二的时候在某场讲座上听王某海教授的发言：“总结我这个人的科研吧，什么都做一点，但都做得不精。”我当时就立志不要做这样的人。<br>  实际上去年 11 月我把 Fine-Grained ZKP 的想法发给了 NYU 的 Marshall，问他这个题有没有价值。他说：“Building a fine-grained ZKP for any fine-grained hard problem using fine-grained hardness would be very interesting.” 很高兴，但高兴之余也能够意识到，说一个题很 interesting 是有两种含义的，一种是它很值得做，一种是它根本不可做，比如“proving P!=NP is very interesting”。再细看他的回复，基本上也就是后者的意思——直接做不太可能，用简单些的 setting 容易得多但是就比较 trivial 了。<br>  但是距离这封邮件也已经 3 个月过去了。从大四到现在我无数次看着这个题目一拖再拖，都麻木了。我似乎就是下一个左左，心中有一件伟大的事但是一拖再拖，直到熄灭。<br>  不过至少学会了自己去找外援。自家老板不行，那就靠自己出去找合作。有幸通过实验室里的题贩子 enze 认识 yuyi 然后认识 Ondrej 这边，入了一阶逻辑的坑，也算是不愧对以前跟炜麟学长玩时序逻辑。而且 Ondrej 这老头儿真的是个数学家，甚至是个艺术家，能把多项式、自然数幂和这些东西玩得行云流水，我入学以来第一次感受到如何把科研做成一件工艺品，好的数学实在是一门艺术。Model Counting 也是目前我见过最 OI 的东西，真的都是在用 OI 学过的计数技巧，比如我头一次见到矩阵树定理是真的可以用来解决问题的，以及各种递推。这是我喜欢这个题的根本原因。<br>  帮老板 review 的时候惊讶地发现老板跟 Elaine 合作的很多密码学题目居然是被广泛引用的，是一些很基础题目的研究。~~这人虽然发不了 STOC，但是可以被 STOC 引用啊，甚至是 STOC 的前序工作啊！~~我觉得这种才是我真正想做的，做一些基础的、为人铺路的题。总感觉老板是藏着掖着这些真正有价值的东西，我可能今年要去敲他一下，把他这些题给敲出来。<br>  总的来说就是，既然不愁毕业，我就必须考虑做点有价值的事了，别老是在这打工似的帮 Mauro 写 Spark <s>我 tm 是个理论人为什么我写了两个月的 Spark</s>。像 wzz 说的：“要做就做大事，做能发 STOC 的题。”</p><p>  2023 年去了两次日本，第一次看了 AZUNA 和星 3，以及水虹星巡礼巡了个遍；第二次实现了周末特种兵看星 4。现在长游短炒都会了，还拿了三年多次签，就很舒畅。<br>  幻日夜羽落成了 2022 年最不期望的结局，故事没讲好，旧粉不断掉，新粉没吸到，成了小丑企划。骂企划不缺我一个，但除此之外，我依然是想观众朋友们麻烦静下心来看，看不懂可以先重修一下文学鉴赏（高考语文水平就可以了），角色们的心境很细腻的，不是急躁的人能品出来的。<br>  进了泡芙哥的群，吹了一年的水，认识了一帮群友。小群才是最舒服的网友交流地，不像大群、贴吧、B 站那样天天吵架。厨 LL 以来认识天南地北各行各业的同好，得以欣赏各自精彩的人生。</p><p>  以后可能真的随缘更博客了。学术的东西不是很想更，单篇论文写没啥意义，像个翻译一样，所以一写就得是好多论文的总结，可是自己写论文都够累的了。也许过会儿还有两个月的康复训练，能整点竞赛题写写题解。游记还是想坚持。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  记录自己每年的变化挺好玩的。。。因为自己现在确实属于转型升级的时期。想起中山市曾经的标语：“加快转型升级，建设幸福和美家园。”&lt;/p&gt;
&lt;p&gt;  也不是很多时间，也就随便写一点了。&lt;/p&gt;</summary>
    
    
    
    <category term="总结与游记" scheme="http://kqp.world/categories/%E6%80%BB%E7%BB%93%E4%B8%8E%E6%B8%B8%E8%AE%B0/"/>
    
    
  </entry>
  
  <entry>
    <title>【2022icpc Regional 南京 E】Color the Tree 题解</title>
    <link href="http://kqp.world/%E3%80%902022icpc%20Regional%20%E5%8D%97%E4%BA%AC%20E%E3%80%91Color%20the%20Tree%20%E9%A2%98%E8%A7%A3/"/>
    <id>http://kqp.world/%E3%80%902022icpc%20Regional%20%E5%8D%97%E4%BA%AC%20E%E3%80%91Color%20the%20Tree%20%E9%A2%98%E8%A7%A3/</id>
    <published>2023-10-22T13:38:04.000Z</published>
    <updated>2026-06-24T09:18:36.650Z</updated>
    
    <content type="html"><![CDATA[<h2 id="题目大意">题目大意</h2><p>  有一棵 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个节点的树，初始节点颜色全白，每次操作可以选择一个节点 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 和一个距离 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span>，将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">u</span></span></span></span> 子树内距离它 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 的点全部染黑。一次距离为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 的操作的代价为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>。求最小代价把整棵树染黑。</p><p>  <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≤</mo><msup><mn>10</mn><mn>5</mn></msup><mo separator="true">,</mo><mtext>  </mtext><mn>1</mn><mo>≤</mo><msub><mi>a</mi><mi>i</mi></msub><mo>≤</mo><msup><mn>10</mn><mn>9</mn></msup></mrow><annotation encoding="application/x-tex">n \leq 10^5,\ \ 1 \leq a_i \leq 10^9</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0085em;vertical-align:-0.1944em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">5</span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace"> </span><span class="mspace"> </span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.786em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">9</span></span></span></span></span></span></span></span></span></span></span><br>  多测，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∑</mo><mi>n</mi><mo>≤</mo><mn>3</mn><mo>×</mo><msup><mn>10</mn><mn>5</mn></msup></mrow><annotation encoding="application/x-tex">\sum n \leq 3 \times 10^5</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">3</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">5</span></span></span></span></span></span></span></span></span></span></span>，3s</p><span id="more"></span><h2 id="题解">题解</h2><p>  官方题解给了个建虚树的做法，但这题更有长链剖分的味道，长链剖分的复杂度也更优秀（确切地说，预处理 rmq 要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>n</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n \log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span>，剩余都是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span>）。</p><p>  首先我们很容易想到一些关于深度的树形 dp：记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><msub><mi>p</mi><mrow><mi>x</mi><mo separator="true">,</mo><mi>i</mi></mrow></msub></mrow><annotation encoding="application/x-tex">dp_{x,i}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">x</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight">i</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 表示以 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 为根的子树内与 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 距离为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 的点全染黑的最小代价，那么就有</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>d</mi><msub><mi>p</mi><mrow><mi>x</mi><mo separator="true">,</mo><mi>i</mi></mrow></msub><mo>=</mo><mi>min</mi><mo>⁡</mo><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mrow><mi>s</mi><mi>o</mi><mi>n</mi></mrow></munder><mi>d</mi><msub><mi>p</mi><mrow><mi>s</mi><mi>o</mi><mi>n</mi><mo separator="true">,</mo><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo separator="true">,</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">dp_{x, i} = \min\left( \sum_{son} dp_{son, i-1}, a_i \right).</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">x</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight">i</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:3em;vertical-align:-1.25em;"></span><span class="mop">min</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size4">(</span></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.9em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">so</span><span class="mord mathnormal mtight">n</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.25em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">so</span><span class="mord mathnormal mtight">n</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight">i</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size4">)</span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">.</span></span></span></span></span></p><p>  这种深度相关的树形 dp 看着就很能长链剖分。在长链剖分的框架下，子树合并没什么大问题，唯一的问题在于把 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><msub><mi>p</mi><mi>x</mi></msub></mrow><annotation encoding="application/x-tex">dp_x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 向 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><msub><mi>p</mi><mrow><mi>f</mi><msub><mi>a</mi><mi>x</mi></msub></mrow></msub></mrow><annotation encoding="application/x-tex">dp_{fa_x}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="mord mtight"><span class="mord mathnormal mtight">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1645em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 转移的时候，需要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 上一些 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>。<br>  但仔细一想，假如某个时刻 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><msub><mi>p</mi><mrow><mi>x</mi><mo separator="true">,</mo><mi>i</mi></mrow></msub></mrow><annotation encoding="application/x-tex">dp_{x,i}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord mathnormal">d</span><span class="mord"><span class="mord mathnormal">p</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">x</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight">i</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 与 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 取 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 了，转移到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><msub><mi>a</mi><mi>x</mi></msub></mrow><annotation encoding="application/x-tex">fa_x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 的时候这个值没有被动过（即没有跟 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><msub><mi>a</mi><mi>x</mi></msub></mrow><annotation encoding="application/x-tex">fa_x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 的其他子树合并），那么它就要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 上 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">a_{i+1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6389em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">+</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span></span></span></span>；如果转移到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><msub><mi>a</mi><mrow><mi>f</mi><msub><mi>a</mi><mi>x</mi></msub></mrow></msub></mrow><annotation encoding="application/x-tex">fa_{fa_x}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.1076em;">f</span><span class="mord mtight"><span class="mord mathnormal mtight">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1645em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 它还是没有被动过，那么它就要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 上 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mrow><mi>i</mi><mo>+</mo><mn>2</mn></mrow></msub></mrow><annotation encoding="application/x-tex">a_{i+2}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6389em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mbin mtight">+</span><span class="mord mtight">2</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span></span></span></span>……所以可以发现，如果一个 dp 值它没有被动过，最终它就会被 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 上 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span> 序列的一个区间最小值。那我们就不着急每次都去 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 了，每当一个 dp 值被更新了以后，我们给它打上一个懒标记 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span>，表示它跟 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">a_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 取 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span> 了，等下次它被更新或者最终求答案的时候，假设那时它离根的距离为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">t&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7519em;"></span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span>，那么它就要跟 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>t</mi></msub><mo separator="true">,</mo><msub><mi>a</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>a</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">a_t, a_{t+1}, \cdots, a_{t&#x27;}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6389em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span><span class="mbin mtight">+</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.328em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6828em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 取 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>min</mi><mo>⁡</mo></mrow><annotation encoding="application/x-tex">\min</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6679em;"></span><span class="mop">min</span></span></span></span>，这个 rmq 一下就好了。<br>  有了这个懒标记，长链剖分做 dp 就是线性的了。不过很不幸预处理 rmq 还是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>n</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n \log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 的。。。</p><h2 id="代码">代码</h2><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span><span class="string">&lt;bits/stdc++.h&gt;</span></span></span><br><span class="line"><span class="meta">#<span class="keyword">define</span> fo(i,a,b) for(int i=a;i&lt;=b;i++)</span></span><br><span class="line"><span class="meta">#<span class="keyword">define</span> fd(i,a,b) for(int i=a;i&gt;=b;i--)</span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> std;</span><br><span class="line"></span><br><span class="line"><span class="keyword">typedef</span> <span class="type">long</span> <span class="type">long</span> LL;</span><br><span class="line"></span><br><span class="line"><span class="type">const</span> <span class="type">int</span> maxn=<span class="number">1e5</span><span class="number">+5</span>, MX=<span class="number">17</span>;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> n;</span><br><span class="line">LL a[maxn];</span><br><span class="line">vector&lt;<span class="type">int</span>&gt; e[maxn];</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> Log[maxn];</span><br><span class="line">LL nmin[MX<span class="number">+2</span>][maxn];</span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">rmq_pre</span><span class="params">()</span> </span>&#123;</span><br><span class="line">    <span class="built_in">fo</span>(i,<span class="number">0</span>,n<span class="number">-1</span>) nmin[<span class="number">0</span>][i]=a[i];</span><br><span class="line">    <span class="built_in">fo</span>(i,<span class="number">2</span>,n) Log[i]=Log[i&gt;&gt;<span class="number">1</span>]<span class="number">+1</span>;</span><br><span class="line">    <span class="built_in">fo</span>(j,<span class="number">1</span>,MX)</span><br><span class="line">        <span class="built_in">fo</span>(i,<span class="number">0</span>,n<span class="number">-1</span>) nmin[j][i]=<span class="built_in">min</span>(nmin[j<span class="number">-1</span>][i],nmin[j<span class="number">-1</span>][i+(<span class="number">1</span>&lt;&lt;(j<span class="number">-1</span>))]);</span><br><span class="line">&#125;</span><br><span class="line"><span class="function">LL <span class="title">rmq</span><span class="params">(<span class="type">int</span> l,<span class="type">int</span> r)</span> </span>&#123;</span><br><span class="line">    <span class="type">int</span> t=Log[r-l<span class="number">+1</span>];</span><br><span class="line">    <span class="keyword">return</span> <span class="built_in">min</span>(nmin[t][l],nmin[t][r-(<span class="number">1</span>&lt;&lt;t)<span class="number">+1</span>]);</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> deepest[maxn],lson[maxn],st[maxn],en[maxn],tot;</span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">dfs_link</span><span class="params">(<span class="type">int</span> k,<span class="type">int</span> last,<span class="type">int</span> deep)</span> </span>&#123;</span><br><span class="line">    deepest[k]=deep;</span><br><span class="line">    <span class="keyword">for</span>(<span class="type">int</span> son:e[k]) <span class="keyword">if</span> (son!=last) &#123;</span><br><span class="line">        <span class="built_in">dfs_link</span>(son,k,deep<span class="number">+1</span>);</span><br><span class="line">        <span class="keyword">if</span> (deepest[son]&gt;deepest[lson[k]]) lson[k]=son;</span><br><span class="line">        deepest[k]=<span class="built_in">max</span>(deepest[k],deepest[son]);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">dfs_index</span><span class="params">(<span class="type">int</span> k,<span class="type">int</span> last)</span> </span>&#123;</span><br><span class="line">    st[k]=en[k]=++tot;</span><br><span class="line">    <span class="keyword">if</span> (lson[k]) en[k]=<span class="built_in">dfs_index</span>(lson[k],k);</span><br><span class="line">    <span class="keyword">for</span>(<span class="type">int</span> son:e[k]) <span class="keyword">if</span> (son!=last &amp;&amp; son!=lson[k]) <span class="built_in">dfs_index</span>(son,k);</span><br><span class="line">    <span class="keyword">return</span> en[k];</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line">LL f[maxn];</span><br><span class="line"><span class="type">int</span> tag[maxn];</span><br><span class="line"><span class="function"><span class="type">void</span> <span class="title">dfs</span><span class="params">(<span class="type">int</span> k,<span class="type">int</span> last,<span class="type">int</span> deep)</span> </span>&#123;</span><br><span class="line">    <span class="keyword">if</span> (lson[k]) <span class="built_in">dfs</span>(lson[k],k,deep<span class="number">+1</span>);</span><br><span class="line">    f[st[k]]=a[<span class="number">0</span>];</span><br><span class="line">    tag[st[k]]=<span class="number">0</span>;</span><br><span class="line">    <span class="type">int</span> sondeepest=<span class="number">0</span>;</span><br><span class="line">    <span class="keyword">for</span>(<span class="type">int</span> son:e[k]) <span class="keyword">if</span> (son!=last &amp;&amp; son!=lson[k]) &#123;</span><br><span class="line">        <span class="built_in">dfs</span>(son,k,deep<span class="number">+1</span>);</span><br><span class="line">        sondeepest=<span class="built_in">max</span>(sondeepest,deepest[son]);</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="built_in">fo</span>(i,deep,sondeepest) &#123;</span><br><span class="line">        <span class="type">int</span> index=st[k]+i-deep;</span><br><span class="line">        f[index]=<span class="built_in">min</span>(f[index],<span class="built_in">rmq</span>(tag[index],i-deep));</span><br><span class="line">        tag[index]=i-deep;</span><br><span class="line">    &#125;</span><br><span class="line">    <span class="keyword">for</span>(<span class="type">int</span> son:e[k]) <span class="keyword">if</span> (son!=last &amp;&amp; son!=lson[k]) &#123;</span><br><span class="line">        <span class="built_in">fo</span>(i,deep<span class="number">+1</span>,deepest[son]) &#123;</span><br><span class="line">            <span class="type">int</span> sonindex=st[son]+i-(deep<span class="number">+1</span>);</span><br><span class="line">            f[sonindex]=<span class="built_in">min</span>(f[sonindex],<span class="built_in">rmq</span>(tag[sonindex],i-deep));</span><br><span class="line">            f[st[k]+i-deep]+=f[sonindex];</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">main</span><span class="params">()</span> </span>&#123;</span><br><span class="line">    <span class="type">int</span> T;</span><br><span class="line">    <span class="built_in">scanf</span>(<span class="string">&quot;%d&quot;</span>,&amp;T);</span><br><span class="line">    <span class="keyword">while</span> (T--) &#123;</span><br><span class="line">        <span class="built_in">scanf</span>(<span class="string">&quot;%d&quot;</span>,&amp;n);</span><br><span class="line">        <span class="built_in">fo</span>(i,<span class="number">1</span>,n) &#123;</span><br><span class="line">            <span class="built_in">scanf</span>(<span class="string">&quot;%lld&quot;</span>,&amp;a[i<span class="number">-1</span>]);</span><br><span class="line">            e[i].<span class="built_in">clear</span>();</span><br><span class="line">        &#125;</span><br><span class="line">        <span class="built_in">fo</span>(i,<span class="number">2</span>,n) &#123;</span><br><span class="line">            <span class="type">int</span> u,v;</span><br><span class="line">            <span class="built_in">scanf</span>(<span class="string">&quot;%d %d&quot;</span>,&amp;u,&amp;v);</span><br><span class="line">            e[u].<span class="built_in">push_back</span>(v), e[v].<span class="built_in">push_back</span>(u);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="built_in">rmq_pre</span>();</span><br><span class="line">        tot=<span class="number">0</span>;</span><br><span class="line">        <span class="built_in">memset</span>(lson,<span class="number">0</span>,(n<span class="number">+2</span>)*<span class="built_in">sizeof</span>(<span class="type">int</span>));</span><br><span class="line">        <span class="built_in">dfs_link</span>(<span class="number">1</span>,<span class="number">0</span>,<span class="number">1</span>);</span><br><span class="line">        <span class="built_in">dfs_index</span>(<span class="number">1</span>,<span class="number">0</span>);</span><br><span class="line"></span><br><span class="line">        <span class="built_in">memset</span>(f,<span class="number">0</span>,(n<span class="number">+2</span>)*<span class="built_in">sizeof</span>(LL));</span><br><span class="line">        <span class="built_in">memset</span>(tag,<span class="number">0</span>,(n<span class="number">+2</span>)*<span class="built_in">sizeof</span>(<span class="type">int</span>));</span><br><span class="line">        <span class="built_in">dfs</span>(<span class="number">1</span>,<span class="number">0</span>,<span class="number">1</span>);</span><br><span class="line"></span><br><span class="line">        LL ans=<span class="number">0</span>;</span><br><span class="line">        <span class="built_in">fo</span>(i,<span class="number">1</span>,deepest[<span class="number">1</span>]) &#123;</span><br><span class="line">            f[i]=<span class="built_in">min</span>(f[i],<span class="built_in">rmq</span>(tag[i],i<span class="number">-1</span>));</span><br><span class="line">            ans+=f[i];</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="built_in">printf</span>(<span class="string">&quot;%lld\n&quot;</span>,ans);</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;题目大意&quot;&gt;题目大意&lt;/h2&gt;
&lt;p&gt;  有一棵 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;n&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 个节点的树，初始节点颜色全白，每次操作可以选择一个节点 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;u&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;u&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 和一个距离 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;i&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6595em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;，将 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;u&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.4306em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;u&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 子树内距离它 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;i&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6595em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 的点全部染黑。一次距离为 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;i&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6595em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 的操作的代价为 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;a_i&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.5806em;vertical-align:-0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3117em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;。求最小代价把整棵树染黑。&lt;/p&gt;
&lt;p&gt;  &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;/msup&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mtext&gt;  &lt;/mtext&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mn&gt;9&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;n &#92;leq 10^5,&#92; &#92; 1 &#92;leq a_i &#92;leq 10^9&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7719em;vertical-align:-0.136em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0085em;vertical-align:-0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mspace&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.786em;vertical-align:-0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3117em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:0em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;
  多测，&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mn&gt;3&lt;/mn&gt;&lt;mo&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;&#92;sum n &#92;leq 3 &#92;times 10^5&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop op-symbol small-op&quot; style=&quot;position:relative;top:0em;&quot;&gt;∑&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7278em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;×&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;，3s&lt;/p&gt;</summary>
    
    
    
    <category term="OI/XCPC" scheme="http://kqp.world/categories/OI-XCPC/"/>
    
    
    <category term="算法_树链剖分" scheme="http://kqp.world/tags/%E7%AE%97%E6%B3%95-%E6%A0%91%E9%93%BE%E5%89%96%E5%88%86/"/>
    
  </entry>
  
  <entry>
    <title>Liella 4th 千叶场 + 一点点虹缪少歌巡礼</title>
    <link href="http://kqp.world/liella_4th_chiba/"/>
    <id>http://kqp.world/liella_4th_chiba/</id>
    <published>2023-08-21T15:15:56.000Z</published>
    <updated>2026-06-24T09:18:36.542Z</updated>
    
    <content type="html"><![CDATA[<blockquote><p>これから11人のリエラ、よろしくお願いします！</p></blockquote><span id="more"></span><h2 id="前言">前言</h2><p>  4 月 28 日星团三张白卷抽选公开，冷不防是个 4th 巡演，突如其来。<br>  同时分了小组，可恋 vn 一组，全团唱力最好的三个人放一起，排在 4th 第一场。<br>  泡芙哥一查机票，UO 老母 2200 hkd 来回，心动了，但还没完全心动。<br>  给 b 组投稿了小组名，心想中了的话我就是 b 组的爹，就必须去看了，更心动了一点。<br>  被对比了虹和星的上座率、抽选热度，彻底受不住了，下决心冲。</p><p>  于是经历了一周的思想斗争，最后决定和泡芙一起，短炒一个周末！正好也来试试如果只去一个周末只看 live，最低成本能去到多少，能否实现现地 live 常态化。<br>  <s>就这一周时间 UO 老母已经升价到 2700 hkd 了</s><br>  <s>而且这还是阴间机，星期五 8pm 起飞 1:20am 到羽田，星期一 2am 起飞 6am 到香港。省钱 + 一天假都不请 + UO 老母 = 宇宙第一夜行特种兵</s></p><p>  <a href="/japan202302/" title="Liella 3rd 东京场 + AZUNA 1st + 沼津台场原宿圣地巡礼！">时隔半年</a>再次来到 LL 系列演唱会。<br>  其实有不少担心的，比如会不会新歌太少硬炒冷饭卖情怀，比如三期生新人才训练几个月直接上巡演，比如千叶场满座能 1.5w 人会不会上座率太差……<br>  但始终是期待比担心多。这次认识更热情靠谱的在日友人（id 叫邂逅个屁）帮忙抽票，不会再有忘记付款这类事情发生了，有机会内场冲神席了，上次看 3rd 还是山顶洞人，只是看了个蚁人版 Liella，这次能不能中个好席位近距离看看她们、拿些 res 呢？b 组唱力最好的三个人能给我们带来什么惊喜呢？三期生新人又会有惊喜吗？企划能不能再抽中一个 sayu 这样的 UR 素人？</p><h2 id="b-组组名投稿">b 组组名投稿</h2><p>  b 组我最先想到的就是三个蓝色（3rd 的时候 vn 还是深蓝），所以打算从颜色入手起名。<br>  于是开始搜索有什么蓝色的生僻词，找了一堆，大概就只有 azure、cerulean 比较好，觉得 azure 太像 AZUNA 了，于是就选了 cerulean。随便写了一段，丢给 Chatgpt 改改交上去了。</p><center><img src="/liella_4th_chiba/chatgpt.jpg" class="" width="400"><br/>Chatgpt 是真的能处！<br/><br/></center><p>  结果没想到投票选项出来，竟然是个德文的 BlauLila 抢先了。同样是蓝色入手，但是他德文更洋气，还加入了花语，那不愧是他，自愧不如。<br>  我就每天换着 ip 给他投票，前前后后投了 20 多票。</p><p>  最后投票结果：KALEIDOSCORE<br>  我：你们开心就好。</p><h2 id="出发与到着">出发与到着</h2><p>  星期五下班去机场搭夜机，就很有一种香港人去日本过周末的感觉。</p><center><img src="/liella_4th_chiba/HKG_1.jpg" class="" width="330"><img src="/liella_4th_chiba/HKG_2.jpg" class="" width="330"><img src="/liella_4th_chiba/HKG_3.jpg" class="" width="330"><br/>香港机场，依着东涌，和高耸的大屿山群<br/><br/><img src="/liella_4th_chiba/HND_2.jpg" class="" width="190"><img src="/liella_4th_chiba/HND_1.jpg" class="" width="330"><br/>到达羽田，降落了心心念念的海上跑道！！！<br/><br/></center><h2 id="Episode-1-再入台场">Episode 1 再入台场</h2><p>  傍晚的 live，白天还是找点事情做，于是跟泡芙、泡芙的朋友、屁兄一起，逛台场，吃虹联动拉面。<br>  没想到才时隔半年，我都成台场虹巡礼导游了（x</p><center><img src="/liella_4th_chiba/%E8%99%B9_1.jpg" class=""><br/>虹经典场景：自由女神、彩虹大桥、Gamers、Chase、学校、Utopia，这些上次都去过了<br/><br/><img src="/liella_4th_chiba/%E8%99%B9_3.jpg" class="" width="330"><br/>JOYPOLIS，璃奈机厅<br/><br/><img src="/liella_4th_chiba/%E8%99%B9_2_2.jpg" class="" width="190"><img src="/liella_4th_chiba/%E8%99%B9_2_1.jpg" class="" width="330"><img src="/liella_4th_chiba/%E8%99%B9_2_3.jpg" class="" width="330"><img src="/liella_4th_chiba/%E8%99%B9_2_4.jpg" class="" width="330"><br/>虹联动拉面，总共有六个小分馆，每去一个小分馆可以集一个章，每点一款联动拉面可以随机获得一张卡，一次点六碗可以获得一个痛勺<br/><br/></center><p>  竟然在联动拉面这里遇到了猪仔包学长，他已经把六个小分馆全部吃过了，章齐了，卡齐了，勺子也有了，不愧是铁血虹厨。他很慷慨地跟我们交换卡，我抽到果林找他换了个步梦。<br>  六个小分馆中我们选了博多，没想到猪仔包说这就是最好吃的一个。抹茶鸡白汤拉面，味道很浓厚的。</p><center><img src="/liella_4th_chiba/%E7%94%9F%E5%8F%AF%E4%B9%90.jpg" class="" width="190"><br/>旋转！发光！<br/><br/></center><h2 id="Day-1">Day 1</h2><p>  坐上京叶线沿着东京湾海岸前往会场！</p><center><img src="/liella_4th_chiba/%E4%BA%AC%E5%8F%B6%E7%BA%BF.jpg" class="" width="330"><br/>京叶线海景<br/><br/><img src="/liella_4th_chiba/%E5%9C%BA%E5%A4%96_0.jpg" class="" width="330"><img src="/liella_4th_chiba/%E5%9C%BA%E5%A4%96_1.jpg" class="" width="330"><br/>到达会场——幕張メッセ！<br/><br/></center><p>  官网写的幕張メッセ 9~11 号馆，原来整个 11 号馆都是卖场贩和摆花篮，live 只有两个馆。。。你星果然离 1.5w 满开还是差得远啊。</p><center><img src="/liella_4th_chiba/%E8%8A%B1%E7%AF%AE_1.jpg" class="" width="330"><img src="/liella_4th_chiba/%E8%8A%B1%E7%AF%AE_2.jpg" class="" width="190"><img src="/liella_4th_chiba/%E8%8A%B1%E7%AF%AE_3.jpg" class="" width="190"><br/>场贩馆里的花篮<br/><br/></center><p>  不过也好，这样也避免了 live 场馆变得特别长条，不然后排的人可就 rnm 退钱了。这场子只有一层楼，说得好听点大家都是 arena，说得不好听，这就是个大型 live house，站起来以后矮的人啥都没得看。</p><p>  进场，座位开奖！</p><center><img src="/liella_4th_chiba/seat.jpg" class="" width="330"><br/>席位分布图，中间是连接中心舞台的超长走道<br/><br/><img src="/liella_4th_chiba/day1seat_1.jpg" class="" width="330"><img src="/liella_4th_chiba/day1seat_2.jpg" class="" width="330"><br/>Day1 我的座位：S4右上！<br/><br/></center><p>  中心舞台席！！！！！！！！！！<br>  全体起立！！！！！！！！！！</p><p>  喜极而泣，有生之年真的能抽到好席，超近距离看中心舞台和走道！当然看主舞台还是很难看到表情，但是，要啥自行车啊！！<br>  我和屁兄同行连坐，泡芙哥和他朋友同行连坐，他们这次到 S1 去了，上次是神席老哥，这次成了荒郊野外，侧过侧田（x<br>  但是看现场布置，2 区和 3 区之间的过道很宽，很可能走花车，如果是这样那 S1 倒也算是个花车席了，如果 1 区左边也走花车，那 S1 也晋升花车神席了。<br>  （后来事实证明，2 区和 3 区之间确实是花车道，我们 4 人都喜提花车席。）</p><p>  这场子空调跟坏了一样，一点没凉快，幸好大家出汗没有汗味。<br>  看着自己的席位，想到能清楚看到她们的笑容，想到可能的 res，想想就激动啊（<br>  跟屁兄热情聊天许久，いよいよ开场！</p><p>  灯灭，战歌起，全体起立，切色欢迎成员。现在回归出声 live 了，却也是我第一次参加 Liella 的出声 live，我喊超大声，在周围一片好像很突出（x<br>  星星终于有 9+2=11 颗了，希望所有的星星都不要再受磨难了。</p><p>  「飛び込め new world」拉开序幕。果然离主舞台还是有点距离，看不到表情。已经没有上次那种屏幕和舞台的割裂感了，可能是因为确实近了些，也可能是很明确待会她们到走道的时候一定可以看得很清楚。这首歌的服装是渐变色的，同样是蓝+粉但是比 op2 高级了很多，后裙摆很长，特别适合熊这样帅气的人。</p><center><img src="/liella_4th_chiba/kuma.jpg" class="" width="190"><br/>熊的帅照（bushi<br/><br/></center><p>  mc 她们说“熱い”“熱気”“及时补水”之类的，现在才明白都是真话。。。真的是打两首歌大家都汗流浃背。<s>（给爷修空调啊！！</s><br>  唱了动画二期的特典曲，终于没把这些藏着掖着了。我期待什么时候能把一期动画特典 2 补掉。<br>  sif 联动曲，难得的 call 比较激烈的曲子，从台上到台下都是激情四射。大家都很用力喊，体会到了以前看视频时那种响彻场馆的感觉。「大きな声で」的喊法就是生放的官方厄介喊法（x<br>  二专 solo，旁边屁兄被 non 搞得情迷意乱。这里最亮点的就是可堇居然是联动的，可可抱着一只布偶小熊，唱完后轻轻放在地下，堇唱完之后拾起小熊，情意传递，底下嗑倒一片。<br>  反而小组环节我觉得有所欠缺。虽然 K 组的深情和苦情表现得很好。也惊喜能听到一专，但是改一专改得不好，曲风成了欢快的钢琴小调，而歌词仍然是在呼喊奔向梦想的心情，追梦怎是如此轻松儿戏的基调呢？不能戏说梦想的啊！其次是短，总共 3 曲就设一个单独的 corner，戛然而止，有一种凑数的感觉，不如直接设小组 corner 三个小组都上。</p><p>  三期生接力 symphony。正如后面 emo 的感想所说，symphony 是一首见证 Liella 成长的曲子，最初的五人欢快版，一期动画香音 solo 版，九人深情版，到 11 人欢快版，每一个版本都蕴含了不同的感情，但是奏响梦想的决心是相同的。“私のSymphony”，既有每一个“小我”各自独特的梦想，也有作为 Liella 的“大我”的梦想。<br>  这首歌也是初见小花的唱力，虽然 solo 不多，但是能把 symphony 首句起稳，证明至少不差。破企划运营依托答辩，选人倒是有一手。</p><p>  再来说近距离，这是这次 live 的全新体验。<br>  《Killer Kyun》出第一趟花车对我来说还有点措手不及，那时还在面向舞台疯狂「キューンキューン」地喊 call，全然不知她们都到我们背后了，这才慌忙切色、挥手。后面就学会预判了，成员从主舞台上花车就开始选定要切的颜色。<br>  res 是真的！！！常夏花车跟 emorin 挥手，day1 在中心舞台走道跟 sayu 挥手，最后 universe 小花单独花车过来挥手！！！其实也不知道她到底是不是在跟你挥手，但 res 吧也就是这么回事，她朝你的方向挥手你就当她是了，你要较真的话那很大概率一个都不是。但最重要的，是你近距离看到她热情洋溢、一笑倾城啊！！笑容永远是治愈一切的良药。<br>  花车，以及中心舞台、走道，都能很清楚地看到完整的人包括表情，可以很近地观赏舞蹈和笑容，所有细节尽收眼底。只有一点不好，我们座位在中心舞台左前方，青山姐的 solo、K 组的站桩都是面向后面观众的，我们就只能看屁股（x<br>  <s>好像屁兄还挺享受看青山姐和结那的屁股的</s><br>  鲤鱼 solo 花车经过泡芙哥那边的席位，本以为泡芙哥那荒郊野岭终于迎来春天了，结果鲤鱼到他们那边之后转身背对他们（x</p><p>  mc、幕间剧、最后的感想，都能听懂个七八成了~~（不懂的问旁边屁兄也不懂）~~。因此最后感想能听到很多小故事。结那和小花在诉说加入 Liella 之后的心态变化，小花也是从粉丝一路追梦追到台上去的。non 日常自卑哭泣，pay 成了纸巾大使，导播不知道有没有播到，pay 会在其他人讲话的时候给哭了的人递纸巾。emo 讲了《私のSymphony》是陪伴她们成长的一首歌。<br>  导播可能也没拍到左右最边上的两对人（结那和熊、emo 和小花）总是在别人说话的时候放飞自我（x</p><p>  朋友说歌单不好，不够燃，其实 Liella 的歌本身就不多 call，今天有 sif 联动曲、二专、常夏、day1 这样的歌，也算是能把大家点燃起来了。<br>  我是燃爽了，第一次体验到如此近的席位，以及花车。说是神席吧，可能还不够神，离舞台和花车也还有一个 block 的距离，离主舞台也远。但也无憾，能内场，甚至可能被拍到录进 BD；能打招呼拿 res；以往只有在视频里才能看到的面孔和身影清晰地出现在眼前，此亦飞之至也。</p><p>  对明天 Day2 既期待又紧张，主要还是 sayu，今天决赛曲最后 sayu 那几嗓子以外地不错，让我觉得 sayu 又行了，对明天的死亡高音 solo 提高了不少期待。</p><p>  就以香港远征 7 人团 + 屁兄一起恰的一顿鸟贵族结束今天吧。</p><center><img src="/liella_4th_chiba/star.jpg" class="" width="190"><br/>Song for me, Song for you, Song for all!<br/><br/><img src="/liella_4th_chiba/%E5%B1%B1%E6%A2%A8%E7%99%BD%E6%A1%83.jpg" class="" width="330"><br/>山梨白桃天下第一<br/><br/><img src="/liella_4th_chiba/%E5%90%83_3.jpg" class="" width="330"><img src="/liella_4th_chiba/%E5%90%83_2.jpg" class="" width="330"><br/>鸟贵族，一个不错的烤串店<br/><br/></center><h2 id="Episode-2-秋叶原与东京塔少歌巡礼">Episode 2 秋叶原与东京塔少歌巡礼</h2><p>  酒店住到了龟户，离秋叶原近，于是早上去秋叶原帮朋友淘旧碟，再去东京塔找一下少歌的公园。<br>  当然，来到了秋叶原，不可避免要去缪缪的地方参拜一下了~</p><center><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_5.jpg" class="" width="330"><br/>UTX<br/><br/><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_2.jpg" class="" width="330"><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_1.jpg" class="" width="330"><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_3.jpg" class="" width="330"><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_4.jpg" class="" width="330"><br/>神田明神，原本卖符的小亭子建起了文化交流馆，生意做大了<br/><br/><img src="/liella_4th_chiba/%E7%A7%8B%E5%8F%B6%E5%8E%9F_6.jpg" class="" width="330"><br/>秋叶“原”<br/><br/><img src="/liella_4th_chiba/%E5%90%83_4.jpg" class="" width="330"><br/>秋叶原一家不错的店<br/><br/><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_1.jpg" class="" width="330"><br/>开始寻找神乐光！<br/><br/><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_5.jpg" class="" width="330"><br/>小光你到底在哪呀！<br/><br/><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_6.jpg" class="" width="330"><br/>终于找到你了小光！<br/><br/><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_2.jpg" class="" width="330"><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_3.jpg" class="" width="330"><img src="/liella_4th_chiba/%E4%B8%9C%E4%BA%AC%E5%A1%94%E5%B0%91%E6%AD%8C_4.jpg" class="" width="190"><br/>不要再跑了小光！<br/><br/></center><h2 id="Day2">Day2</h2><p>  Day2 我和屁兄的位置是 V2 后排，泡芙哥和朋友的位置是 V2 前排。</p><center><img src="/liella_4th_chiba/day2seat.jpg" class="" width="330"><br/>Day2 我的座位<br/><br/></center><p>  有了昨天的经验，已经提前预知了今天是花车席。虽然远离了中心舞台，但是，有花车席了还要啥自行车啊！</p><p>  今天我附近的人的喊声明显高了不少，我左前是两个厄介，后面的 block 是一群震天撼地的 call leader。</p><p>  开场大家站起来后发现，我右前方是个高个儿，一个头足以把主舞台档掉九成。于是主舞台的歌只能大部分看屏幕，偶尔他侧头的时候我才有机会瞄两眼。这大概就是 arena 的坏处了，坐山上不会被挡住，但是坐 arena 很大概率是有 live house 效果的。<br>  所以今天花车拿 res 的任务就成了重中之重。<br>  屁兄是 non 激推，但可惜昨天 non 根本没有光顾我们这边。今天《ビタミンSUMMER》的花车，看到 non 在左边上车，我立即喊屁兄一起切色，等 non 的花车来到我们这儿即将转弯时，我俩附近只有我们是黄色，成功获得 non 酱神之一指，屁兄内心大概是当场晕阙了。<br>  后面 TBD 的花车，我再次拿到 sayu 和 emo 的 res。感觉还是甜妹的 res 好拿，她们很热情打招呼的，只要切她颜色，拼命挥手她就会注意到了，如果周围又恰巧只有你是她颜色，你就获得了巨大的 buff。<br>  花车 nako 的 res 不记得有没有了，乐观一点就当有吧（x），安可那两首歌反正都是大混战。<br>  只可惜中心舞台和走道非常远了，那上面的 res 不太能计入了，太牵强了。</p><p>  我们这边才刚刚体验花车席和 res，泡芙哥已经目指集齐所有人的 res 了。毕竟他 3rd 的时候已经集到只剩鱼了，这次当然想要更进一步，他后来很兴奋地说，这次鱼的也拿到了，但很可惜小花的没有，小花在花车上是背对他的。<br>  人与人的差距不能一概而论啊。。。<br>  他教我们一个经验，花车来的时候跟着她们跳舞，这样概率就大很多了，这招对青山姐特别灵。</p><p>  今天的二专 solo 也同样精彩。emo 的这首竟然是能 call 的，搭配 emo 的性感露肩，和激烈的词曲，成了一首燃歌。<br>  最为最为扣人心弦的当属 sayu 这首死亡高音曲，无敌的 sayu 竟然真的顶上去了！高音的音准达到了！稳住了！我们是漫卷棒子喜欲狂啊，仰天长啸，壮怀激烈。从 1st 20 场巡演开始，可怜的小 sayu 就已经被折磨得不轻了，嗓子每况愈下，到最近的几首 cd 已经是修音都修不好的状态了。这两日一战，昨天决赛曲 solo 稳住，今天的死亡高音也能稳住，仿佛一代战神又归来了。当然，还没有完全归来，毕竟 cd 的每况愈下还没扭转，而且 sayu 不知道什么时候学了像 non 酱那样的奇怪的倚音，唱得不干脆了。她自己说有在调整唱法，我不专业不得而知。<br>  solo 服装多是按照成员色来的，像 non 的黄色可爱小女孩装加一个小书包、yabu 的大红衣裙，都很衬。后来补切片才发现，sayu 的衣服上印着等待青空的谱。</p><p>  我以前以为线上与现场的听感是一样的，现在大概明白了一点，现场的音响效果能掩盖一些瑕疵，而线上应该是她们的麦和观众麦两个声道同时传，就会让瑕疵一览无余。所以现场的效果还真是比看线上要好一些。</p><p>  曲目编排，虽然曲目之间是没啥联系的，但大体是通过幕间剧连出一条主线了，这比之前水 6th 的要好，水 6th 总像是想起哪首就唱哪首。</p><p>  最后感想环节遗憾说了些我不爱听的话，大概是 sayu 带起来的，后来 nako 等人都在讲，讲最初拿到自己的 solo 曲，不知道到底是怎样一种感情去唱，然后揣摩了很久，交出自己的一份答案。这说白了，就是香音、小千这些灵魂都是作词人作曲人强行塞给你的，你甚至还读不明白这歌，你压根就不是香音、小千，你没有内化她们的灵魂，你就是个发声工具。我知道现代商业歌曲制作必须是这样的，但其实你们可以少说这些话，或者把重点放在讲解歌曲的感情，这样去减少你们与角色的割裂感。</p><p>  这是第三次参与 live 了，相比上次 AZUNA 第一次有了参与感，这次的参与感是更强烈了，最直接的原因就是位置较好，我们挥棒、喊 call，都是应援场面的重要建设力量，包括台上的人看到的场面、后排人跟 call 会看到的场面、将来 BD 可能会录进去的场面。<br>  一个小小的愿望，希望能参与 Liella 的光路企划。这事水水擅长，歌曲光路、安可光路都搞过，虹有动画契机但是还没搞成。其实 Liella 也有，一期动画的星光序曲，就是五条色带。光路企划是参与感最强烈的形式，也是水 5th 安可彩虹以来我一直没完成的愿望。</p><center><img src="/liella_4th_chiba/%E5%90%83_1.jpg" class="" width="330"><br/>正宗的日本萨莉亚<br/><br/></center><h2 id="End">End</h2><p>  虽然是很想说实现现地 live 常态化的，但始终机票酒店这些花销不能无视，前期准备耗的精力也不可忽略，终究还是不能说任何想去的 live 都去。像年末的大拼盘和幻夜，还是有各种原因需要放弃掉。人应该知足，有 live 看就不错了，不需要癫到全勤所有活动。<br>  但总归是试验成功了，如果有很重要的 live 非常想看，短炒一周末是可行的。三年多次签证也申到了，想去只要买机票订酒店就能去，所以可以以一个很放松随意的心态去面对这些活动。</p><p>  之前总结的“补 live -&gt; 云 live -&gt; 上映会 -&gt; 民间组织观影 -&gt; 现地烂席 -&gt; 现地好席 -&gt; 现地神席”厨力路径，经此一役，我觉得我已无欲无求，算不上最神的席，但也不用追求更神的了。</p><p>  Liella 是值得的，心平气和地看它，你能看到很多故事，比以往的都要更现实。一二三期生都有粉丝走上台的代表，这是切切实实的追梦，是另一个版本的“大家一起实现的故事”。凡事抱以希望看，还是可以期待一下花田十一郎（继花田九辉之后的新外号）能给出一个怎样的三期故事。</p><p>  5th 大概会是以三期动画为主题的 live 了，吸引力大很多，预计是明年中后。群友个个摩拳擦掌要来个日本团建，好啊，那就期待一手。</p>]]></content>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;これから11人のリエラ、よろしくお願いします！&lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>【STOC2018】Fine-grained Reductions from Approximate Counting to Decision</title>
    <link href="http://kqp.world/[STOC2018]Fine-grained-Reductions-from-Approximate-Counting-to-Decision/"/>
    <id>http://kqp.world/[STOC2018]Fine-grained-Reductions-from-Approximate-Counting-to-Decision/</id>
    <published>2023-06-17T03:24:12.000Z</published>
    <updated>2026-06-24T09:18:36.608Z</updated>
    
    <content type="html"><![CDATA[<p>  这篇文章给了些很不错的思路，把一些问题的 approximate counting 版本归约到 decision 版本上，更具体地说，如果给定 decision 版本的 oracle，就能在很小的时间代价内（比如对于 OV 等问题是 polylog）完成 approximate counting。该方法适用于 k-SAT、OV、3-SUM 等 Fine-Grained Complexity 关注的核心问题。</p><span id="more"></span><h2 id="Idea">Idea</h2><p>  这个思路 high level 来讲就是“减半”，对某个东西不停地减半，直到能暴力为止。<br>  k-SAT 和其他问题（OV、3-SUM、Negative-Weight-Triangle）做法稍有不一样，这里会有两种不同的“减半”思路。</p><h2 id="k-SAT">k-SAT</h2><p>  k-SAT 问题的“减半”思路是这样的：给 k-SAT 问题增加额外的条件，使得解数减半，直到解数足够少，能通过“暴力搜够一定的解数就停”来求出。</p><p>  先看怎么把解数减半。<br>  假设原题是给定一个公式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span></span></span></span>，求有多少个解 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 看成是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 维 01 向量），使得 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>⊨</mo><mi>F</mi></mrow><annotation encoding="application/x-tex">x \models F</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.999em;vertical-align:-0.249em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊨</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span></span></span></span>。现在增加一个矩阵 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span>，大小为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>×</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">m \times n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>≤</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">m \le n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>），<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 的每一行里随机选择 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个元素，这 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个元素独立随机地选择 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 或 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，其余元素都是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>；再增加一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 维 01 向量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span></span></span></span>，每个元素都是独立随机。然后把原题的要求变成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>⊨</mo><mi>F</mi></mrow><annotation encoding="application/x-tex">x \models F</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.999em;vertical-align:-0.249em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊨</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span></span></span></span> 且 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi>x</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">Ax=b</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span></span></span></span>（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">F</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\mathbb F_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathbb">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 下运算）。<br>  <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 的每一行相当于随机选 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个元素然后对它们的异或和作出限制，由于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span></span></span></span> 是随机的，原题的每个解满足一行限制的概率是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac 12</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>，满足 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 行的概率就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><msup><mn>2</mn><mi>m</mi></msup></mfrac></mrow><annotation encoding="application/x-tex">\frac{1}{2^m}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.5935em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">m</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>。根据期望的线性性，</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right" columnspacing=""><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi mathvariant="double-struck">E</mi><mo stretchy="false">[</mo><mtext>新的解数</mtext><mo stretchy="false">]</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>x</mi><mo>⊨</mo><mi>F</mi></mrow></munder><mtext>Pr</mtext><mo stretchy="false">[</mo><mi>A</mi><mi>x</mi><mo>=</mo><mi>b</mi><mo stretchy="false">]</mo><mo>=</mo><mfrac><mtext>原来的解数</mtext><msup><mn>2</mn><mi>m</mi></msup></mfrac><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{aligned}\mathbb E[\text{新的解数}] = \sum_{x \models F} \text{Pr}[Ax=b] = \frac{\text{原来的解数}}{2^m}.\end{aligned}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.8756em;vertical-align:-1.1878em;"></span><span class="mord"><span class="mtable"><span class="col-align-r"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6878em;"><span style="top:-3.6878em;"><span class="pstrut" style="height:3.3603em;"></span><span class="mord"><span class="mord mathbb">E</span><span class="mopen">[</span><span class="mord text"><span class="mord cjk_fallback">新的解数</span></span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">x</span><span class="mrel mtight">⊨</span><span class="mord mathnormal mtight" style="margin-right:0.1389em;">F</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.5153em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord text"><span class="mord">Pr</span></span><span class="mopen">[</span><span class="mord mathnormal">A</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathnormal">b</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.3603em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.5904em;"><span style="top:-2.989em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord text"><span class="mord cjk_fallback">原来的解数</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.686em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord">.</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.1878em;"><span></span></span></span></span></span></span></span></span></span></span></span></p><p>  也就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 的每一行都使得解数减半，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 行就减成原来的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><msup><mn>2</mn><mi>m</mi></msup></mfrac></mrow><annotation encoding="application/x-tex">\frac{1}{2^m}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.5935em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">m</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>。<br>  但只有期望减半是不够的，还要 with high probability 能减半，也就是还要一个 concentration。这里用的是 Chebyshev 不等式，也就是要 bound 住它的方差。方法大约是把 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">E</mi><mo stretchy="false">[</mo><mo stretchy="false">(</mo><mtext>新的解数</mtext><msup><mo stretchy="false">)</mo><mn>2</mn></msup><mo stretchy="false">]</mo></mrow><annotation encoding="application/x-tex">\mathbb E[(\text{新的解数})^2]</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathbb">E</span><span class="mopen">[(</span><span class="mord text"><span class="mord cjk_fallback">新的解数</span></span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">]</span></span></span></span> 用期望线性性拆成每个解对单独考虑，然后把解对用 Hamming Distance 大小分成两组，分别 bound 住。这里比较琐碎和炫技，就不详述，可以自行看论文。<br>  （我感觉 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 的每一行选出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个元素之后直接把它们都赋值为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 就好了，不需要再独立随机，方差甚至能更小。）</p><p>  然后再来看“暴力搜够一定解数就停”，比如要求搜够 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span> 个解就停。这里就要用到 decision oracle 了。<br>  首先，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi>x</mi><mo>=</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">Ax=b</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span></span></span></span> 这个限制可以变为长度为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><msup><mn>2</mn><mrow><mi>s</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">m2^{s-1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord mathnormal">m</span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span></span> 的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span>-CNF（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 的每一行相当于规定把至多 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个变量 xor 起来的值，用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>2</mn><mrow><mi>s</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">2^{s-1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span></span></span></span></span></span></span></span> 个 CNF clause（可由 not DNF clause 转化而来）来枚举表示），所以原公式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi></mrow><annotation encoding="application/x-tex">F</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">F</span></span></span></span> 加上这个限制可以归约成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>max</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>k</mi><mo separator="true">,</mo><mi>s</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\max(k,s)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop">max</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">s</span><span class="mclose">)</span></span></span></span>-SAT。<br>  暴力如下：枚举第一个变量为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>，用 oracle 判断是否有解，有就递归下去；完了之后枚举第一个变量为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，用 oracle 判断是否有解，有就递归下去。搜够 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span> 个解之后就返回（返回解数，或“解数大于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span>”）。复杂度 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(a)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">a</span><span class="mclose">)</span></span></span></span>。</p><p>  所以整体方法就出来了：设定一个阈值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span>，从小到大枚举 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span>，对于每个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 重复多次实验，如果“暴力搜够 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">a</span></span></span></span> 个解就停”算法返回确切解数，那么就乘 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>2</mn><mi>m</mi></msup></mrow><annotation encoding="application/x-tex">2^m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6644em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span></span></span></span></span></span></span></span> 然后输出，否则继续下一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span>。</p><p>  正确设置参数大小，可使得最后时间复杂度为：对于任意 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\delta&gt;0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.0391em;"></span><span class="mord mathnormal" style="margin-right:0.0379em;">δ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">&gt;</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 以及 multiplicative error <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">\epsilon</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">ϵ</span></span></span></span>，时间复杂度为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>ϵ</mi><mrow><mo>−</mo><mn>2</mn></mrow></msup><mo>⋅</mo><mi>O</mi><mo stretchy="false">(</mo><msup><mn>2</mn><mrow><mo stretchy="false">(</mo><mi mathvariant="normal">Δ</mi><mo>+</mo><mi>δ</mi><mo stretchy="false">)</mo><mi>n</mi></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\epsilon^{-2} \cdot O(2^{(\Delta+\delta)n})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">ϵ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">2</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mopen mtight">(</span><span class="mord mtight">Δ</span><span class="mbin mtight">+</span><span class="mord mathnormal mtight" style="margin-right:0.0379em;">δ</span><span class="mclose mtight">)</span><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>，其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mn>2</mn><mrow><mi mathvariant="normal">Δ</mi><mi>n</mi></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(2^{\Delta n})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0913em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8413em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">Δ</span><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 是 decision oracle 的复杂度。<br>  （我感觉这个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 甚至不用从小到大枚举，可以二分，不过鉴于复杂度是指数的，对于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">poly(n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 的优化似乎并不重要。。。）</p><h2 id="二分图边数">二分图边数</h2><p>  给定一个二分图，左右总共 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个点，你要近似出它的边数。你只有两种 oracle 来访问这个图，一是直接询问某一对点之间是否有边，二是选定一个点集问这个点集是否包含边（这一般就对应 decision oracle）。<br>  OV、3-SUM、Negative-Weight-Triangle 都可以归约到这个问题，所以我们只要解决这个问题就好。</p><p>  这个问题的“减半”思路是这样的：假如这个图的一侧（假设是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧，另一侧是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>U</mi></mrow><annotation encoding="application/x-tex">U</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">U</span></span></span></span>）比较平衡（即不会有少数点集中了大部分的边），那么这一侧随机选一半的点，也会使得边数减半。减下去直到点数变为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span>，就可以 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1702em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 暴力了。</p><p>  Formally 来说，我们主要考虑 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧，定义平衡为存在一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi><mo>∈</mo><mo stretchy="false">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\xi \in (0,1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">)</span></span></span></span>，每个点的度数都不超过 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi></mrow><annotation encoding="application/x-tex">\xi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span></span></span></span> 倍的总边数（或者说归一化后度数不超过 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi></mrow><annotation encoding="application/x-tex">\xi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span></span></span></span>），称之为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi></mrow><annotation encoding="application/x-tex">\xi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span></span></span></span>-平衡。先假设我们知道每个点的度数。<br>  如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧的点是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi></mrow><annotation encoding="application/x-tex">\xi</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span></span></span></span>-平衡的，那么对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧的点进行伯努利采样，期望会留下一半的点，边数也会变成原来的约一半。这一步的证明是简单的 concentration 应用，使用 McDiarmid 不等式。<br>  那如果不平衡呢，也就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 有少数点比较菊花。解决办法就是把归一化度数超过 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>ξ</mi><mn>2</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac{\xi}{2}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2772em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9322em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.4461em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.046em;">ξ</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 的点拉出来放入点集 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span>，对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>U</mi><mo>×</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">U \times S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">U</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span> 做 Simple Random Sampling（Chernoff bound 保证概率，并且 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∣</mi><mi>S</mi><mi mathvariant="normal">∣</mi></mrow><annotation encoding="application/x-tex">|S|</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span><span class="mord">∣</span></span></span></span> 不会很大，否则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 会平衡），剩下的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>∖</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">V \setminus S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∖</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span> 的点要么是度数都在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo>∖</mo><mi>S</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\xi N(V \setminus S)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∖</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span><span class="mclose">)</span></span></span></span> 以内（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(X)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0785em;">X</span><span class="mclose">)</span></span></span></span> 表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0785em;">X</span></span></span></span> 的临集），也就是平衡的；要么存在点度数超过 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ξ</mi><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo>∖</mo><mi>S</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\xi N(V \setminus S)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.046em;">ξ</span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∖</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span><span class="mclose">)</span></span></span></span>，但是它不在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span> 里说明它度数不超过 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>ξ</mi><mn>2</mn></mfrac><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\frac{\xi}{2} N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2772em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9322em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.4461em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.046em;">ξ</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span>，联立起来就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo>∖</mo><mi>S</mi><mo stretchy="false">)</mo><mo>≤</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(V \setminus S) \le \frac 12 N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∖</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span>，即剩下的点在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>U</mi></mrow><annotation encoding="application/x-tex">U</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">U</span></span></span></span> 的临集大小会减半。<br>  （我这样写是把原文的参数简化了，便于理解）</p><p>  这里需要做两件事：1、估计出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 里每个点的度数；2、万一不平衡或者 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span> 太小需要暴力，则需要把 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span> 也找出来。<br>  我们可以用一个算法同时解决这两件事：设一个阈值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span>，将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>U</mi></mrow><annotation encoding="application/x-tex">U</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">U</span></span></span></span> 侧的点随机打乱，每次操作用二分 + decision oracle 判定的方法找到一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 的临集点，直到找不到了或者找满 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 个点就停。这样返回的结果，如果临集大小在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 以内，就会返回精确的临集，否则会返回一个大小为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 的临集的采样。<br>  这个采样即可用来估计 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧的点的归一化后的度数，准确率由 Chernoff bound 保证。</p><p>  所以整体算法是这样的：如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 侧只有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 大小，或者设定阈值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mtext>poly</mtext><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">y=\text{poly}(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord text"><span class="mord">poly</span></span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 用上述算法发现 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>≤</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">N(V) \le y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span>，那么就暴力，否则用刚才得到的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span> 的大小为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 的采样估计出每个点的归一化度数，如果是平衡的，则对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 进行伯努利采样，递归，否则挑出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span>，对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>U</mi><mo>×</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">U \times S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">U</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span> 进行 Simple Random Sampling，对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>∖</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">V \setminus S</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∖</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span></span></span></span> 递归。</p><p>  时间复杂度，可以看到每次递归下去，要么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 大小减半（期望减半，with high probability 减到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac 34</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">4</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>），要么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">N(V)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span></span></span></span> 大小减半，且 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span></span></span></span> 的大小不会增大，所以最多递归 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mi>log</mi><mo>⁡</mo></mrow><mn>2</mn></msup><mi>n</mi></mrow><annotation encoding="application/x-tex">\log^2 n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0929em;vertical-align:-0.1944em;"></span><span class="mop"><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8984em;"><span style="top:-3.1473em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span></span></span></span> 层。每层要做的就是二分 + decision oracle 判定去做采样，做 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mtext>poly</mtext><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">y=\text{poly}(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord text"><span class="mord">poly</span></span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 次。所以总复杂度是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>ϵ</mi><mrow><mo>−</mo><mn>2</mn></mrow></msup><mo>⋅</mo><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo><mo>⋅</mo><mi mathvariant="normal">Δ</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\epsilon^{-2} \cdot poly(\log n) \cdot \Delta)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">ϵ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">−</span><span class="mord mtight">2</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">p</span><span class="mord mathnormal">o</span><span class="mord mathnormal" style="margin-right:0.0197em;">l</span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">Δ</span><span class="mclose">)</span></span></span></span>，其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Delta</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord">Δ</span></span></span></span> 是 decision oracle 的时间。</p><h2 id="Fine-Grained-Complexity-核心问题">Fine-Grained Complexity 核心问题</h2><ul><li>#OV 归约到二分图边数：左边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个点表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个向量，右边 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个点表示 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个向量，两个点之间有边当且仅当它们正交。第一个 oracle 就是直接判定两个向量是否正交，第二个 oracle 就是框定一个子问题判断是否存在正交。</li><li>#3-SUM 归约到二分图边数：左边一排点表示第一个数集，右边一排点表示第二个数集，两个点之间有边当且仅当它们的和的相反数存在于第三个数集。第一个 oracle 就是直接判定两个数的和的相反数是否存在于第三个数集，第二个 oracle 就是框定一个子问题判断是否存在三个数和为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>。</li><li>#NWT 归约到二分图边数：左边一排点表示原图的点，右边一排点表示原图的边，两个点之间有边当且仅当原图这个点和边能组成负权三角形。第一个 oracle 就是直接判定一个三角形是否负权，第二个 oracle 就是框定一个子图问是否存在负权三角形。</li></ul><h2 id="吹水时间">吹水时间</h2><p>  其实要读过论文才知道，虽然减半这个思路很厉害，但是真正主体的工作，是怎样用 concentration 来 bound 住这些减半，如果 bound 不住那么这就只是拍个脑袋而已了。还是得好好学 concentration，多积累不等式啊。。。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  这篇文章给了些很不错的思路，把一些问题的 approximate counting 版本归约到 decision 版本上，更具体地说，如果给定 decision 版本的 oracle，就能在很小的时间代价内（比如对于 OV 等问题是 polylog）完成 approximate counting。该方法适用于 k-SAT、OV、3-SUM 等 Fine-Grained Complexity 关注的核心问题。&lt;/p&gt;</summary>
    
    
    
    <category term="TCS" scheme="http://kqp.world/categories/TCS/"/>
    
    
    <category term="complexity" scheme="http://kqp.world/tags/complexity/"/>
    
  </entry>
  
  <entry>
    <title>Liyuu 2nd 巡演广州场</title>
    <link href="http://kqp.world/liyuu_2nd_guangzhou/"/>
    <id>http://kqp.world/liyuu_2nd_guangzhou/</id>
    <published>2023-05-15T13:12:56.000Z</published>
    <updated>2026-06-24T09:18:36.546Z</updated>
    
    <content type="html"><![CDATA[<p>  4 月下旬的 Liyuu 2nd 巡演最后的横滨场，宣布追加上海公演和广州公演。<br>  不仅仅是鲤鱼终于回国开 live 了，而且还是 live 开到家门口，这下不得不去了啊！</p><span id="more"></span><blockquote><p>看江河，一望无边际，她说，她说，我能游过去！<br>——《小鲤鱼历险记》OP</p></blockquote><h2 id="购票">购票</h2><p>  虽说所谓百万鲤友只是开玩笑，但是粉丝基础怎么也不算小，光是 LLer 已经贡献一大帮人了。再加上第一次回国 live，官方肯定要先拿 live house 试试水，做个摸底考试，这就造成了购票惨烈的必然性。<br>  上海场率先开抢，开票的瞬间就切了，开售即售罄，给大家先带来一点小小的百万鲤友震撼。我们小群里试抢上海的一个都没成功。<br>  广州场大概十天后开抢。我们几个人吸取经验，放弃 vip 票，专攻普票，最后群里五人上岸，一人因同时抢 vip 和普票被系统判为“身份占用”惨空，后来才被朋友送票捞起。这下是彻底给我们带来亿点小小的百万鲤友震撼了。</p><p>  可惜事情没有这么简单。。。</p><img src="/liyuu_2nd_guangzhou/%E7%99%BE%E4%B8%87%E9%BB%84%E7%89%9B.jpg" class="" width="500"><p>  没错，抢票这种事怎么可能少得了科技和黄牛~<br>  科技就不说了，毕竟只要区分不了人工操作和脚本操作，那么科技甚至是不违规的。上海场开售前闲鱼已经冒出不少代抢了，上海场开售一过，代抢瞬间涨价，到广州场开售前夕甚至说 vip 代抢已经接满了。。。<br>  最恶心的还是黄牛。广州场开售才几分钟，闲鱼的黄牛已经开始得瑟了。过不久甚至还出现了摩天轮的高价牛票，疑似官方黄牛。尽管售票平台秀动已经提醒入场要人证合一，但是仍有少数人硬吃天价黄牛。<br>  后面还有离谱的是，临近演出的几天，登记了缺票提醒的人突然收到抢票提醒。我们以为是黄牛票卖不出去回流了，有幸运鲤友蹲到了，被朋友送票的群友也蹲到了。却不想主办方否认了有余票，发表声明异常抢票的 9 个人会被退票处理，至于这个异常是怎么回事，主办方和秀动互相踢起皮球。</p><p>  你想想真鲤友是什么心态。<br>  群友就是代表。这期间在群里目睹了她的起起落落，抢票失败的落魄，黄牛跳脸的愤怒，朋友送票的释然，“人证合一”规则前的焦虑不安，蹲到候补票的激动欣喜，被告知候补票异常的炸裂，直至演出当天的忐忑。</p><p>  乱，离谱。<br>  仅仅是因为票少造成惨烈现状我们当然没啥说的，但是乱象丛生，一边是不断提醒入场验票的严苛，一边是若无其事的黄牛在骑脸，还有疑似官方黄牛开出天价。最后几天的异常票让鲤友们彻底失望，因为看清了主办方和售票平台摆出的很糟糕的态度。</p><img src="/liyuu_2nd_guangzhou/%E7%A5%A81.jpg" class="" width="400"><img src="/liyuu_2nd_guangzhou/%E7%A5%A82.jpg" class="" width="400"><p>  （这个牌子后来排场贩的时候还被保安收走了，引得大家都笑了）</p><p>  好朋友萤火虫 staff 桑也想抢 vip 票，他更想要手渡。但是很可惜失败了。<br>  后来我才学到小群里的操作，因为并没有限制用什么证件买票，我和他应该各给对方一个次要证件（比如护照、港澳通行证），然后他抢两张 vip，我抢两张普通，谁中了就买谁的，就会稳得多。香港的泡芙哥可谓是排出九枚证件大网捕鱼（x</p><h2 id="前夕">前夕</h2><p>  群里上传了 call 谱。我对比了 b 站的横滨场资源，发现还是挺多对不上的。最主要就是 ppph，日本人不喊的他给标上要喊，日本人喊的他倒是不标了。<br>  其实鲤鱼的歌真的没啥 call 的，很少的 mix，一两个复杂的应援舞，动作也并不对应歌词，大部分适合安静听歌。我也只是关注一下 ppph，因为这个需要起头，我想我可能可以带一下。<br>  但是又想到了这里是广州，结合这么多次的广州观影和漫展经验，我们有自己的一套风格，主打的就是一个随心所欲，融合军 call 和厄介，节奏适合就能喊。毕竟 call 谱只是提供一套规范，整齐才是最终追求。这样一想，哪里轮得到我带 call，一群华南虎抢着上了。<br>  同时也会担心虎们会不会失控，毕竟这次是正经 live，还是不能把イエッタイガー、可变三连这些喊出来的吧。</p><h2 id="Episode——CCPC-Final">Episode——CCPC Final</h2><p>  5 月 14 号正好是 CCPC Final，SYSU 办。<br>  母校难得办这么高级的比赛啊，遂决定路过围观。<br>  而且还是在香岚官洲酒店，这个在东校看了四年的船一样的酒店，每到晚上金碧辉煌五光十色，真是连踏进去一步都是想都不敢想，今天居然能在这里办比赛，你鸭是富得流油了。（本来还能再夸多一点的，不巧听说了一个瓜，就不往下夸了。）</p><h2 id="场贩">场贩</h2><p>  从 CCPC 会场出来，2 点到达 live 会场，预备着排两小时场贩。（AZUNA 都只用提前两个钟，这里不至于比 AZUNA 还卷吧。。。）<br>  先是找到了车仔领取了无料（面基群友*1），接着看到江边的华南虎已经开始了，然后就是围观花篮一个一个送达。这段时间并没有什么队伍，场贩不见影，大家都在随机游走。<br>  14:40 保安一声令下，场贩排队开始，人群迅速就近插入走道，从聚在一团突然延展成场贩队列。我大概抢到路口到门口中间的位置，有群友从厕所退到了路口（<br>  惊喜不惊喜，在场贩队列中的位置不取决于到达时间而是取决于 14:40 时的初始站位，乐。</p><p>  我觉得这也没什么大不了的，毕竟没有过早开始排也是防卷嘛，而且本来靠近门口的程度也是积极程度决定的，所以都还接受。<br>  而真正骚的操作在后面。<br>  保安开始把队列带到门口前的空地，一列一列形成方阵。我估摸着我前面的人流量，在日本就是 30-45min 的事情。<br>  好不容易等到场贩开始，保安每次抽调最右边的一列进去，然后整体往右补齐。然而广场右后方有个大雕塑，每次往右补齐会导致队伍后半被切割，于是整个方阵的后半就越发凌乱，无法跟上自己原先的列进场，挤作一团，不久就开始骚动了。保安开始补救，以“后半乱了”为由放后半优先进去，却没想到根本停不下来，后半一锅粥都自称是前两列的跟着进去，使得前半被严重阻塞，就差跟保安打起来了。原本预计开售后 30-45min 解决战斗，愣是给我排了一个半钟。</p><blockquote><p>这次那个保安还是各大展会经常请的那家公司的，属于是见怪不怪。<br>——萤火虫 staff 桑</p></blockquote><p>  期间还听说了正常花篮人士和 z8 花篮人士互撕花篮牌。到此给人的感觉就是，这 live 的组织真的是乱极了。</p><h2 id="入场">入场</h2><p>  从场贩出来身心俱疲，但是排入场的队伍已经九曲十八弯了，不得不立刻接上龙尾，继续罚站，没饭吃，也没水喝。<br>  车仔早早排完场贩在队伍前列，泡芙哥和他的朋友们没排场贩也抢到了很前面。我排上入场队之后才联系到各群友们，泡芙哥过来帮我占住位，我才得以出去买瓶水喝。（面基群友*2）</p><p>  就这样继续罚站到天黑，读 call 谱熟悉歌词。有排队的人一直在放歌，我也跟着比划两下。直到入场。</p><p>  普票入场只扫二维码不查证件，也猜到了，效率嘛，没时间查的。只不过，你官方勾结黄牛这事是越来越洗不清了，你对自己的规则啪啪打脸，你没有展示出对黄牛的态度。<br>  不过 vip 似乎还是严的。听说有人买了黄牛 vip 被查证件无法进场发烂渣，只能说好死。</p><h2 id="Live！">Live！</h2><p>  终于是等到进场了才能忘掉所有这些不愉快的东西。看着舞台，听着音响，给棒子装上电池，这悸动一下就上来了。进入战斗状态，百万鲤友整装待发！！</p><img src="/liyuu_2nd_guangzhou/%E5%9C%BA1.jpg" class="" width="400"><img src="/liyuu_2nd_guangzhou/%E5%9C%BA2.jpg" class="" width="400"><p>  第一次来 live house，果然条件不怎么好，人挤人，而且我位置靠后，前面的人举起手来我就只能看个鱼头了。<br>  买了一支鱼棒，透明的很好看，但其实实用性一般，在舞台灯光的照射下没啥亮度。打算以后淘宝买张纸填充一下内壁看能不能变成 LL 官棒的样子。（UPD：鱼棒不可拆卸，无了）</p><p>  还没到开演时间，底下的观众已经是尽显本色了。时不时跟着节奏虎起来，大喊“开门”以及各种鲤鱼直播常见弹幕。<br>  好巧不巧鲤鱼迟到 20min，这下鲤友们可不得好好抓住机会，疯狂整活。这 20min 成了最疯癫的时光。<br>  大喊包括但不限于：“开门！开门！开门！”“你有本事来广州，你有本事开门啊！”“鲤鱼别喝喜茶了！”“アンコール！アンコール！”“rnm退钱！”<br>  抛起一个可可中趴和一个可可小趴，传遍全场，像抛绣球，又像打排球。<br>  华南虎开始军火展示，包括厄介试鸣、大闪试亮、风火轮试转、孔雀试开屏。<s>熟悉的华南动物园和华南灯光展</s></p><p>  千等万等终于灯灭，伴舞登台，鲤鱼登台！<br>  我们的欢呼声是一阵比一阵激烈，百万鲤友集结台下，恭贺鲤鱼王回国。<br>  鲤鱼的妆容很精致，远看都很美。</p><p>  开场几首歌把热情都给激发出来了，大家里跳和欢呼都很卖力，因为是 live house 所以手都举得老高了。call 也果然是广州特色的随心所欲风，不管什么歌都会尝试带起 ppph，大家也都会跟上。ppph 这种无害的多一点也是挺好的，会把氛围带得更热闹。<br>  MC 鲤鱼根本说不上话。底下我们如同发弹幕一样疯狂向鲤鱼喊话，而这鲤鱼居然也像直播回弹幕一样，听鲤友说什么，然后鱼叫，然后回答，没有机会说自己准备好的内容。鲤友当然抓住这个机会整活啦，什么逆天弹幕都有：“才八点”“口水巾”“生日快乐”“新年快乐”“母亲节快乐”“我出生了”“太好听了8”“素晴らしい声の人”……大多数鲤友应该看过日本场的切片，鲤鱼喝水的时候我们都会喊“干杯”“好喝”“おいしい”，逼得鲤鱼拼命说：“说中文！”鲤鱼讲起粤语的时候，底下也一直在教粤语，教了各种各样的：“飞冰走奶”“饮茶先啦”……鲤鱼说到“喜欢你”的时候，底下也唱起了《喜欢你》，也怂恿鲤鱼唱粤语歌。甚至鲤鱼还因此提到了菜宝，说菜宝平时说得最多的就是“点解”。</p><p>  鲤鱼的歌声很清澈也很甜美，而且很稳，连唱很多首歌都不会有疲劳感或者音准问题，不愧是 Liella 里的一把手。长音气息控制得很好，很稳定，也有注重强弱变化，我觉得这个基础是可以加一点点颤音，向更多高级技巧进发了。<br>  很多好听的歌现场听到了非常满足，特别喜欢两首中文特制。柠檬气泡中文版，这首很清爽，跟以前的《热爱105°的你》一样一听就很有夏天的感觉，像被鲤鱼泡在柠檬水里，鲤鱼和伴舞还真的喝上了柠檬水；胭脂镜中文版，带有一点点虚幻感，有种迷失在魔镜前被鲤鱼牵着走的感觉。<br>  其他的歌，讲恋爱的歌我不是很上头，但是很多旅行和探秘主题的歌我很喜欢，读歌词就会自然联想到在世界飞翔遨游（歌词特别喜欢用“飞”“天空”“云”这类词）。非常遗憾的是《カラフルホライズン》这首最正宗的旅行歌没唱，好不容易学会了应援舞呢！<br>  《Yellow》我觉得是被 MV 抬了一手，听这首歌脑子里都是青山姐（</p><p>  四位伴舞小姐姐可以说是美若天仙，婀娜多姿，活力四射。她们的身体既可以柔软灵活，又可以铿锵有力，DJ 鱼环节尽展功底。</p><p>  华南虎还是失控了，整场虎啸震天。间奏虎火发动，副歌前イエッタイガー，慢歌乱喊，各种厄介 mix，前排骑膊马，后排打 wota，还有散落各处的大闪风火轮和孔雀。正经的鲤鱼 live 活像一个地偶场。<br>  但是这事也得两面看，除去这些明显超规的厄介，一些无害的 call 却是实实在在地把气氛顶上去了，也极大地增加了交互感和参与感。比如 ppph，比如《Tokimeki Runners》副歌的那种喊法（我也不知道叫啥），这些是无害的，观众也都跟，连鲤鱼唱完都马上说：“你们是不是现学的这个转来转去的，好好玩啊。”鲤鱼的歌不多 call，广州风格正好与其互补，就不像横滨场，看上去静得跟鬼一样。<br>  其实最重要的还是鲤鱼不介意，当然我们也不知道鲤鱼到底介不介意，但鲤鱼老拉拉人老漫展人这些肯定都是见过的。她也说：“你们都好会啊，你们比我还辛苦。”</p><p>  最后安可竟然才是精华所在，唱了三首版权歌。<br>  铃芽主题曲中文版，可惜我没看铃芽。<br>  王心凌环节，本来以为也是跟上海一样唱《当你》，结果音乐响起竟然是《爱你》，这可不更燃了，鲤鱼追梦环节啊！这首歌真的已经是有“鲤鱼追梦”的象征了啊！全体大合唱。可惜我唱嗨了，忘了去看鲤鱼有没有跳出王心凌那个像蝴蝶步一样的舞蹈。<br>  《可愛くてごめん》，跟香菜的《恋愛サーキュレーション》呈现的效果一样，台上一只羊，台下一群狼。<br>  最后鲤鱼报幕地平线，结果音乐响起不是地平线，鱼一脸委屈。</p><p>  2h 的 live，嗨到飞起，久久不能平静，真的 AZUNA 1st 都没喊哑，这次喊哑了，感觉嗓子就一直没停过，唱歌在 call，mc 在发弹幕（x</p><h2 id="Live-后">Live 后</h2><p>  出场首先碰到 Conan 学长，竟没想到这一万年没联系的邦邦人竟然也来看鱼了。<br>  然后面基泡芙、章鱼哥、车仔，以及一众香港鲤友。短暂的群友面基，算是认识了小群里的几个话痨了。小群真好啊，能畅快说话，能真正像一帮朋友一样聚一起。</p><p>  想周一在广州再待半天的，还能跟泡芙哥喝个茶<s>顺便试下能不能偶遇鲤鱼</s>，但是惧于老板下午查房，还是早早赶回香港了。。。</p><h2 id="End">End</h2><p>  实在是一场尽显中国特色的日式 live。</p><p>  有不少很坏的中国特色暴露了出来。<br>  组织的混乱，乱象丛生。票务一塌糊涂，正经鲤友抢不到票，天价黄牛有恃无恐，平台出 bug 了互相踢皮球；场贩一塌糊涂，保安没有组织排场贩的经验，队伍险些失去秩序；现场管理一塌糊涂，大家的花篮没有得到保护；场内管理也不好，保安就坐在高凳上，却管不住家虎盗摄。<br>  华南虎令人失望，区分不了地偶和正经 live，厄介盛行。你们加些无害的，ppph 喊一喊，副歌转一转，这都挺好，把情绪和互动感抬起来；间奏不唱歌的你们虎一虎倒也不是不能接受。但人家正经唱歌的时候你们还拉 mix，还骑膊马、打 wota、开大闪和孔雀，那就实在是没素质了。多少鲤友已经在投诉影响观感了，还得祈祷没有影响到鲤鱼。<br>  盗摄严重，甚至后面还上传 b 站，生怕别人不知道他盗摄了。</p><p>  但是抛开这些瑕疵，始终还是一场难忘的 live。<br>  中文歌，带版权的翻唱歌，中文 mc，就跟场刊写的一样，是精心为中国鲤友准备的，我是真的感激，因为柠檬水、胭脂镜这样的中文歌真的好听，唱王心凌也是很炸场。<br>  我也是第一次见到放大版的鲤鱼。之前 Liella 3rd 的东京场我是山顶洞人，只能看到蚁人鲤鱼，这次是能把表情看得一清二楚，能看见妆容，能看见笑容。对于好多国内鲤友来说，这是第一次见偶像，第一次参加正式 live。这对我们都是一个厨力上升的大台阶。<br>  我们在见证着鲤鱼的目标一步一步实现，进入 LL，也成为个人歌手，回国开 live。偶像的力量不正是来源于此么，有一个参考让我们感受到理想是可以实现的，而且不是遥不可及的人，是身边人，真真实实从我们这个群体里走出来的人。</p><p>  8 月，Liella 4th B 组再见！</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  4 月下旬的 Liyuu 2nd 巡演最后的横滨场，宣布追加上海公演和广州公演。&lt;br&gt;
  不仅仅是鲤鱼终于回国开 live 了，而且还是 live 开到家门口，这下不得不去了啊！&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>Liella 3rd 东京场 + AZUNA 1st + 沼津台场原宿圣地巡礼！</title>
    <link href="http://kqp.world/japan202302/"/>
    <id>http://kqp.world/japan202302/</id>
    <published>2023-01-23T14:14:55.000Z</published>
    <updated>2026-06-24T09:18:36.535Z</updated>
    
    <content type="html"><![CDATA[<p><strong>流量预警：全文包含约 80MB 的图片</strong></p><p>  日程是 1 月 28 日至 2 月 6 日，涵盖如下内容：</p><ul><li>Liella 3rd live 东京场 day2</li><li>AZUNA 1st live day1+day2</li><li>LoveLive Sunshine 沼津圣地巡礼</li><li>LoveLive 虹咲学园学园偶像同好会 台场圣地巡礼</li><li>LoveLive Superstar 原宿圣地巡礼</li></ul><span id="more"></span><h2 id="前言">前言</h2><p>  2021 年 10 月初，日本个人旅游签开放，惠及香港，一时间大家都开始计划去日本了。<br>  作为 LLer，难得去一次日本当然要找 live 的时间去啦！<br>  一开始计划 12 月初跟 office 的学长们一起去玩，去看 Liella 3rd 的爱知场，结果因为跟期末考试监考改卷工作撞了而废弃。<br>  然后计划 3 月去看水 extra live，因为计划比较临时，没有好好准备抽票，手头只有一个水费账号用作二次先行抽选，结果当然也是不中，于是废弃。<br>  没过多久楠木灯宣布辞职，突然间 AZUNA 1st 成了老雪菜毕业 live，于是找到了在日本留学的猪仔包学长想一起抽票。几番周折，拿下了。<br>  想着来都来了怎么也得多看一点，于是也拜托学长把前一周的 Liella 3rd 东京场抽了。期间也是波折不断，比如抽选申请 ddl 前 5min 才拿到抽选码；比如中票后学长忘记付款了……幸好星目前人气低，有卖一般发售和当日券，得以补救。<s>所以运营稀烂人气低迷实在是一件令人既高兴又不高兴的事情。</s></p><p>  于是计划就这么敲定啦！行程为：原宿 -&gt; Liella 3rd -&gt; 沼津 -&gt; 台场 -&gt; AZUNA 1st！</p><h2 id="前期准备">前期准备</h2><p>  参考<a href="https://post.smzdm.com/p/ag896m56/">这篇沼津圣地巡礼笔记</a>做出行前的准备。这里我也列一下我前期准备用到的 app 和工具。<br>  我是从香港过去的。广东一片的朋友们可以考虑从香港走，一般来说廉航机票要便宜得多，有船可以从内地港口直达香港机场。当然像 JAL/ANA/国泰 这样的其实还是广州深圳便宜（因为这些正价航空专杀香港人）。</p><ul><li>机票：携程、<a href="http://trip.com">trip.com</a>（携程国际版）、各航司官网，以及所有常用的购票平台慢慢对比。特别提醒，有些平台每次关闭重开就会加价，因此需要小心关闭网页，或者清 cookie 不知道有没有用。<s>推荐一个新开的航空公司叫大湾区航空，便宜而且时间很阳间。</s>（UPD：这公司经过两年的发展已经成了把自己当作正价航空收费的廉航了）</li><li>酒店：携程、<a href="http://trip.com">trip.com</a>、jalan、agoda。但是有些网站（点名 agoda）表面价格较便宜，实际除酒店价格外有大约 20% 的手续费，甚至还有货币转换费之类的暗费，并且点进付款页面又关闭重开可能会加价 200。</li><li>实用 app：乗換案内（查交通用的，可以规划路线、查询班次）、google map。</li><li>live 相关：eplus。相信大家都会用了，注意买一般发售票和当日票是需要短信认证的（也就是注册账号用一次性手机号的就不要买了），正常抽票的会发邮件让你上传照片以人脸识别入场。</li><li>买抽选券：yahoo japan（俗称日拍）。如果是 BD 抽选，一般直接买抽选券会比买碟便宜，但缺点是它只能在日本付款或最终通过日本发行的银行卡付款，必须有在日友人辅助，淘宝代付店不接。</li><li>巡礼相关：舞台めぐり（常用的圣地巡礼 app，个别有偏差和不全）、上面那篇圣地巡礼笔记以及网上能找到的巡礼笔记和 vlog、てくてく Aqours、侑散歩、Liella のドコいく、LoveLive Days 里的风景和店铺、水广播剧推荐的店铺（UPD：有些广播推荐真的看看就行了，详见本文沼津部分）。</li></ul><p>  Mastercard 用户记得绑定 Mastercard Travel Reward 赚点返现（x</p><h2 id="说明">说明</h2><p>  为了整体观感以及流量友好，下面放的图片都是缩小压缩过的，从新标签页打开图片可以看大图。<br>  图片的记载不完全按照时间顺序或地点顺序，会以逻辑顺序加以整理归类。</p><h2 id="出发与到着">出发与到着</h2><p>  早上 5 点就起床去赶飞机了。本希望在机场看日出，但是值机排队巨多人，值机值完了整个日出。。。<br>  香港机场没有拍照，因为第一感觉是香港机场不如广州机场宏伟（x</p><center><img src="/japan202302/%E9%A6%99%E6%B8%AF%E6%9C%BA%E5%9C%BA.jpg" class="" width="330"><br/>补一张一个月后在大屿山上拍的香港机场一角<br/><br/></center><p>  飞机上补完了侑散步第 2 季、四团新春生放，真希望她们一直这样玩下去。<br>  入境并没有查核酸，也没有人做核酸，岸田的入境政策权当放屁（x</p><center><img src="/japan202302/%E6%88%90%E7%94%B03.jpg" class="" width="330"><img src="/japan202302/%E6%88%90%E7%94%B02.jpg" class="" width="330"><img src="/japan202302/%E6%88%90%E7%94%B01.jpg" class="" width="330"><br/>来看看美丽的成田机场吧<br/><br/></center><p>  从成田机场到东京有至少两种坐法，一个是便宜的京成线慢慢悠悠晃过去，一个是贵三倍以上的 skyliner 飞速到达~~（也就少了一个小时）~~。（UPD：两年后知道了第三种方法是<a href="https://tyo-nrt.com/cn">又快又便宜的机场巴士</a>，秒杀前面两种。）我去人工窗口买票，打开乗換案内指给 staff 看，等到付完款才发现买了 skyliner，可把我心疼了一番。。。<br>  好好赏一下景吧，田野配上天空还是很开阔的。路过江户川区的河（p3），2018 年的时候就在河畔的筱崎公园看花火大会。</p><center><img src="/japan202302/skyline1.jpg" class="" width="190"><img src="/japan202302/skyline2.jpg" class="" width="330"><img src="/japan202302/skyline3.jpg" class="" width="190"><br/>skyliner 从成田空港到日暮里 <del>路过哲♂学圣地</del><br/><br/></center><p>  酒店靠近新宿站是为了方便去武藏野。<br>  按照惯例，落地第一餐要去找拉面吃，而且不能是大牌连锁店的。歌舞伎町这一片区想找个廉价的不是大连锁店的拉面档还真不容易，好几家还要排长队。最终找到了这家博多豚骨拉面，味道和分量超级棒，价钱与广州的博多一幸舍差不多。</p><center><img src="/japan202302/%E5%90%831.jpg" class="" width="330"><img src="/japan202302/%E5%90%832.jpg" class="" width="190"><br/>小小的拉面店 <del>楼上就是风俗店</del></center><h2 id="原宿">原宿</h2><p>  原宿的巡礼事实上从抵达东京当晚就开始了。本来只是打算吃完拉面之后出来逛逛街，找一下 AtCoder 总部，</p><center><img src="/japan202302/atcoder1.jpg" class="" width="330"><img src="/japan202302/atcoder2.jpg" class="" width="190"><br/>圣地巡礼 AtCoder 总部（大雾）<br/><br/></center><p>  没想到扭头一看，路牌是熟悉的名字：</p><center><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%96%B0%E5%AE%BF%E5%BE%80%E5%8E%9F%E5%AE%BF.jpg" class="" width="330"><br/>西↑部↓呀↑卡↓农！<br/><br/></center><p>  走到这我可不困了啊！<br>  而且这栋尖尖的楼也很熟悉，还记得 Liella 最早几期生放有一期是虚拟逛原宿的吗？堇的出生地点就是这个楼！<br>  新宿原宿相当近，新宿南边就是原宿，歌舞伎町到原宿站也就 3km，走路快的半个小时就走到了。<br>  于是第一晚去把需要夜景的干掉，第二天 live 前把日景的干掉，日景没干完的 AZUNA day1 下午来补！（以下大致按地点顺序来记）</p><center><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%AE%A3%E4%BC%A0%E7%94%BB%E6%97%A5.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%AE%A3%E4%BC%A0%E7%94%BB%E5%A4%9C.jpg" class="" width="330"><br/>宣传画，梦开始的地方（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E4%B8%80%E6%9C%9F%E4%B8%80%E8%AF%9D%E6%A0%87%E9%A2%98.jpg" class="" width="330"><br/>一期一话标题位置（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%A4%AA%E5%A5%BD%E5%90%AC%E4%BA%86%E5%90%A7%E4%BE%A7%E9%9D%A2.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%A4%AA%E5%A5%BD%E5%90%AC%E4%BA%86%E5%90%A7%E6%97%A5.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%A4%AA%E5%A5%BD%E5%90%AC%E4%BA%86%E5%90%A7%E5%A4%9C.jpg" class="" width="330"><br/>5555~太↑好↓听↑了↓8（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E4%BD%A0%E5%A5%BD%E8%B0%A2%E8%B0%A2%E5%B0%8F%E7%AC%BC%E5%8C%85%E5%86%8D%E8%A7%81.jpg" class="" width="330"><br/>你好谢谢小笼包再见（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%8F%AF%E9%A6%99%E5%A4%A9%E6%A1%A5%E4%B8%9C%E5%8D%97%E5%90%91.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%8F%AF%E9%A6%99%E5%A4%A9%E6%A1%A5%E8%A5%BF%E5%8C%97%E5%90%91.jpg" class="" width="330"><br/>可香天桥，这是可香手拉手看日出的地方（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%8F%AF%E5%8F%AF%E5%AE%B6.jpg" class="" width="330"><br/>可可家（表参道）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%A0%87%E5%AE%B6.jpg" class="" width="330"><br/>堇家（穏田神社）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_gamers1.jpg" class="" width="190"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_gamers2.jpg" class="" width="330"><br/>原宿 Gamers，有好多签名和留言（表参道南边小巷）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%A6%99%E9%9F%B3%E5%AE%B6.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%A6%99%E9%9F%B3%E5%AE%B6%E5%B0%8F%E5%BE%841.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%A6%99%E9%9F%B3%E5%AE%B6%E5%B0%8F%E5%BE%842.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%A6%99%E9%9F%B3%E5%AE%B6%E5%B0%8F%E5%BE%843.jpg" class="" width="330"><br/>香音家（竹下通）、她家门前附近优美的小径、小径尽头的名场景<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E3%81%BE%E3%82%93%E3%81%BE%E3%82%8B%E6%97%A5.jpg" class="" width="190"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E3%81%BE%E3%82%93%E3%81%BE%E3%82%8B%E5%A4%9C.jpg" class="" width="190"><br/>竹下通入口<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E7%AB%B9%E4%B8%8B%E9%80%9A%E5%8F%AF%E4%B8%BD%E9%A5%BC1.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E7%AB%B9%E4%B8%8B%E9%80%9A%E5%8F%AF%E4%B8%BD%E9%A5%BC2.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E9%A2%84%E6%8A%A5.jpg" class="" width="330"><br/>堇吃的可丽饼<del>好小一个煎饼果子</del>（竹下通），这里也是《未来予報ハレルヤ》香音独唱的地方<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E9%A6%991.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E9%A6%992.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%8F%AF1.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%8F%AF2.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%8D%831.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%8D%832.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%A0%871.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E5%A0%872.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E6%9C%AA%E6%9D%A5%E5%A6%82%E9%A3%8E_%E6%81%8B1.jpg" class="" width="190"><br/>《未来は風のように》开头的个人画面，恋的第二镜头已经被拆了<br/><br/></center><p>  《未来は風のように》的画面事实上是 AZUNA day1 才补的。一开始并没有收集这个，但是在台场把《未来ハーモニー》收集了之后，就想别的团也得收集一首歌玩玩，水已经没机会了因为离开沼津了，于是专门又从台场跑来原宿一趟。这玩意还挺难收集，场景分布在表参道南北的小巷里，舞台めぐり有大部分，少一个堇的和一个恋的。堇少的叫 Garland，恋少的已经被拆掉了。。。并且补拍是在周六下午，人巨多，与第一个周日（1 月 29 日）早上完全不一样，像可可第二个镜头，蹲了差不多 5min 才蹲到它腾出空位来；像小千第二个镜头，小千坐的那桌子就有人在那吃饭，我就没办法拍到 pv 里那个角度了。。。</p><center><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%B0%8F%E6%98%9F%E6%98%9F.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%B0%8F%E6%98%9F%E6%98%9Far.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E5%B0%8F%E6%98%9F%E6%98%9F%E7%94%B5%E7%BA%BF.jpg" class="" width="330"><br/>小星星，p3 大概是堇绊倒电线的地方（代々木公園侧边）<br/><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%93%B6%E6%9D%8F%E9%81%931.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%93%B6%E6%9D%8F%E9%81%932.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%93%B6%E6%9D%8F%E9%81%933.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%93%B6%E6%9D%8F%E9%81%934.jpg" class="" width="330"><img src="/japan202302/%E5%8E%9F%E5%AE%BF_%E9%93%B6%E6%9D%8F%E9%81%935.jpg" class="" width="330"><br/>一期堇跑步以及二期 chance day chance way（神宫外苑银杏道）。最后一幅图最具代表性的场景果然还是唐诱第二集堇骂可可（粤配：咁多人死点解唔见你去死啊！）<br/><br/></center><p>  这里也放些吃的图。下面第一张是东横 INN 酒店的自助早餐，第二三张是歌舞伎町随便找的一家小餐厅，因为想着东京吃海鲜肯定不如沼津好，所以在东京就不点鱼生了，就点焼き鳥吧。</p><center><img src="/japan202302/%E5%90%833.jpg" class="" width="330"><img src="/japan202302/%E5%90%834.1.jpg" class="" width="330"><img src="/japan202302/%E5%90%834.2.jpg" class="" width="190"></center><h2 id="Liella-3rd-东京场-Day2">Liella 3rd 东京场 Day2</h2><p>  入坑 6 年半以来第一场现地 live！！！第一场现地给到以动画为主题的数字 live，而且是我还挺喜欢的 Liella，从这点来说很值。<br>  不值的是什么呢，因为买的是一般发售票，所以位置极差，山顶洞人，4 楼第 5 排（x</p><center><img src="/japan202302/liella3rd_4.jpg" class="" width="330"><img src="/japan202302/liella3rd_1.jpg" class="" width="330"></center><p>  一怒之下决定不买棒子，用 fes+跨年凑合凑合过去，反正我在 4 楼没人看见我。到时候等三期生进来了再去补色。<br>  我右手边的老哥后半程一直在用望远镜观察。我没想到“上山要用望远镜”的传闻竟然是真的，更没想到我居然成了明知故犯。。。<br>  还有一点遗憾的就是这场 live 是最后一场不能出声的 live，非常可惜。（实际上大家也就是 call 不喊，mc 笑得可大声了。）</p><p>  live 的内容在巡演第一站宫城的线上直播已经看过了，这次自然也是大同小异，整体按动画二期的节奏走，插入一些一期的歌曲改编成 9 人版，中途两首 vn。有哪些亮点也心里有数，因此更加期待 live 上能亲眼见到，也清楚什么时候该关注什么地方。</p><p>  灯灭，星战歌起，全体起立，切色欢迎成员。正式的感觉一下就上来了，只要台上有人台下就必须站着。上一次站着打 call 的 live 已经是水 5th 了，现在民间组织观影讲究舒适享受，全程坐着，影院皮椅，舒服但总归是少些感觉。<br>  再次灯灭，《We Will》亮起响起，9 人阵显现。此刻，如同修行一生的僧人一步一磕头地朝觐终于到达圣地，手脚颤抖，心中涌出一股激流，热泪盈眶。两年来一直在荧幕上关注的可爱的小百合、nako、non，帅气的青山、yabu、熊，搞怪的 pay、彩妹，羡慕不已的粉丝头子鲤鱼，现在就在眼前！！<br>  我见到偶像真人了！！！<br>  我终于见到她们活着现场表演了！！！<br>  LoveLive 不是一场梦！！！<br>  但是！！<br>  但是！！<br>  为什么她们这么小啊！！！！！！！！！！</p><p>  大概从中心舞台后面开始，无论位置高低，只能看到主舞台的身子，不能看到脸，要看脸只能看屏幕。但是她们灿烂的笑容和丰富的表情变化本身就是 live 的重要部分啊！因此只能像一个单核处理器执行多进程任务一样，时间片轮转，一会儿看人，一会儿看屏幕，还要时不时看下 arena 的老哥以跟 call。<br>  但是这样观看会产生割裂感——会感觉所有的内容都从屏幕里来，台上只是找了 9 个替身来模仿伴舞。甚至 mc 的时候，因为只能看见身体动作，会感觉这些话不是从她们口中说出来的。<br>  因此全程看表演的同时也在努力克服这个割裂感，让自己相信台上和屏幕上的实际上是一回事。<br>  其实后面她们跑到中心舞台来会好一点，离我们近了一些~~，能更清楚看到合鲤身高差~~，但是看清脸和表情还是有难度。<br>  像 vn 这样的，就必须盯着屏幕看。妆容美丽，眼睛下面画两个可爱的图案，表情变化丰富，笑容极其甜美，相较而言舞蹈动作是次要的了，她最打动人的还是表情。</p><p>  不过相比只能看屏幕的线上直播，时刻拥有 9 人全局视角还是有很多优势的。首先是需要关注队形的歌曲，比如ビタミンSUMMER、chance day chance way，这两首歌好看的是队形、变化以及整齐的多人动作；比如决赛歌，结尾摆星星造型，这个也要从高处看才好看；比如第一话插入歌最后きなこ出来见前辈、ed 喂草莓，这是有顺序的一个接一个的动作，全局视角更适合看这种有顺序的动作。其次是可以见识传说中的“LoveLive 的优势——二次元与三次元的同步”，动画曲第一段主屏幕都播动画 live 画面，就可以对比~~（然而同步程度也就那样）~~。然后是导播以外的视角以及导播没播的小动作，比如鲤鱼和 nako 对着摄像机扔纸银杏叶；比如 vn 的歌有舞台边框灯光效果非常好看；比如 ed 喂草莓可以看到不是所有人站成一条直线的，后面的人是迫不及待围到前面去的；比如 pay 宝冲过去递纸巾然后回来被 nako 摸头；比如最终 mc 可以看 non 酱在鲤鱼讲话的时候总去前面拿纸巾回来转过去抹眼泪。</p><p>  全场最傻逼的体验是花车。花车在两侧行进的时候，我们这边的花车居然是完全被挡住的，4 楼第一排还能向前走一走挥挥手，中高处只能看对面的花车。想象一下，你对花车过街充满期待，这是你最接近偶像的时刻，结果花车运行到你下方，而你却看不见它，你只能看到对面的车，车上的人背对着你，在跟对面的人打招呼，这是多么傻逼。因此花车也成了伤我最深的环节，怀着憧憬，成为路人，本来是深入群众的交流环节，现在告诉我这跟我山顶洞人没关系，关系还是疏远了（x<br>  顺便一提，出发前在香港转播群认识了一个与我行程几乎相同的老哥，他是两日参战，两天都是神席，两天都靠近后花车道，车上的人自然平视之处。他说，除了鲤鱼一直在车上发呆，其他 8 个人都跟他打过招呼了。。。<s>（arena 的观众要永远铭记，你们其中有一张票是我贡献的，要不是我忘记付款qaq）</s></p><p>  call 非常整齐，这就是霓虹专业的粉丝团队。从 4 楼望下去，arena 是整齐划一，而且很有力道。虽然他们的 call 也不一定合乎规律，不少适合里打的地方全用前挥、快挥代替了，全程没有里打，不过很有默契地一同打出前挥快挥，也是很漂亮的。有时候我按自己的节奏打，发现跟他们不一样，我也会为了整齐去跟他们的 call。<br>  而且他们变色非常及时，花车来了会变成相应的成员色。可堇 liella 之歌的时候，总是可以看到 arena 从正中间分成两半，一边蓝色一边绿色，可堇在后方换花车以后，気づいたら蓝方和绿方已经完成交换了。多人花车的时候，车上的成员色总是会在那一片区成为主要颜色。不过这些都是越往楼上就会越摆，到四楼顶端基本都不 care 了。<br>  <s>我前面一个老哥总是欲风火轮又止</s><br>  全场唯一的两只十棒孔雀在 arena 那个神席老哥前面，后来被举报出警了。</p><p>  歌唱水平，还是老样子，小百合和几位二期生还是不稳，其他人比较稳，结那水平高。现场听声音的效果跟线上听的效果是一样的。<br>  遗憾最终还是没能还原 chance day chance way 的衣服。</p><p>  第一次现地，也这样带着激动和些许遗憾结束了。<br>  第一次参加 live 活动是水 5th 上映会，那时还是懵懵懂懂，如今 3 年半了。那时我总结说，我的厨力路径是“补 live -&gt; 云 live -&gt; 上映会（当前阶段）-&gt; lv -&gt; 现地”，现在应该变成“补 live -&gt; 云 live -&gt; 上映会 -&gt; 民间组织观影 -&gt; 现地烂席（当前阶段）-&gt; 现地神席”。回头看这也是逐步在实现梦想了，而且是有付出努力的，出题赚钱、高薪 PhD 实现了经济自由；啃完两本标日初阶初步实现了交流通畅；高的个人出行能力使我在没有支持和陪同的情况下一样能计划行程。<br>  下周 AZUNA，争取一步到位，厨力登顶！</p><center><img src="/japan202302/liella3rd_3.jpg" class="" width="330"></center><h2 id="沼津">沼津</h2><h3 id="Day1：初见沼津">Day1：初见沼津</h3><p>  周一到周四，四天三夜的沼津之行，意外地与神席老哥（id 叫泡芙）行程一致，于是就一起了。<br>  去沼津的方法也有两种，一个是便宜的东海道线慢慢悠悠晃过去，另一个是贵大概 3 倍的新干线飞过去（当然都是要到三岛转东海道本线）。泡芙是铁路迷，难得有机会坐新干线他不想错过，我就想也行吧，贵但是快，还能看看海（flag×1）。于是一起买了新干线。<br>  猜猜发生了什么？</p><p>  坐上几乎啥站都不停的のぞみ号快车直奔名古屋去了！<br>  新干线列车共有三种：のぞみ、ひかり、こだま，其中后两者都会经停三岛，只有第一个不停。我们买的是自由席票，没有车次和座位，又被泡芙的朋友忽悠了“东京出发没有不停三岛的车”，于是错上了のぞみ，飞向名古屋。。。<br>  善良的乘务员直接打印了一张车次单子给我们，教我们去到名古屋坐哪班车往回走。所幸名古屋往回倒不需要出站，因此不需要支付 1w+ 的巨额车票。我们早上 10 点出发，到沼津已经下午 4 点了。。。<br>  <s>欢迎乘坐新开发的游车河路线：东京 -&gt; 沼津（经停名古屋），现在没有人比我们更懂去沼津了。</s><br>  不仅如此，新干线还几乎看不到海景！<br>  仔细观察地图可以发现，沿着海走的有两条铁轨，外侧的是东海道线，内侧的是新干线，这直接导致，新干线每次看到海不超过 3 秒，就会钻进山洞里，或者外景被土坡、植被、建筑挡住。。。</p><center><img src="/japan202302/%E6%96%B0%E5%B9%B2%E7%BA%BF.jpg" class="" width="330"><br/>新干线的海景不超过 3s<br/><br/></center><p>  信念坚定，回程必须坐东海道线，又便宜又有海景，也就慢个一小时，咱又不是急急国王。<br>  不幸中的万幸是，沿途的日式村落和小镇也还是好看的，给人一种很安逸的感觉，也还是值得游车河的。（顾着享受忘记拍照了x）</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%B8%89%E5%B2%9B%E7%AB%99.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%991.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%992.jpg" class="" width="330"><br/>到达沼津！<br/><br/></center><p>  到达沼津 check in 完已是四五点的样子了。日本天黑特别快，四五点就是“夕阳无限好”了，六点以前会完全黑下来。本来打算第一天下午把善子逃跑路线（全程 4km）走一遍然后吃沼津バーガー的，看要天黑了就放弃了。决定第一天晚上去 gamers 买集章本（这是<a href="https://www.llsunshine-numazu.jp/index.html">沼津店铺集章企划</a>），第二天去内浦和淡岛，第三天市区，第四天走人。<br>  住进沼津河畔酒店（River Side Hotel），善子家隔壁，出来就是狩野川。三晚才 877 hkd，是个人都会推荐住这家。</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D3.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D4.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D5.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E7%8B%A9%E9%87%8E%E5%B7%9D6.jpg" class="" width="330"><br/>来看看美丽的狩野川吧，以及河对面的香贯山，夕阳时整座山会变成红色。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%B3%E7%95%94%E9%85%92%E5%BA%971.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%B3%E7%95%94%E9%85%92%E5%BA%972.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%B3%E7%95%94%E9%85%92%E5%BA%973.jpg" class="" width="190"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E9%AB%98%E7%A9%BA1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E9%AB%98%E7%A9%BA2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E9%AB%98%E7%A9%BA3.jpg" class="" width="330"><br/>河畔酒店，二楼还有善子获得荣誉市民称号的展厅。我住的这间房窗户向西，能望到沼津海岸线和富士山。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_gamers1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_gamers2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_gamers3.jpg" class="" width="330"><br/>沼津 Gamers<br/><br/><img src="/japan202302/%E5%90%835.jpg" class="" width="330"><br/>当晚与泡芙吃烤肉<br/><br/></center><p>  那天前后刚好有发售《Find Our 沼津》，但看了电子版扫图发现全是熟悉的图，就是每一期 LLDays 的这一版块拼起来而已，遂决定不买。</p><h3 id="Day2：淡岛-内浦">Day2：淡岛+内浦</h3><p>  河畔酒店的早餐，挺和式的，有沼津特色鱼干。可以看到我挺喜欢鸡蛋的，玉子烧、温泉蛋、炒蛋我全都拿了。最令我眼前一亮的是抹茶布丁，尝到抹茶布丁的这一刻，我决定お土産就买它了。</p><center><img src="/japan202302/%E5%90%837.jpg" class="" width="330"><br/>河畔酒店早餐<br/><br/></center><p>  早上赶第一班痛巴前往内浦。这里的巴士居然可以用 Suica，方便极了。</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%B7%B4%E5%A3%AB_1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%B7%B4%E5%A3%AB_2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%B7%B4%E5%A3%AB_3.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%B7%B4%E5%A3%AB_4.jpg" class="" width="330"><br/>痛巴，到了重要站点会由水成员来播报，我们这辆车是鞠莉播报。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E5%94%AE%E7%A5%A8%E5%A4%84.jpg" class="" width="330"><br/>码头售票处，由此前往淡岛<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B91.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B92.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B96.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B93.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B94.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E7%97%9B%E8%88%B95.jpg" class="" width="330"><br/>痛船以及签名<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E6%B0%B4%E6%97%8F%E9%A6%861.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E6%B0%B4%E6%97%8F%E9%A6%862.jpg" class="" width="330"><br/>到达淡岛！<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E6%B5%B71.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E6%B5%B72.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B12.jpg" class="" width="330"><br/>淡岛的海。远处的雪山还是很多的，可惜富士山被云封了<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A81.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A82.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A83.jpg" class="" width="190"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A84.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A85.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%82%AB%E3%82%A8%E3%83%AB%E9%A4%A86.jpg" class="" width="330"><br/>果南家，カエル館<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%971.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%972.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%973.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%974.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%975.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E9%85%92%E5%BA%976.jpg" class="" width="330"><br/>鞠莉家，淡岛酒店，可惜不住里面连花园都不让进<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E9%9A%A7%E9%81%931.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E9%9A%A7%E9%81%932.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E9%9A%A7%E9%81%933.jpg" class="" width="330"><br/>隧道<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE5.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE6.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE7.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE8.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE10.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE11.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE12.jpg" class="" width="330"><br/>淡岛神社，最后一幅图是台阶上不知谁放了个みかん<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E7%A5%9E%E7%A4%BE_%E6%B8%A9%E6%9F%94%E4%B8%96%E7%95%8C.jpg" class="" width="330"><br/>優しい世界<br/>（登山路上共 4 张牌，第一张没拍，写的是“がんばって”。）<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E4%BC%81%E9%B9%85%E6%B1%A0.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B%E6%B5%B7%E6%B4%8B%E5%85%AC%E5%9B%AD.jpg" class="" width="330"><br/>应该是てくてくAqours里三年级玩过的动物馆<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_sif%E6%88%BF%E5%AD%90.jpg" class="" width="330"><br/>一个在 sif 里经常出现的场景<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E8%B7%AF%E8%BE%B91.1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E8%B7%AF%E8%BE%B93.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E8%B7%AF%E8%BE%B96.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E8%B7%AF%E8%BE%B97.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E6%B5%B7%E5%86%9B%E6%A0%88%E6%A1%A5.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B13.jpg" class="" width="330"><br/>环岛一周还是很漂亮的，只是富士山没救了<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E5%95%86%E5%BA%971.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E5%95%86%E5%BA%972.jpg" class="" width="330"><br/>小商店<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%81%86%E3%81%BF%E3%81%ADCafe_1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%81%86%E3%81%BF%E3%81%ADCafe_2.jpg" class="" width="190"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%81%86%E3%81%BF%E3%81%ADCafe_3.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%81%86%E3%81%BF%E3%81%ADCafe_4.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B7%A1%E5%B2%9B_%E3%81%86%E3%81%BF%E3%81%ADCafe_5.jpg" class="" width="330"><br/>淡岛唯一能吃饭的一家咖啡馆<br/><br/></center><p>  岛很小，环绕一周大概也就十来分钟。<br>  非常可惜的是富士山今天不给面子，不肯露脸，上面照片里高耸而被云封着的就是富士山。</p><p>  从淡岛出来之后，就是内浦了！</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%9D%BE%E6%9C%88.jpg" class="" width="330"><br/>松月，可惜没开门<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%A2%A8%E5%AD%90%E5%AE%B6.jpg" class="" width="330"><br/>梨子家 <del>梨子信仰之跃！</del><br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E5%AE%89%E7%94%B0%E5%B1%8B1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E5%AE%89%E7%94%B0%E5%B1%8B2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E5%AE%89%E7%94%B0%E5%B1%8B3.jpg" class="" width="330"><br/>千歌家，安田屋旅馆<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A91.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A92.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A93.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A94.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E5%AE%A3%E4%BC%A0%E7%94%BB.jpg" class="" width="330"><br/>安田屋对开的海滩，水水宣传画，梦开始的地方<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A95.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B2%99%E6%BB%A96.jpg" class="" width="330"><br/>水水人特有的见到沙滩就要写字<br/>算上我们这沙滩上总共写了三个Aqours（x<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E4%BC%8A%E8%B1%86%E4%B8%89%E6%B4%A5%E6%B5%B7%E6%B4%8B%E4%B9%90%E5%9B%AD2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E4%BC%8A%E8%B1%86%E4%B8%89%E6%B4%A5%E6%B5%B7%E6%B4%8B%E4%B9%90%E5%9B%AD3.jpg" class="" width="330"><br/>伊豆三津海洋乐园。可惜没进去，里面名场景很多，逢田鱼雷、腔棘鱼、曜白学水母屏……<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E4%BC%8A%E8%B1%86%E4%B8%89%E6%B4%A5%E6%B5%B7%E6%B4%8B%E4%B9%90%E5%9B%AD1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E9%9A%A7%E9%81%93.jpg" class="" width="330"><br/>一单二单都出现的隧道<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E9%95%B7%E6%B5%9C%E7%AB%99.jpg" class="" width="190"><br/>长浜站，也是《Find Our 沼津》里的场景了。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E3%81%BF%E3%81%8B%E3%82%931.jpg" class="" width="190"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E3%81%BF%E3%81%8B%E3%82%932.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E3%81%BF%E3%81%8B%E3%82%933.jpg" class="" width="330"><br/>内浦路上到处可见蜜柑林<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F7.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E5%AD%A6%E6%A0%A1%E9%95%BF%E5%A0%A4.jpg" class="" width="330"><br/>到学校了！以及学校底下的长堤，长堤对面的巴士站忘记拍了<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F3.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F4.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F5.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E6%B5%A6%E4%B9%8B%E6%98%9F6.jpg" class="" width="330"><br/>浦之星女学院！这个长井崎学校不是说真的废校了吗？结果我们来拍的时候一堆学生放学出来打棒球，我们根本不方便拍。。。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E8%B7%AF%E8%BE%B91.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%86%85%E6%B5%A6_%E8%B7%AF%E8%BE%B92.jpg" class="" width="330"><br/>内浦还是很漂亮的<br/><br/></center><p>  从学校出来就已经是下午 4 点多了，一天时间悠闲地逛淡岛+内浦还是刚刚好的，再走快一点可能能把伊豆三津海洋乐园也走一遍。<br>  要留意开往市区的末班车大概是 6 点钟左右，错过这班车就要步行 12km 回市区了。</p><p>  决定当晚必须大吃一顿海鲜。来日本第四天了，一顿海鲜都没吃！在东京忍了这么久，不就是为了今天吗？<br>  泡芙的朋友推荐了这家餐厅，说是沼津鱼市场直接拿货来杀的，非常好吃。这家店在车站旁边的商城就有分店，它店面也确实是这么写的。</p><center><img src="/japan202302/%E5%90%836.2.jpg" class="" width="190"><img src="/japan202302/%E5%90%836.3.jpg" class="" width="330"><img src="/japan202302/%E5%90%836.1.jpg" class="" width="330"></center><p>  3300jpy 包括一盘骏河湾刺身拼盘加一碗螃蟹味噌汤，再 2880jpy 一盘寿司拼盘。<br>  无敌新鲜！无敌好吃！<br>  强烈推荐！！<br>  新鲜到什么程度呢？刺身拼盘左上角有一个鱼头，端上来的时候，鱼头还在跳。<br>  肉非常鲜甜有弹性。鱼头旁边带鱼皮的小肉条（猜测是小竹荚？）是鱼肉里最脆的，右下角白色的花枝黏黏糯糯（不清楚是花枝还是鱿鱼，泡芙说我对于质感的描述更像花枝，这是比鱿鱼更高级的），红色的鱼肉（金枪鱼赤身或中腹？）有甜味。味噌汤把螃蟹煮得软烂，喝下去有螃蟹的鲜甜味。<br>  是真的点多了，单人的话，其实 3300 买一盘刺身拼盘加这一大碗汤就够炫的了，那盘寿司没有必要。两个人这样点可能差不多。可惜泡芙不吃鱼生，他只能点てんぷら丼，但是 1700jpy 的丼里面有 12 块てんぷら你敢信！</p><h3 id="Day3：市区">Day3：市区</h3><p>  市区可以以善子逃跑路线来组织，全长 4-5 km，约 1-2h，从善子家开始，到水门结束，涵盖大部分市区内动画场景了。下面就按这条路线来记录场景。（尽管我们不是这么走的，我们第一天已经去了 gamers，然后这天又在车站集合，逛了商店街，再开始善子路线，最后从港口回来才去ラクーン，就很蠢，别学我们。）<br>  泡芙本来打算拍 vlog 的，嫌太麻烦了，改用谷歌地图录屏（笑死）。</p><center><img src="/japan202302/yoshikorun.webp" class="" width="330"><br/>善子逃跑路线<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%96%84%E5%AD%90%E5%AE%B6.jpg" class="" width="330"><br/>善子家，跟河畔酒店是紧挨着的<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B41.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B43.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B44.jpg" class="" width="330"><br/>沼津街头，挂满 sif 日服七周年 UR 的旗 <del>然后收到了 sif 关服的消息</del>。感受一下什么叫痛城，别人痛衣痛包痛车，我们痛一座城，沼津已经完全是水水的形状了（x<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B45.jpg" class="" width="330"><br/>上土商店街，てくてくAqours 一年级在这买饼吃<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_bm1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_bm2.jpg" class="" width="330"><br/>ラクーン大楼，楼顶是唱《Brightest Melody》的地方<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%992.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%995.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%993.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E7%AB%994.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B14.jpg" class="" width="330"><br/>沼津站，p1 p2 是南口，p3 p4 是北口，p5 是北口找到的一个拍富士山的角度。注意南口和北口不能穿车站过（否则要买票入闸出闸），要绕一段路从铁轨下面穿过去的。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%971.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%972.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%973.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%975.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%974.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E4%BB%B2%E8%A6%8B%E4%B8%96%E5%95%86%E5%BA%97%E8%A1%976.jpg" class="" width="330"><br/>仲見世商店街。好多店铺关了，花丸书店也关了。商店街里有大部分《僕らの走ってきた道は…》的舞蹈场景，p3 就是一个，认得这个香香坊。商店街里还有一家叫香香饭店，也是卖中华料理的，中华料理在这边还挺好卖的。（注意这都是魔改过的中国菜，只能说名字叫中华料理，跟中华可能没啥关系了x）<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E3%81%A4%E3%81%98%E5%86%99%E7%9C%9F%E9%A6%86.jpg" class="" width="190"><br/>僕走道里出现过的つじ写真馆<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B15.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B16.jpg" class="" width="330"><br/>一路上有好多角度能拍富士山<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC1.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC2.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC3.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC4.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC5.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC6.jpg" class="" width="330"><br/>沼津バーガー！本来计划第一天到沼津就吃的店，拖到今天。点了てくてくAqours同款深海鱼堡（来沼津当然吃深海鱼啦），店里还有卖堕天使の涙，其实就是炸鱿鱼，肉还挺弹的，不怎么辣其实，我广东人都能轻易承受的辣。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%96%B0%E9%B2%9C%E9%A6%86%E5%86%851.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%96%B0%E9%B2%9C%E9%A6%86%E5%86%852.jpg" class="" width="330"><br/>新鲜馆，里面是吃饭的小店和卖お土産的地方，上过水水广播剧。这里是新鲜馆内的一家小店，老板是丸推。<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B2%BC%E6%B4%A5%E9%B1%BC%E5%B8%82%E5%9C%BA.jpg" class="" width="330"><br/>沼津鱼市场<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A81.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A82.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A83.jpg" class="" width="330"><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A85.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A86.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%B0%B4%E9%97%A88.jpg" class="" width="330"><br/>水门，富士山依然不给面子。<br/>水门里有介绍沼津渔业，也提到了沼津优越的地理条件使其成为干物（鱼干之类的）名产地。<del>专业晒咸鱼的广东沿海人笑出了声。</del><br/><br/></center><p>  善子路线早上逛和下午逛各有优势，早上逛完在午饭时间到达沼津港一带，吃的特别多，很多店铺晚上不开的；下午逛完到达水门正好是黄昏，可以复刻动画里的场景。</p><p>  我们午饭在沼津バーガー解决，吃完后上水门发现这里是观富士山的好地方，于是就在等那片云离开，还等了挺久的，结果那云不但没走还越积越多。。。本来打算下午这么有空可以去爬香贯山和走走千本浜公园（两个都是沼津景胜，非动画相关，但是也是《Find Our 沼津》常见的取景地），但由于在水门等太久了，遂放弃，决定去曜家，有时间再找找剧场版里的新学校和四单开头花丸所在的房子（后来这俩都没去，回车站找ラクーン了）。</p><p>  （UPD：四单花丸的房子就在水门附近的芹泽文学馆。。。wtf 我居然这都没去）</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B46.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B47.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E8%A1%97%E5%A4%B48.jpg" class="" width="330"><br/>去曜家路上的景，以及曜家边上的狩野川堤<br/><br/><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B61.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B62.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B63.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B64.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B65.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B66.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E6%9B%9C%E5%AE%B67.jpg" class="" width="330"><br/>曜家，欧兰陀馆<br/><br/></center><p>  第一眼以为 p6 窗边手办我居然两个都有同款！仔细想想才发现右边那个我的动作和它还是不同的，我的那个是用手扶着帽子的，但衣服是同一套。<br>  服务员老婆婆非常热情，不仅跟街坊邻居谈笑风生，也对我们热情款待，临走付款的时候还问我们从哪里来。<br>  事实上我学了这么多日语一直在找机会跟日本人交流一下，用上一点高级的句式和词汇。但奈何餐厅或商店的服务员都太忙，搭不上话的；酒店入住又含有太多重要信息必须用英文。这个老婆婆就是一个最好的机会，又热情，又不算很忙，还能借着曜家这个场所聊点死宅话题。然而，我回答了“僕らは中国からです。ラブライブサンシャインのファンです。”之后，我还在想接下来搭些什么话，她已经笑着进入结账环节了。。。<br>  于是这个绝佳的聊天机会就错过了。。。<br>  后面走回去的路上我才把语言组织好，我明明可以跟她感叹一下满屋子的曜谷的。。。</p><p>  晚上选择的餐厅是<a href="https://www.bilibili.com/video/av18407285/">水水广播剧</a>里推荐的鱼河岸丸天（上面的新鲜馆也是来自这个广播剧）。</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E9%B1%BC%E6%B2%B3%E5%B2%B8%E4%B8%B8%E5%A4%A91.jpg" class="" width="330"><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E9%B1%BC%E6%B2%B3%E5%B2%B8%E4%B8%B8%E5%A4%A92.jpg" class="" width="330"><br/>鱼河岸丸天<br/><br/></center><p>  因为在曜家吃了下午茶了，在这里就点少些，点了个分量少些的刺身拼盘，螃蟹味噌汤，以及泡芙点一盘煮金目鲷。<br>  结论：建议下架该广播剧。<br>  果然是“海鲜卖不出去，水水帮帮我们”是吧，这跟昨天的魚がし鮨完全不是一个档次的啊！<br>  首先是螃蟹汤，喝进去一股苦味，完全没有螃蟹的味道，跟昨天的汤是天差地别。咬一下螃蟹壳就知道了，昨天那个是煲到蟹壳都软掉的，所以才入味，今天这个螃蟹还很硬。<br>  然后是没拍照的煮金目鲷，点完之后只过了一会儿就端上来了，显然是提前煮好放着等人来再热一下的。至于肉质，老，柴，硬。<br>  刺身端上来那个鱼头不跳的，那它就只是个装饰，不能说明食材有多新鲜了。肉质倒是还行，仅仅稍劣于昨天，红色的肉（金枪鱼？）也还是够甜，但其他大部分较昨天更软更糯，换句话说昨天的更加紧实有弹性。螺肉片倒是不错，很脆很爽口，昨天没有螺肉片。<br>  总之这家店不会作为我们的推荐了。要问在沼津吃海鲜去哪里，我们目前的回答仍然是魚がし鮨。</p><p>  晚上回去在罗森买到了花丸爱吃的のっぽパン。里面是有奶酪夹心的，还不错。</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E3%81%AE%E3%81%A3%E3%81%BD%E3%83%91%E3%83%B3.jpg" class="" width="190"></center><h2 id="Episode-江之岛！">Episode 江之岛！</h2><p>  为什么突然插入了一个江之岛的行程呢？是因为泡芙想去巡礼孤独摇滚。<br>  但其实我是还没看孤独摇滚的，没法巡礼。但是我正好看过这个：<a href="https://www.bilibili.com/video/BV1ee4y1v7V2/">小百合一个人的旅行</a>。日本人都心心念念的地方，那应当是好地方了吧。于是就跟他一起去了。早上江之岛，下午回东京台场。</p><center><img src="/japan202302/%E6%B2%BC%E6%B4%A5_%E5%AF%8C%E5%A3%AB%E5%B1%B17.jpg" class="" width="330"><br/>终于最后一天早上在沼津河畔酒店拍到了漂亮的富士山。。。<br/><br/><img src="/japan202302/%E4%B8%9C%E6%B5%B7%E9%81%93%E7%BA%BF1.jpg" class="" width="330"><img src="/japan202302/%E4%B8%9C%E6%B5%B7%E9%81%93%E7%BA%BF2.jpg" class="" width="330"><br/>坐东海道线前往江之岛，终于有海景了。。。<br/><br/><img src="/japan202302/%E5%9B%BD%E5%BA%9C%E6%B4%A5%E7%AB%99.jpg" class="" width="330"><br/>路过国府津站，底下的海就是 μ's 宣布解散并且哭的地方<br/><br/><img src="/japan202302/%E6%B1%9F%E3%83%8E%E5%B3%B6_%E7%94%B5%E8%BD%A6.png" class="" width="330"><br/>藤泽换乘江之岛电车，果真如小百合说的那般在城市里穿行<br/><br/><img src="/japan202302/%E6%B1%9F%E3%83%8E%E5%B3%B60.jpg" class="" width="330"><br/>过桥上江之岛！<br/><br/><img src="/japan202302/%E6%B1%9F%E3%83%8E%E5%B3%B61.jpg" class="" width="330"><img src="/japan202302/%E6%B1%9F%E3%83%8E%E5%B3%B62.jpg" class="" width="190"><br/>江之岛名物，たこせんべい，吃起来感觉没有章鱼味<br/><br/><img src="/japan202302/%E6%B1%9F%E3%83%8E%E5%B3%B63.jpg" class="" width="330"><br/>江之岛的神社<br/><br/><img src="/japan202302/%E5%90%838.jpg" class="" width="330"><br/>岛外面一家挺好吃的餐厅，实物完全如图<br/><br/></center><p>  江之岛就只是简单地玩了一下，逛完神社就走了，因为下午泡芙还要去镰仓。我就一个人先去台场了，之后基本上就分别了。非常有幸认识这位朋友，香港 LLer，奇妙地跟我行程重叠了一大段。</p><center><img src="/japan202302/%E7%89%87%E6%BF%91%E6%B1%9F%E3%83%8E%E5%B3%B6%E7%AB%99.jpg" class="" width="330"><br/>片濑江ノ島站<br/><br/><img src="/japan202302/%E4%B8%8B%E5%8C%97%E6%B3%BD%E7%AB%99.jpg" class="" width="330"><br/>回程路过一个很臭的地方（x</center><h2 id="台场">台场</h2><p>  我是以为 JR 东日本、JR 东海以及杂七杂八的铁路线这些已经够复杂的了，没想到东京地铁更加庞大更加离谱。。。<br>  2018 年第一次来东京的时候买了地铁 72h 任乘券，感觉是因此避开了许多麻烦。。。这次刷的 Suica，就碰到麻烦了。<br>  乗換案内让我在银座下车换到银座一丁目，去坐有楽町線。我从银座下来，懵逼地发现根本没有通往银座一丁目的路，只能出闸。我就很慌，乗換案内不会出错了吧？<br>  盯着 app 上写的“地上换乘”，我猜测可能就是要出闸再入闸换乘的。但是不敢肯定啊，万一真的是要收两趟车钱怎么办？于是打开地铁图开始寻找下一个换乘点。<br>  几乎绕了皇居大半圈。。。<br>  到达下一个换乘点发现仍然需要出站，再下一个换乘点就真绕皇居一圈了。于是谷歌搜“地上换乘”是什么意思，还真就搜到说，出闸后一小时内入下一个闸，算作换乘，票价按全程来算。。。<br>  于是气冲冲又绕皇居大半圈回到银座，出闸，在路上走到银座一丁目，入闸，前往丰州。。。<br>  三点钟到的新宿，四点半才到丰州。。。<br>  我满脑子都是“边条粉肠设计的日本交通系统！！！”</p><p>  酒店还是订远了，距离 AZUNA 会场（東京ガーデンシアター）2.2km，距离台场更是 3km 多。不过酒店就在步梦家附近，晚上不知道有没有幽灵进来夹脚（x<br>  第一晚只来到了虹咲学校（东京国际展示场）。</p><center><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD2.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD3.jpg" class="" width="190"><br/>虹咲学园<br/><br/></center><p>  在里面找古战场（上原步梦在楼下）、动画二期一话岚珠抱步梦、Eutopia 等名场面，古战场找不到，后面的找到了一些，一看已经天黑了，拍照光线也不好，晚上还有 sif2 生放，于是匆忙找地方吃饭，溜回酒店。</p><p>  第二天逛一整天台场，可惜白天是个大阴天。。。以下有些照片是第三天第四天补的。</p><center><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD12.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD4.jpg" class="" width="330"><br/>首先依然是虹咲学园。台场离羽田空港非常近，所以这里的飞机都很低很大，称之为“虹咲国际机场”是有道理的。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD5.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD6.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD7.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD8.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD9.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD11.jpg" class="" width="330"><br/>p1-p4 都是动画二期一话岚珠抱步梦的场景，p5 是 Eutopia，p6 二楼那个厕所大概就是虹咲学园偶像同好会的活动室了吧<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD10.jpg" class="" width="330"><br/>找不到古战场，这个已经是最像的了<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD%E5%89%8D1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%99%B9%E5%92%B2%E5%AD%A6%E5%9B%AD%E5%89%8D2.jpg" class="" width="330"><br/>临海线国际展示场站，现在是虹咲学园前站，这个牌子对着的就是二期五话步梦捉奸的地方<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_gamers.jpg" class="" width="330"><br/>台场 Gamers，自行车选手从这里爱上雪菜（大雾）。这个 Gamers 好怪，里面的签名和留言全都不允许拍照。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%BD%A9%E8%99%B9%E5%A4%A7%E6%A1%A51.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%BD%A9%E8%99%B9%E5%A4%A7%E6%A1%A52.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%BD%A9%E8%99%B9%E5%A4%A7%E6%A1%A53.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%BD%A9%E8%99%B9%E5%A4%A7%E6%A1%A54.jpg" class="" width="330"><br/>东京湾彩虹大桥，追求天气所以是第三天补拍的。p3 还有另一个身份，就是 op1 开头爷洗脚的画面。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%87%AA%E7%94%B1%E5%A5%B3%E7%A5%9E1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%87%AA%E7%94%B1%E5%A5%B3%E7%A5%9E2.jpg" class="" width="190"><br/>自由女神像<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E8%89%BE%E7%8E%9B%E7%9F%B3%E5%83%8F.jpg" class="" width="330"><br/>艾玛合照的石像<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%8F%B0%E5%9C%BA%E6%B5%B7%E6%BB%A8%E5%85%AC%E5%9B%AD.jpg" class="" width="330"><br/>二期十话（或者十一话）三年级提出开 1st 的想法的地方<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_ODAIBA.jpg" class="" width="330"><br/>爱姐名场面，也在侑散步里出现过的<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_AQUACITY.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%AF%8C%E5%A3%AB%E7%94%B5%E8%A7%86%E5%8F%B0.jpg" class="" width="330"><br/>AQOUA CITY 与富士电视台。因为这天是阴天，就没上那个球去看蓝蓝的天大大的海，毕竟要 700jpy 的门票。后面两天晴天也没时间上去了。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_KUAAINA_1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_KUAAINA_2.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_KUAAINA_3.jpg" class="" width="330"><br/>米娅汉堡店，KUA AINA！汉堡真的超大个，我反正得拆开吃。。。然后表扬它这个薯条，非常脆，冷了都还脆。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E3%81%9F%E3%81%93%E7%84%BC%E3%81%8D%E8%A1%97.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E3%81%9F%E3%81%93%E7%84%BC%E3%81%8D.jpg" class="" width="330"><br/>たこ焼き街，动画一期艾玛与果林放学后来的地方，たこ焼き好吃的<br/><br/></center><p>  （UPD：仍然清晰地记得我赞美这个たこ焼き“きれいだね”之后，店员一脸尬笑。回去学了标日初级 47 课尊他语，才发现我这话说得是多么傲慢无礼。。。不知道是不是这个原因）</p><center><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%B2%9A%E7%8F%A0%E5%AE%B61.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%B2%9A%E7%8F%A0%E5%AE%B62.jpg" class="" width="330"><br/>岚珠家，希尔顿酒店，p2 是 op2 里岚珠经过的地方（详见侑散步 2）<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%AB%98%E8%BE%BE1.jpg" class="" width="190"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%AB%98%E8%BE%BE2.jpg" class="" width="190"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%AB%98%E8%BE%BE3.jpg" class="" width="190"><br/>高达，晚上还挺炫酷的<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_chase_1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_chase_2.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_chase_3.jpg" class="" width="330"><br/>Chase！以及从台阶上看高达<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E6%AD%A5%E4%BE%91%E7%BA%A6%E4%BC%9A%E5%87%B3.jpg" class="" width="330"><br/>步侑约会凳<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E6%97%A5%E6%B3%95%E5%8F%8B%E5%A5%BD.jpg" class="" width="190"><br/>侑散步里提到的黄色大尖柱，实际上是日法友好纪念柱<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E6%91%A9%E5%A4%A9%E8%BD%AE%E9%81%97%E5%9D%80.jpg" class="" width="330"><br/>摩天轮遗址<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD9.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD1.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD8.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD6.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD4.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E9%9D%92%E6%B5%B7%E7%A0%81%E5%A4%B4%E5%85%AC%E5%9B%AD5.jpg" class="" width="330"><br/>青海南码头公园。p1 是 op2 栞子<del>洗手机</del>的地方，p2 是侑散步 2 里提到的穿西装的地方，p3 p4 是公园里好看的景，p5 p6 是从码头望向羽田空港，特别近（已经能看到塔台和地上的飞机了）。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E7%92%83%E5%A5%88.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E5%BD%BC%E6%96%B9.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E7%88%B11.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E6%9E%9C%E6%9E%97%E4%BB%A3%E6%9B%BF.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E6%AD%A5%E6%A2%A61.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E9%9B%AA%E8%8F%9C.jpg" class="" width="330"><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E8%89%BE%E7%8E%9B.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E9%9B%AB.jpg" class="" width="330"><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E5%85%AB%E6%AF%9B%E4%BA%8C_%E9%9C%9E.jpg" class="" width="330"><br/>《未来ハーモニー》每个成员的第一个单人画面。每人的第二画面以及双人画面都是第一画面换个角度，就不额外拍了。其中要说明的是，果林的画面已经随摩天轮一起拆掉了，她是在一个圆形广场的东半边（谷歌地图街景还能看见），只能以西半边代替一下了；然后霞的站在桥上的画面我显然是不可能拍到的，只能以临海线从桥下走的照片代替一下了。<br/><br/><img src="/japan202302/%E5%8F%B0%E5%9C%BA_%E6%AD%A5%E6%A2%A6%E5%AE%B6.jpg" class="" width="330"><br/>步梦家<br/><br/></center><p>  未来八毛二非常难找，手上只有几个没标地点的 b 站视频，和一个因为没有微博账号所以打不开的微博台场圣巡指南，只知道这些场景应该都局限于台场范围，整套东西找起来就像定向越野一样。也正是这首歌的寻找，激起了我收集其他歌曲的愿望，星的未来如风，水的僕走道，但是水已经没有机会了。。。<br>  第二天已经基本把该逛的都逛完了。第三天第四天就是 live 日了。每天早起排场贩，经人提醒才发现排场贩的地方就是动画二期开 1st live 的地方。</p><center><img src="/japan202302/azuna1st_%E5%9C%BA%E8%B4%A91.jpg" class="" width="190"><img src="/japan202302/azuna1st_%E5%9C%BA%E8%B4%A92.jpg" class="" width="330"><br/>我们都是场贩人<br/><br/></center><p>  台场就是美食荒漠了，基本上都吃的萨莉亚和すき家。萨莉亚只能说，在世界范围内都是 yyds。</p><center><img src="/japan202302/%E5%90%8310.jpg" class="" width="190"><img src="/japan202302/%E5%90%8311.jpg" class="" width="330"><img src="/japan202302/%E5%90%8313.jpg" class="" width="330"><br/>p1 是摇曳露营的志摩凛同款泡面，p2 是 2 月 3 号节分日去便利店买的惠方卷，p3 是すき家的定食。</center><h2 id="AZUNA-1st-Day1">AZUNA 1st Day1</h2><blockquote><p>那一天，我变成了光。</p></blockquote><p>  这大概就是今天最深刻的感受了。<br>  回想第一次产生强烈的参加 live 的欲望，是水 5th 看到了安可彩虹，他们都化身成了光。从那一刻起，我想要成为光路的一员，去创造 live 中的重要景色，在企划中留下足迹，组成“みんなで叶える物語”。<br>  今天我做到了。幕间剧安排了官方光路企划，将观众分为三个颜色区，我在步梦色区二楼的边缘。我也是三色光路的创造者、贡献者了。<br>  今天也是疫情以来第一场出声 live。不仅我的颜色参与了 live 的创作，我的声音、我的动作，全部变成了 live 的一部分。<br>  如果说上周的星场因为位置太偏，感受还只是一个小看客身份，那么这场，获得的新感受就是参与感。</p><center><img src="/japan202302/azuna1st_1.jpg" class="" width="330"><img src="/japan202302/azuna1st_%E8%8A%B1%E7%AF%AE1.jpg" class="" width="330"><br/><img src="/japan202302/azuna1st_%E8%8A%B1%E7%AF%AE2.jpg" class="" width="190"><img src="/japan202302/azuna1st_%E8%8A%B1%E7%AF%AE3.jpg" class="" width="190"><br/>p4 是来自中国某粉丝团体的花篮，萤火虫 staff 桑楠木酸菜鱼在上面<br/><br/></center><p>  这是我的第二场现地。相比 Liella 3rd 东京，首先是席位进步了，在 2 楼第三排，舞台近了很多，台上的终于是正常人而不是蚁人了，真正能感受到她们就在前面，尽管看表情还是有难度（也有眼镜的因素，最新配的眼镜还没到）；其次是出声 live，憋了三年的人们终于迎来了爆发，能喊出来整个人的感受是高一个档次的。<br>  其实经过上一场就已经能明白，事实上一场 live 的好席位是非常有限的，差不多就是围着舞台的几圈以及花车位是好位，称为神席是真不为过，其他都是“見えにくい席”。曾经我一心想要去大场，想着只有巨蛋这种级别才能产生最好的氛围，现在注意到场子越大越是难以抽到好席这一事实，反而喜欢上小场 live 了。</p><p>  事实上这场 live 我是冲着楠木灯来的，AZUNA 的歌并不对我的风格所以之前不怎么听。AZUNA 一单、煮饭歌感觉过于儿歌，猫歌过于可爱不宜多听，动画二期插入歌风格太乱，唯一觉得很厉害的就是 maze town~~(妹子汤)~~，新出的四单只是听过一遍，感受还不深。这直接导致，live 上好多 AZUNA 的歌如同听新歌，call 根本不会，手忙脚乱，跟着 arena 和旁边的猪仔包学长依葫芦画瓢。<br>  这里就不得不说，近一两年 LL 出的歌就只有虹的 call 最激烈，很有老缪的风格，mix 和做特殊动作都很多。水和星都很安静，观众主要是听歌看表演，call 的动作都是普通动作，出声解禁对于虹的作用大于对水和星的作用。我不仅对 AZUNA 的 call 不熟，对虹团歌和其他 solo 其实也不算熟练，一专悸动跑路人和三专夹死比利算是简单的，但也有一些 mix 没喊出来；二专最可怕的就是副歌的动作，转几圈棒子打开然后 yes，我只在线上看到过这套动作，等到唱到这里的时候我才突然意识到要实战了，也是手忙脚乱，疯狂打到两边的棒子（x<br>  正好喉咙康复还没完全，开头几首歌扯俩嗓子差点没把我咳死，就以这个为借口跳过了不熟悉的 mix（</p><p>  所以相比之下，solo 部分就是我最享受的部分了。<br>  静子的四专武士曲，也是 call 十分激烈的一首歌，一边看前田手刃一边要跟着如同武士一般吼着。<br>  雪菜的 chase，红色火焰的绝唱，是整场 live 最核心的一首。全体观众化身火海，如同喷涌而出的岩浆赤焰，吞噬了一个又一个侑酱。上举强而有力，里打是窜动的焰尖，里跳呐喊震耳欲聋。灯的最后的 chase 了，没有楠木蹬，但是气势依旧足，穿上这身衣服她就是心中充满热爱与激情的优木雪菜。最后的高音没有冲到位，灯的表情是尽力后满足的笑容。<br>  步梦的韩风四专，飒爽帅气。如果兔把音准唱到位，会更帅。<br>  接着还有三首动画曲，属静子这首最好，主要是故事情节、歌词内容和装束，与另一个我的对话。</p><p>  小组四单的伴舞很好看，有点比下面的偶像还好。<s>（日常思考：下面的偶像你们的唱功配得上这个伴舞吗？）</s><br>  <s>三个人穿的白丝 prpr</s><br>  day1 日常烂麦，音量调了几首歌都没调对，收音也是出问题。<br>  我们期望的 AZUNA 版的缭乱并没有出现。。。<br>  时长只有 2h 多一点点，收了比 3h live 还贵的票价，定价的可能不是人。</p><p>  day1 结束没有悲伤的气氛，大家都是喜笑颜开、兴高采烈的，包括结尾 mc。没有过早地哭出来太好了，但是这也衬托着 day2 的危险，不知道明天结束会不会全体崩溃决堤。</p><h2 id="AZUNA-1st-Day2">AZUNA 1st Day2</h2><p>  座位相比昨天更上一层楼（x</p><center><img src="/japan202302/azuna1st_2.jpg" class="" width="330"></center><p>  人是坐得远了一点，但好在这场子很小，依旧看到了正常大小的人。</p><p>  内容一样的，就直接说说感想吧。<br>  非常有幸今天坐到雪菜色区。众所周知今天最大的意义莫过于是楠木灯最后一场 live，可以在最后一天以雪菜色告别灯，实在是幸福得很。<br>  雪菜的 solo 仍然是 chase，那么今天就是最后一次灯版 chase 了。这首歌仍然是所有里跳喊得最亢奋的，只不过可能少了一点激动和惊喜，因为大家都知道今天有 chase。我们依旧看到的是，心中充满热爱与激情，坚韧不屈的优木雪菜，在操控着红色的火海。最后高音冲上去了，余音绕梁，欢呼雀跃。<br>  <s>chase 我棒子疯狂打到前排的头</s><br>  今天其实 call 谱没熟悉很多，但是一股老油条感上来了，我就按我的节奏打，上举前挥的切换什么的我行我素了，我不会的 mix 也直接跳过。我左边的老哥看上去也是不怎么会 call 的，大家都是随随便便凑合一下（<br>  但是 AZUNA 的歌确实熟悉了不少。开演前查了 AZUNA 的 song list，至少清楚了哪些歌出自什么专、哪些歌是谁的 cw。感觉四单意外地好听，三个人在海洋里自由自在地玩耍的感觉，旋律不错的。以及几个小组单的 cw，发现我还挺喜欢这几个旋律的，特别是新的四单 cw。以前可能对 AZUNA 还是有些 stereotype 了，总觉得她们是唱儿歌的，现在让我重新认识了 AZUNA，活泼而俏皮的曲风是很棒的。<br>  一个小细节，四单新衣服，灯是平底鞋，其他两人的鞋跟 5 公分起步。有时候这些细节很能体会到世界的温柔。同时也是因为鞋跟的原因，146 看上去并没有这么矮，跟灯灯是几乎持平的。<br>  结尾 mc，也是很真实的感情流露。灯是最害怕因为自己使得气氛变得悲伤无比的，所以反而是不会表现出离别的伤感的，她表达出来的情绪核心是开心与幸福，别人在说悲伤的东西的时候她会去打断，会如同没事人一样“生气”别人渲染氛围。所以你可以看到这趟 mc，灯是笑着的，其他两人却是忍着泪的，最后灯是被两人带哭了。</p><p>  楠木灯，年龄只比我小 5 天的人，也是你拉第一个比我小的人。<br>  她笑起来真的很奔放很灿烂。<br>  我们无法想象灯会不会是忍着怎样的痛苦在完成两天的 live 的。如果是的话，她是以怎样强大的信念支撑她完成了这场高强度演出。<br>  这也是雪菜性格的一部分吧，对热爱的东西，会执著不屈。最后能把这点体现出来，是一个很棒的告别了。</p><p>  我对虹的参与度高了不少，即便是 AZUNA 这样不算很熟悉的，也现地了两天，然后喜欢上了她们一些歌。<br>  也同样有些许遗憾，难得有 call 很激烈的场，却因为不熟练而玩得不够开。不然如果更加全身心地投入，很自然地把词喊出来，那就会是一次融入更深的体验了。<br>  有幸听到了绝版的 chase，也可以盖过所有的遗憾了。<br>  “补 live -&gt; 云 live -&gt; 上映会 -&gt; 民间组织观影 -&gt; 现地烂席 -&gt; 现地好席（当前阶段）-&gt; 现地神席”，进步了一点点，以后还要继续，要得到所有人的 res 为止。<br>  前途光明未来可期，对大家都是。<br>  <s>菜宝什么时候带队来香港开 live 啊</s></p><h2 id="离开">离开</h2><p>  最后一天就是坐京成线慢慢悠悠地晃过去坐飞机了。飞机沿着海岸线飞，从飞机上眺望一下富士山、东京湾、江之岛吧（看看你们能不能找到了）。</p><center><img src="/japan202302/%E9%A3%9E%E6%9C%BA2.jpg" class="" width="330"><img src="/japan202302/%E9%A3%9E%E6%9C%BA3.jpg" class="" width="330"><img src="/japan202302/%E9%A3%9E%E6%9C%BA4.jpg" class="" width="330"><br/>依次是：东京湾+富士山、东京湾、江之岛<br/><br/></center><h2 id="End">End</h2><p>  告诉家人这趟行程我将独自出行之后，家人们都表示十分担心，纷纷劝我放弃。<br>  事实证明，我拥有独自出行日本的能力，他们大可以放心了。</p><p>  我也尝试带同学一起来，尝试邀请过同学。最后考虑到，这趟行程实在是太 LL 了，总归还是我一个人好，孤独就孤独一点，至少 blog 是我的分享地，也还有朋友愿意接受我的图片轰炸。<br>  有时候同学们问起我，以及家人问起我，你这趟去日本到底是要玩些什么，我都有点怪不好意思，怎么给他们解释圣地巡礼呢？就是很有名的动画取景地想去探访一下吧。<br>  泡芙也是，他的朋友也笑他，大老远跑来日本就为了拍几个楼梯几面墙。<br>  他们不懂，这就是文化内涵。就好比大老远去安徽黄山，非要找一棵迎客松，明明到处都是松树；就好比佛山古村落里每间屋子都差不多，但我就非要参观某一间屋子，因为它是康有为故居。为什么岳阳楼、滕王阁这样的楼阁，是我唯一宁愿排队也要去的大众景点，就是因为有诗词作品赋予了它们文化内涵，登上去体会的是古仁人的心境。动画作品也一样，它讲了好的故事，它带给你感动，它引起你的思考，你也是到动画中的场景来，重新体会。<br>  再加上咱们看 live，那这趟行程下来我们确实已经无敌了。</p><p>  遗憾也还是有的，live 的席位还不够好，没有去爬香贯山（对于 hiking 爱好者来说，近在咫尺一座山不爬，好比中了一百万彩票不去兑奖），也没能与日本人来一次使用高级句式和词汇的交流~~（反证法证明这样的场景不存在，假设某场景我即将要使用高级句式和词汇，在此之前一定会先因为听不懂对方说的话，而把对话转成英语，从而场景不存在）~~。<br>  留一点遗憾也是好的，这样就会对未来继续抱有期待，只有对未来有所期待，生活才会变得光明。</p><p>  水 7th，虹 6th，星 4th，哪次再见呢？</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;&lt;strong&gt;流量预警：全文包含约 80MB 的图片&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;  日程是 1 月 28 日至 2 月 6 日，涵盖如下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Liella 3rd live 东京场 day2&lt;/li&gt;
&lt;li&gt;AZUNA 1st live day1+day2&lt;/li&gt;
&lt;li&gt;LoveLive Sunshine 沼津圣地巡礼&lt;/li&gt;
&lt;li&gt;LoveLive 虹咲学园学园偶像同好会 台场圣地巡礼&lt;/li&gt;
&lt;li&gt;LoveLive Superstar 原宿圣地巡礼&lt;/li&gt;
&lt;/ul&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>未来は風のように</title>
    <link href="http://kqp.world/sum2022/"/>
    <id>http://kqp.world/sum2022/</id>
    <published>2023-01-17T15:39:54.000Z</published>
    <updated>2026-06-24T09:18:36.590Z</updated>
    
    <content type="html"><![CDATA[<p>  本来这篇去年就该写的了，<a href="/sum2020/" title="始まりは君の空">上一篇年终总结</a>已经是 2020 的了。2021 也发生了很多事，都是决定人生前途的大事，但是因为过年前忙着搭这个新博客，搞着搞着就把年终总结咕了。。。咕了足足一年。<br>  今年这个就给这两年一起记个流水账。<br>  标题与<a href="/sum2020/" title="始まりは君の空">上一篇年终总结</a>遥相呼应的。<s>放在去年其实最合适不过了，然而现在都已经放第二季的歌了</s></p><span id="more"></span><p>  2021 和 2022，是疫情的第二年和第三年。疫情改变了很多很多，2020 年所有人面对很多事情都是慌乱无措，这两年逐渐恢复有序，却也夹杂着不少荒诞滑稽。</p><h2 id="竞赛">竞赛</h2><p>  众所周知，2020 年底的济南赛区，无人之境出线了。<br>  所以从 2021 年开始，我打比赛的心态也改变了。归根结底是少了一份焦虑，毕竟竞赛是很花时间的，放在大三升大四这个升学关键点，仍然一周四训却摸不着实在的东西的话，我会感觉很不踏实，但现在踏实了，终于完成了三年前 symbol 说的“实现你中学时未完成的梦想”、两年前左左说的“把 final 进了再说”，可以开始更长远的规划了。<br>  实际上，这是第一个被疫情拉长的赛季，全国上下都老老实实地，一直保持着一定强度的训练，以不变应万变。也因如此，我们在 4 月的昆明赛区仍有好的状态，进入出线区。<br>  然后就是 EC、毛营、华为营，题目都有难度，只能说表现得勉勉强强。<br>  到了 CCPC Final，因为一个老套路构造题不会做，最终丢了一个题以及浪费了大量时间，不幸打银。这时候才发现，昆明以后，我们确实有些疏于训练了，作业多了起来，我也在忙着搞 HKU 的面试，全然只是靠着两个 camp 维持一下水平。这成为整个赛季我们最差的一次比赛，却成为学校报导最狠的比赛（x<br>  大三就这样结束了，我们也各自有了前途，我有书读了，邓老板去华为实习，zayin 去 google 实习。本以为大家就这样把大四度过去，最后还是为了给学校救场，又续了一年。区域赛有训练，等邓老板和 zayin 都结束实习之后也还有一周四训，但也是打得勉勉强强，甚至还落了个铜。后面做毕设以后更是一点没训练了，仅仅是时不时打一下各大 oj 的比赛，EC 前康复一下，就去了 EC 和 CCPC Final，没想到发挥还不错，意外又捞到一个出线和一个前十。至此，无人之境也成了两年都出线的队伍了。<br>  WF Dhaka 因为疫情没有去成，白给一次。<br>  到此，本科的竞赛生活算是全部结束了，尽管它一直持续到了大四毕业的暑假。但是竞赛仍然还没有结束，还要一直等到 2023 下半年的 WF Egypt 才是真正的句号。算一算，从 2011 年暑假开始学编程，竞赛一共要玩 12 年。这大概是我目前做过最长久的事情了吧。</p><p>  12 年，想想小学的时候写出了“输入圆的半径，求圆的面积”，得意洋洋，其实现在也还是的，推出很牛逼的多项式题或者数据结构题还是会得意洋洋。<br>  体验了各种各样的比赛，也遇到了各种各样的人。中学大家都是并肩作战的朋友，但是到了考场上其实都是竞争关系。大学又是另一种体验，真真正正是团队三人一起往前走，同甘共苦的。像无人之境这个团队，风风雨雨两年，试过三个月狂训，群聊从竞赛到功课到人生到各种吹水，时不时就一起出差到处跑，彼此思维互相了解，很难说不是兄弟了。</p><p>  大三大四也更多地以出题人的身份参与中学和大学的竞赛了，也不仅仅是出题人，也是组题人和负责人了，从另一个视角来体验竞赛。老实说，出题的心态也是会变的，一开始的时候，觉得出题很好玩，可以分享绝妙的 idea~~，可以报复社会~~，但是随着越来越多的出题任务，一次又一次的出锅，被选手喷，热情也会被消磨的，到最后退隐的想法会愈发强烈，尽管越到后面越要负责更多的题目。<br>  组题人视角真的是令人体会颇深，你会发现你绝不能随意听信出题人对于某个题的得分分布设计，绝不能臆想选手水平，绝不能有意或无意地把出题搞成炫技，绝对要严格遵守繁长的验题流程。你更能懂得选手与出题人如何通过题面来交流，更能理解打比赛时出题人的种种失误，更能珍惜一份好题的来之不易。<br>  出题的过程也是类似科研的，都是在一片未知里探索，脑中蹦出一个 idea，谁也不知道可不可行，也是拼命地去想办法解决它、优化它~~，拼命地修改题目条件以找到这个 idea 的适用场景~~。</p><p>  如今还是会上网打比赛，codeforces，atcoder，挑中国时间场，睡觉优先。WF Dhaka 也跟人一起打了同步赛。当比赛不能成为主业的时候，当业余爱好也是很好的。这也是许多前辈们延续对竞赛热爱的一贯做法。</p><h2 id="科研">科研</h2><p>  读研是一早就决定了的，那么 2021 年，稳了 final 之后，自然这事就成了重中之重。<br>  一开始又找了万法师和炜麟学长，想蹭一下文章。于是搞起了 Linear Temporal Logic(LTL)。3 月很积极，每天认真读论文，4 月由于各种事情开始变得咕了，后面就越来越咕了（x</p><p>  4 月，打破了原来只想在国内读研的想法，开始了解外国学校和老师。恰好华为给我推荐了一个 HKU 数学系老师，我就顺势了解了 HKU CS，得知他们的提前批快要开始了，就想着申一个先练练手，为暑假去各大高校夏令营做准备。当时主要目标还是清叉的。<br>  套了 zhiyi，得到了模板回复。<br>  提前批面试阶段，zhiyi 并没有找我，反而 Hubert 给我发了邮件，粗略地看了看他的 paper list 感觉还行，隐约看到好多 complexity 字样的东西好开心，于是就约了面试。<br>  第一次面试，绝对人生耻辱。纯英文，问啥啥不会，我说我算法好，他说你讲讲网络流吧，我坑坑巴巴讲个 dinic 讲不清楚；他说，你讲讲暴力增广网络流吧，我讲一大通漏了反向弧被他质问半天；他说，你证一下最大流最小割定理吧，我说用对偶来证，然后发现根本不会对偶；他说，你讲讲有了最大流怎样求一个割吧，我口胡了个假做法被他当场揭穿；他说，你做一下这个题吧，我脑子空了完全没有思路（事后才反应过来他问的是最大密度子图）；他说，咱换一个，你说你数论好，你讲讲 RSA 吧，我急忙掏出课件却因为时间太久生疏了讲了一堆错被他质问；他说，你证一下 gcd 的复杂度吧，我证出来了，这成了我全场唯一答上来的问题。<br>  无数次想要直接关掉 Skype 结束痛苦。<br>  善良的 Hubert 给了我三天后第二次面试的机会。这三天绝对是我最愤怒而拼命的时间，我的心态很冰凉，即便最后你可能只是为了善意给我二面但其实一面已经一票否决了，但我还是一定要全力以赴，必须让你知道，竞赛生是绝对不会证不出最大流最小割定理，绝对不会连最大密度子图都不会做的。<br>  二面，给他证了 1h 的最大流最小割定理，又给他讲了 1h 的最大密度子图，他极其抠细节，每一个细节都认真检查。当听到“You proved these things. That's fine. I'll give you the offer”，心是终于落下来了。</p><p>  后面把流程走完，HKU 基本就稳了。然而这也带来一个很大的弊端，就是经过这一轮面试的折磨，且成功拿到 offer 以后，整个人就变懒了，NJU、IIIS 的夏令营也不想报名了，国外的老师也懒得套瓷、申暑研了。此时对 Hubert 的印象大多还是靠想象以及被他一些文章标题骗了的，以为他的 TCS 血统比大陆高校的老师更加纯正，全然不知道这个人其实没啥很纯的东西，做的东西很杂很偏，complexity 更是想都别想。再加上暑假发生了很悲伤的事，一整个暑假没有动力去套瓷和暑研，基本上也就只剩 HKU 了。<br>  Hubert 其实人很好，5 月给了系 offer 之后他说，给你 4 个月时间申美国，不成功再来 HKU 读，9 月再来找你。9 月他如期来找我，我很惭愧地跟他说其实这 4 个月啥也没干。。。<br>  后面套了 UCSD 也是模板回复，于是也就弃了。至此，大概是确定今后就是 HKU 了。<br>  暑假以及后面的申请季这么晃荡过去实在是有些荒唐，但实际上我又无时无刻不忐忑，我是纯竞赛选手，除了奖牌和一次 WF 资格（还只是资格）以外一无所有，没有 paper，没有在做的成熟的课题，没有学术后台背景和推荐信，这么申外国哪敢啊！</p><p>  于此同时，我也粗略地看了 Fine-Grained Complexity(FGC) 的 introduction，立即对这个东西产生了兴趣。当 Hubert 问我以后想做什么的时候，我张口就来，Fine-Grained Complexity。他说好啊，那你就先跟着这个 UCB 的 Simons Institute 学吧。<br>  于是 9 月给炜麟学长最后讨论了一次 LTL 之后，我就专心开始搞 FGC 了。以 Ryan William 的课以及他的大作业 reading list 为起点，为了结合 Hubert 在 cryptography 方面的优势，初步选择了 FGC+cryptography 的道路，恰好就有那么个方向叫 Fine-Grained Cryptography，就是用 fine-grained hardness 去搞密码学。10 月人生第一次完整读完了一篇 STOC paper，也是在这个方向读完的第一篇 paper，搞懂作者在里面用了多点求值和快速插值之后，感到又要回归熟悉的多项式血雨腥风，不忍苦笑了很久。毕设选题毫不犹豫选了 FGC+cryptography，1 月受到论文启发突然想到了搞 Fine-Grained Zero-knowledge Proof，想到这个可高兴了，complexity、cryptography、ZKP 三大愿望同时实现。<br>  只可惜这方向是真的没人带，找 Hubert 讨论，虽然他说很 interesting 但实际上也没能提供什么指导，两次讨论感觉都不是有效讨论，感觉他只能作为一个 check 细节的工具人。于是整个 2-4 月就是我一个人单干，自己啃论文，自己拍脑袋，想了些很 trivial 的东西也假装我提出了很厉害的概念（x<br>  4 月提交了初稿之后其实自己又查出了一个 bug，直接把结论拉低了一个档次。本想着后面好好修修，然后继续加强，争取开学之前搞出点像样的东西来。然而实际上后面也很摸，一边浅浅恢复竞赛水平，一边趁本科最后的时机在玩耍，一边想着除课题外还有很多 TCS 基础要补（比如 complexity 教科书），5-6 月也是晃荡过去了，7-8 月的暑假则是疯狂在出题，也没有搞课题……</p><p>  开学了，有了 Hubert 正式的参与，研究也变得正式了很多，开始有正规的 literature research 了，把基础的 ZKP 都学了一遍，也能讨论方向了。这课题大概就是，大方向把握在我手中，小方向由他给建议~~（总感觉应该反过来才正常）~~。只不过三个月后，进展仍不顺利，总是有东西无从下手。同时，Hubert 发的一篇 proposal 中了一百万，因此里面的 cooperative game theory 就不得不做下去，于是我和学长和 Hubert 三个人又一起在 12 月份开了这个新题。新题目有老板指挥，每天推式子算期望，有看得见摸得着的进展，相比起我那 Fine-Grained ZKP 的大饼，这个还是更让人心里踏实一点。</p><p>  这两年，特别是 2022 年，可以说，最主要的进程就是完成由竞赛生到科研者的转变。比如思维方式的转变，说白了就是许多做竞赛题的套路要放下了，而做科研题的套路要开始学了，举个例子，要证某个东西的 lower bound，就要很快地想到是用反证法，假设我可以做到比这个 lower bound 更优，我能利用它做出一个厉害的算法，违背某些 hardness，那么使用哪些 hardness，比如某个问题的直接求解的 hardness，或是 approximation hardness，或是 average case hardness，而这些 hardness 有没有可靠的论文支持，都要变得熟悉而敏感起来；或者说要设计协议让某个过程大概率按我设想的去执行，那么就要想到用 chernoff bound 或类似物去把概率给 bound 住。还有是学习方式的转变，竞赛某个新知识点通常内容不多，很容易就有整理好的资料（大佬们的博客），在科研里，基本上需要自己去跟进最新的论文以及有持久影响力的老论文，自己做整理，还不能确保它们有用。<br>  很多时候能切实体会到竞赛相比于科研确实是比较短平快的。写博客就是很好的例子，一般一个有难度的竞赛题就是一篇完整的内容，适合单开一篇博客，偶尔再把相似做法的题整理在一起形成套路。但是读论文就不太一样了，往往一篇论文技术细节很多很值得写一篇文章记下来，但是考虑内容完整性它通常又不够，因为它往往只是解决一个问题的一个小部分，总是要好几篇文章加起来才能很清晰地说明一件事情。所以开学以来，博客更新量明显少了，不是不想写，而是碍于完整性我不知从何构建。今后可能也会很咕~<br>  上面说了科研跟竞赛出题是类似的，最大的不同应该就是在于意义的考虑了。出题可以随便附加条件，树上版本、在线版本、参数范围，随意变动。科研的时候，你必须讲得出这个条件的意义，哪怕是理论研究也不能随意添加或修改问题条件。<br>  科研更像是上班，作息时间、工作模式也向上班靠拢了。这里没有我想象的那么肝，学长学姐们都很会玩，有很多娱乐活动，日常摸鱼时间也很多。我问他们会不会担心将来论文不够，他们的回答都是，TCS 急不来的，idea 没来再肝都没用（x</p><p>  也跟左左达成了共识，哪怕作为学生，也必须把课题主动权掌握在自己手中，不可以做纯粹听命令完成任务的工具人。这两年我观察到的是，绝大部分学生去找导师都是看看导师有什么题，然后挑一个题跟着做，导师也不含糊，直接抛出他目前在做的题目，让学生挑一个。我跟 Hubert 是例外，我是抱着自己的题去找他的，我问他他有什么在做的题我能跟着做的，他总是回避，反问我想做什么题。左左也是例外，他找的合作学生总是“等你啥时候想出来好东西了叫我来给你排列组合”，他抱怨开会时学生讲的内容很明显是开会前一小时推出来的。<br>  这其实就是在说思维的惰性吧，完全把科研当作上班领任务了。我们认为，硕士还情有可原，你可以说并不打算把自己打造成会自己找方向、对课题有非常深入的思考、想要提出建设性意见的人，而只是想做优秀的任务执行者。如果是博士，这样做就是持续依靠老板，最终不能独当一面的，也就达不到“能独立做研究”的博士毕业要求。</p><h2 id="LoveLive">LoveLive</h2><p>  要说到 2021, 2022 年，那首先得是 Liella，这个也一起从 2021 年成长起来的团队。<br>  疫情元年完成了选拔与投票，认识了鲤鱼姐。2021 年初第一场生放拉开序幕。进度飞快，第一场生放当场播一单试听，4 月发售一单，举行一单发售 live，七月播动画，十月直接 1st live 20 场巡演，年底上三团跨年。<br>  有很多传承，比如故事风格、初期曲风、发展节奏，跟水是类似的，就感觉 LL 隔代遗传，缪的节奏遗传虹，水的节奏遗传星。也有很多创新，主要还是企划首次的五人团队，创造很多奇妙的羁绊。弊端也很明显，1st 巡演分摊下来强度过高，声乐培训不到位，直接废了某位的嗓子。我们当时说，20 场过后，小百合要么成神，要么报废，如今看来很不幸是后者。但总的来说，小风小浪，平平稳稳，也算是作为第四代团打开了局面。像是小星星、nonfiction 和一众 cw 好曲，还是收获了不少人气。<br>  风浪从 2022 年开始。4 月底突然宣布加一组二期生共 4 人，直接斩获全年最迷惑操作。一时间天下大乱，骂街的骂街，哭丧的哭丧，吵架的吵架，退坑的退坑。一期生的 2nd 最后一场，也被冠以“老五人 final live”的名称。自此星团风评急转直下，观众老爷对待 7 月的第二季动画自然也是怀着失望的基调。好巧不巧第二季动画不孚众望，节奏赶，商业味浓，情节主线处理不当，歌曲游离于剧情之外，还时不时踩一下暴躁观众的雷，值得赏析的部分全部被盖住了，使得星团失去大部分口碑。动画播完，宣布招三期生，再往伤口撒盐。如今星团人气是如何样子，看 3rd 巡演抽选抽了就中、每一场都能卖一般追加票和当日券，就知道了。（参考：水 extra 和 AZUNA 1st 的 CD 抽选都不低于 10 中 1）</p><p>  要说我第一个从头到尾看着长大的孩子，如今被人口诛笔伐，那是当然难受的。现在留下来的人都是接受度高的，能感受到新四人的可爱与付出，尽管她们配音水平和歌唱水平实在有待提高。我当然是很 DD 的了，尽管我也被加人的消息震惊了很久，那时还是毕设答辩前夕，痛苦极了。我始终认为，核心的核心，是绝不能让开新团和加人成为溃口，放混子进来。如今进来的新人无一不是浓度极高的老粉，也是粉丝走上台，演绎新的故事，这也是“大家一起实现的故事”。自觉传承并发扬 LL 的精神核心，目前大家都能做到，因此三团跨年 26 人站上台的时候，感受到的是香火延续，人丁兴旺，子孙满堂，而不是鱼龙混杂，浑水摸鱼。在此之上，更大的愿望是他能好好培养每一个人，增加配音指导和声乐指导，追求高质量动画、歌曲和 live。像雪雪这种开了 1st 之后直接雪藏两年的行为，就如同 4 个 2 拆两对 pair 来打，鼎铛玉石，金块珠砾，弃掷逦迤。<br>  当然，大家也还是要提升鉴赏力，星的动画真不难懂，没有那么多奇怪的逻辑问题，角色塑造还是有好的地方的，像香音这种双性格角色的刻画，还是十分精彩的。永远希望大家能心平气和地看番听歌，多听听官方生放和一些客观的动画鉴赏，不要求你同意但至少要引起你的思考。</p><p>  提到加人，就不得不说加人成功的典范，虹咲。r3 也是 AS 剧情地狱开局，到现在却是生机勃勃，万物向好。其一，优秀的动画制作是杀手锏，有虹一季各种姛和扭曲打底，有三次元的逆输入，有精良的歌曲画面，有高厨力制作组各种融梗，剧情主线、矛盾、铺垫等处理较好，能让人看完动画直接爱上虹。其二，加人经过漫长的铺垫，有时间的沉淀，不是突然加塞的，而是让人慢慢喜欢上的。其三，声优本身吸引人，萌 p 是老熟人了，秀和菜宝都是外国人，人设新颖。其四，歌曲加分，虽然我不喜欢 r3 纯耍帅没内容的团曲，但它确实能吸引很多观众，而动画曲表现就很好了，岚珠一首 Eutopia 以其狂傲不羁直接把动画拉高了一个台阶，米娅 Stars We Chase 令其化身 Mia Taylor Swift。星没按 r3 的节奏走，但是可以借鉴经验力挽狂澜。</p><p>  水水这两年倒是平静，2021 年的主要任务是把没完成的小组 live 搞完，2022 年的主要任务则是 6th 蛋巡，以及宣布幻日夜羽。数据显示水的动员力比虹星加起来都要高，果然老家伙积累的人气不是吹的。并且有了幻日夜羽，至少水这个团队是能续很久了。</p><p>  再说我自己。自 2020 年随组织看了两场水的线上 live 之后，厨力算是又提升了一个水平，会追 live 了。这两年线上<s>白嫖</s> live 逐渐成熟，三团跨年后还知道了华南群这样的大规模民间组织，因此算是达到了国内看 live 的巅峰状态了。国内民间组织看 live 是真的优势独特，方便，便宜，能出声喊 call。当然以前的官方上映会也还是正式些，唱歌时还要站起来的。<br>  有幸认识了萤火虫 staff 楠木酸菜鱼，现在是无话不聊的好朋友了，经常一起看 live，线上白嫖也会连麦看。<br>  学会了逛漫展，跟 LL coser 集邮很快乐，在偶像舞台<s>厄介</s>应援也很快乐，大家一起玩的气氛跟自己玩还是有点不一样的。<br>  逐渐有了经济能力，能买杂志、棒子和写真集了。读 LL Days 等杂志是很棒的体验，等 sif1 关服之后，如果 sif2 玩不下去，这时间就用来读杂志。<br>  老实说，LL 成了我考虑读研学校的一个选择因素，虽然不该这样，但选 HK 确实也有一个原因是离 LL 近一点。甚至之前套美帝的时候，也是上官网确认了水 5th 在 San Diego 有转播才给 UCSD 的老师发邮件的。。。<s>有条件的话，学 Bingkai 去东京大学自力更生搞个大新闻好像也挺好？</s><br>  现在我也确乎离 LL 更近了。随着疫情好转，日本签证和入境开放，我也终于迎来了赴日机会。2023 年 1 月底 2 月初，我将现地 Liella 3rd 东京场和 AZUNA 1st，加上沼津台场原宿圣地巡礼。这将是我厨力再上一层的重要里程碑，<a href="/japan202302/" title="Liella 3rd 东京场 + AZUNA 1st + 沼津台场原宿圣地巡礼！">欢迎大家围观</a>！</p><h2 id="end">end</h2><p>  暂时就先写这么多，想到什么再补充什么吧。<br>  以 2020 为疫情元年，今年是疫情四年了，其实随着国内开闸泄洪，疫情也是走到趋于结束的地步了。恢复经济，恢复有序生活，我们都这么盼望着。<br>  WF Egypt，ZKP，Cooperative Game Theory，complexity，现地 live，圣地巡礼~~，找女朋友~~，我们还有很多事情要做。</p><blockquote><p>未来は風のように<br>僕らを呼んでるんだ<br>何が待ち受けてるか誰も知らない<br>——未来は風のように</p></blockquote>]]></content>
    
    
    <summary type="html">&lt;p&gt;  本来这篇去年就该写的了，&lt;a href=&quot;/sum2020/&quot; title=&quot;始まりは君の空&quot;&gt;上一篇年终总结&lt;/a&gt;已经是 2020 的了。2021 也发生了很多事，都是决定人生前途的大事，但是因为过年前忙着搭这个新博客，搞着搞着就把年终总结咕了。。。咕了足足一年。&lt;br&gt;
  今年这个就给这两年一起记个流水账。&lt;br&gt;
  标题与&lt;a href=&quot;/sum2020/&quot; title=&quot;始まりは君の空&quot;&gt;上一篇年终总结&lt;/a&gt;遥相呼应的。&lt;s&gt;放在去年其实最合适不过了，然而现在都已经放第二季的歌了&lt;/s&gt;&lt;/p&gt;</summary>
    
    
    
    <category term="总结与游记" scheme="http://kqp.world/categories/%E6%80%BB%E7%BB%93%E4%B8%8E%E6%B8%B8%E8%AE%B0/"/>
    
    
  </entry>
  
  <entry>
    <title>Orthogonal Vectors Problem 相关</title>
    <link href="http://kqp.world/OV/"/>
    <id>http://kqp.world/OV/</id>
    <published>2022-10-27T08:01:11.000Z</published>
    <updated>2026-06-24T09:18:36.563Z</updated>
    
    <content type="html"><![CDATA[<p>  Fine-Grained Complexity 四大基础问题中的一个。</p><span id="more"></span><p>  这里推荐的资料是 <a href="https://people.csail.mit.edu/virgi/6.s078/">MIT 的一门课</a>的第 6、7 讲。</p><h2 id="Task">Task</h2><p>  Orthogonal Vectors Problem (OV)：<br>  给定 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 维的 01 向量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>v</mi><mi>n</mi></msub><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><msup><mo stretchy="false">}</mo><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">v_1,\cdots,v_n \in \{0,1\}^d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">}</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span></span></span></span>，问是否存在两个向量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>v</mi><mi>j</mi></msub></mrow><annotation encoding="application/x-tex">v_i, v_j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7167em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 是正交的，即 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">⟨</mo><msub><mi>v</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>v</mi><mi>j</mi></msub><mo stretchy="false">⟩</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\langle v_i, v_j \rangle = 0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0361em;vertical-align:-0.2861em;"></span><span class="mopen">⟨</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">⟩</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>。</p><p>  这个问题的暴力是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mn>2</mn></msup><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^2d)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mord mathnormal">d</span><span class="mclose">)</span></span></span></span> 的，枚举两个向量，然后每一维去验证。且在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 比较小的时候（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>≤</mo><mn>2</mn><mi>log</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">d \le 2\log n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8304em;vertical-align:-0.136em;"></span><span class="mord mathnormal">d</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord">2</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span></span></span></span> 时），可以用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mn>2</mn><mi>d</mi></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(2^d)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的各种算法解决。<br>  但是在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mi>ω</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">d=\omega(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">ω</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 时，我们很难找到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mrow><mn>2</mn><mo>−</mo><mi>ϵ</mi></mrow></msup><msup><mi>d</mi><mi>c</mi></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^{2-\epsilon}d^c)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">ϵ</span></span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal">d</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">c</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的算法，因此猜想它是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">n^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span>-hard 的。事实上，它可以由 SAT 问题归约而来，因此 SAT 的困难性猜想 Strong Exponential Time Hypothesis (SETH) 可以推出 OV 问题的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">n^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span>-hardness。</p><p>  这个问题有许多变式：</p><ul><li>给定两个集合 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo separator="true">,</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">A,B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span>，每个集合有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 维的 01 向量，问是否存在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mn>1</mn></msub><mo>∈</mo><mi>A</mi><mo separator="true">,</mo><msub><mi>v</mi><mn>2</mn></msub><mo>∈</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">v_1 \in A, v_2 \in B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6891em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 使得 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>v</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">v_1,v_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 正交。（易证这个版本跟上述版本是等价的）</li><li>计数版本，求有多少对向量是正交的。也可以继续拓展，做近似计数、sampling。</li><li>不再是 01 向量，而是某个域下的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 维向量。</li><li>k-OV，给定 n 个向量，问是否存在 k 个向量，内积为 0。困难性猜想为不存在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mrow><mi>k</mi><mo>−</mo><mi>ϵ</mi></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^{k-\epsilon})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mbin mtight">−</span><span class="mord mathnormal mtight">ϵ</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 的做法。</li></ul><h2 id="比较好的解法">比较好的解法</h2><p>  该解法来自 [AWY15]，可以做到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>n</mi><mrow><mn>2</mn><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>d</mi><mi mathvariant="normal">/</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(n^{2-1/O(\log (d/\log n))})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.138em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mbin mtight">−</span><span class="mord mtight">1/</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">O</span><span class="mopen mtight">(</span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">d</span><span class="mord mtight">/</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">))</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。思路是，给向量分组（每 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个一组，分为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>n</mi><mi>s</mi></mfrac></mrow><annotation encoding="application/x-tex">\frac ns</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0404em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 组），转化成“对于每一个组对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>A</mi><mo separator="true">,</mo><mi>B</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(A,B)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span><span class="mclose">)</span></span></span></span>，是否能在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 找一个向量，在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 找一个向量，使其正交”的子问题。每个组对的任务写成一个逻辑公式，并用一些 trick 变成比较好的多项式，然后使用矩阵乘法的 trick 让所有组对同时计算这个多项式。</p><p>  先有几个 trick：</p><blockquote><p>Lemma1：如果要计算 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>1</mn></msub><mo>∨</mo><msub><mi>y</mi><mn>2</mn></msub><mo>∨</mo><mo>⋯</mo><mo>∨</mo><msub><mi>y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">y_1 \lor y_2 \lor \cdots \lor y_m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.75em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.75em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>，那么可以选择一个正整数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span>，对于每个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>t</mi></mrow><annotation encoding="application/x-tex">1 \le i \le t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7804em;vertical-align:-0.136em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7955em;vertical-align:-0.136em;"></span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span>，选择一个随机子集 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>⊆</mo><mo stretchy="false">{</mo><mn>1</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>m</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">s_i \subseteq \{1,\cdots,m\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.786em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊆</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">m</span><span class="mclose">}</span></span></span></span>，令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>i</mi></msub><mo>=</mo><msub><mo>⨁</mo><mrow><mi>j</mi><mo>∈</mo><msub><mi>s</mi><mi>i</mi></msub></mrow></msub><msub><mi>y</mi><mi>j</mi></msub></mrow><annotation encoding="application/x-tex">Y_i = \bigoplus_{j \in s_i} y_j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1858em;vertical-align:-0.4358em;"></span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">⨁</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.162em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mrel mtight">∈</span><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3281em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4358em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span>，则只需计算 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>∨</mo><mo>⋯</mo><mo>∨</mo><msub><mi>Y</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">Y_1 \lor \cdots \lor Y_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 即可。</p></blockquote><p>  证明：<br>  如果原式为假，则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>∨</mo><mo>⋯</mo><mo>∨</mo><msub><mi>Y</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">Y_1 \lor \cdots \lor Y_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 肯定为假。<br>  如果原式为真，令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>s</mi><mrow><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi></mrow></msub><mo>=</mo><mo stretchy="false">{</mo><msub><mi>y</mi><mi>i</mi></msub><mi mathvariant="normal">∣</mi><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">s_{true} = \{y_i | y_i=true\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">r</span><span class="mord mathnormal mtight">u</span><span class="mord mathnormal mtight">e</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">∣</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">t</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mord mathnormal">u</span><span class="mord mathnormal">e</span><span class="mclose">}</span></span></span></span>，则每次生成随机子集 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>s</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">s_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 时，在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>s</mi><mrow><mi>t</mi><mi>r</mi><mi>u</mi><mi>e</mi></mrow></msub></mrow><annotation encoding="application/x-tex">s_{true}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">t</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">r</span><span class="mord mathnormal mtight">u</span><span class="mord mathnormal mtight">e</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 中选中奇数个元素的概率是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac 12</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>，所以 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mo stretchy="false">[</mo><msub><mi>Y</mi><mn>1</mn></msub><mo>∨</mo><mo>⋯</mo><mo>∨</mo><msub><mi>Y</mi><mi>t</mi></msub><mo>=</mo><mn>0</mn><mo stretchy="false">]</mo><mo>=</mo><mfrac><mn>1</mn><msup><mn>2</mn><mi>t</mi></msup></mfrac></mrow><annotation encoding="application/x-tex">P[Y_1 \lor \cdots \lor Y_t=0]=\frac{1}{2^t}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mopen">[</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">0</span><span class="mclose">]</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7253em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>。</p><blockquote><p>Lemma1.5：如果要计算 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>1</mn></msub><mo>∧</mo><msub><mi>y</mi><mn>2</mn></msub><mo>∧</mo><mo>⋯</mo><mo>∧</mo><msub><mi>y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">y_1 \land y_2 \land \cdots \land y_m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.75em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.75em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">m</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>，那么可以选择一个正整数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span>，对于每个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>≤</mo><mi>i</mi><mo>≤</mo><mi>t</mi></mrow><annotation encoding="application/x-tex">1 \le i \le t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7804em;vertical-align:-0.136em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7955em;vertical-align:-0.136em;"></span><span class="mord mathnormal">i</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span></span></span></span>，选择一个随机子集 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>⊆</mo><mo stretchy="false">{</mo><mn>1</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>m</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">s_i \subseteq \{1,\cdots,m\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.786em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊆</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">m</span><span class="mclose">}</span></span></span></span>，令 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>i</mi></msub><mo>=</mo><mi mathvariant="normal">¬</mi><mrow><mo fence="true">(</mo><msub><mo>⨁</mo><mrow><mi>j</mi><mo>∈</mo><msub><mi>s</mi><mi>i</mi></msub></mrow></msub><mi mathvariant="normal">¬</mi><msub><mi>y</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">Y_i = \lnot \left( \bigoplus_{j \in s_i} \lnot y_j \right)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.8em;vertical-align:-0.65em;"></span><span class="mord">¬</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">⨁</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.162em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mrel mtight">∈</span><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3281em;"><span style="top:-2.357em;margin-left:0em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4358em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">¬</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span></span></span></span>，则只需计算 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>∧</mo><mo>⋯</mo><mo>∧</mo><msub><mi>Y</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">Y_1 \land \cdots \land Y_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 即可。</p></blockquote><p>  证明同理，如果原式为真，则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>∧</mo><mo>⋯</mo><mo>∧</mo><msub><mi>Y</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">Y_1 \land \cdots \land Y_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 肯定为真；如果原式为假，则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>∧</mo><mo>⋯</mo><mo>∧</mo><msub><mi>Y</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">Y_1 \land \cdots \land Y_t</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∧</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.2222em;">Y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:-0.2222em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 只有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><msup><mn>2</mn><mi>t</mi></msup></mfrac></mrow><annotation encoding="application/x-tex">\frac{1}{2^t}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7253em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mathnormal mtight">t</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 的概率为真。</p><blockquote><p>Lemma2：有一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">F</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\mathbb F_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathbb">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>（即模 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn></mrow><annotation encoding="application/x-tex">2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span> 意义）下的多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mo stretchy="false">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>x</mi><mi>d</mi></msub><mo separator="true">,</mo><msub><mi>y</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>y</mi><mi>d</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">P(x_1,\cdots,x_d,y_1,\cdots,y_d)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>，其展开后是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 个单项式的和。现有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 种 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 变量的赋值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>a</mi><mi>n</mi></msub><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><msup><mo stretchy="false">}</mo><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">a_1,\cdots,a_n \in \{0,1\}^d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7335em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">}</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span></span></span></span>，以及 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 种 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 变量的赋值 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>b</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>b</mi><mi>n</mi></msub><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><msup><mo stretchy="false">}</mo><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">b_1,\cdots,b_n \in \{0,1\}^d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">}</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">d</span></span></span></span></span></span></span></span></span></span></span>，我们需要对每一对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>b</mi><mi>j</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(a_i,b_j)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0361em;vertical-align:-0.2861em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 都求出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 的值。若 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>≤</mo><msup><mi>n</mi><mn>0.1</mn></msup></mrow><annotation encoding="application/x-tex">m \le n^{0.1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">0.1</span></span></span></span></span></span></span></span></span></span></span></span>，这个时间只需要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><msup><mi>n</mi><mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(n^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1702em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。</p></blockquote><p>  证明：令矩阵 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">M</span></span></span></span> 大小为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>×</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">n \times m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><annotation encoding="application/x-tex">M_{ij}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9694em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.109em;">M</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.109em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">ij</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 表示第 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi></mrow><annotation encoding="application/x-tex">j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.854em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0572em;">j</span></span></span></span> 个单项让 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 变量的取值为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5806em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span>、<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 变量的取值全为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 时得到的值，同理令矩阵 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span></span></span></span> 大小为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>×</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">m \times n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>N</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><annotation encoding="application/x-tex">N_{ij}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9694em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.109em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.109em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">ij</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 表示第 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6595em;"></span><span class="mord mathnormal">i</span></span></span></span> 个单项让 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 变量取值全为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>、<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> 变量取值为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>b</mi><mi>j</mi></msub></mrow><annotation encoding="application/x-tex">b_j</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9805em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span> 时得到的值，则 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo>⋅</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">M\cdot N</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">M</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span></span></span></span> 就会得到每一对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>b</mi><mi>j</mi></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(a_i,b_j)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0361em;vertical-align:-0.2861em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">a</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">b</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 下 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 的值。使用优秀的矩阵乘法技术，当 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>≤</mo><msup><mi>n</mi><mn>0.1</mn></msup></mrow><annotation encoding="application/x-tex">m \le n^{0.1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">0.1</span></span></span></span></span></span></span></span></span></span></span></span> 时，矩阵乘法的复杂度只需要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><msup><mi>n</mi><mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(n^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1702em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。</p><p>  现在可以来做题了。<br>  先给向量分组，每 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个一组，分成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>n</mi><mi>s</mi></mfrac></mrow><annotation encoding="application/x-tex">\frac ns</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0404em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 组。那么对于每一组，我们要求的东西可以写成一个逻辑表达式：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mo>⋁</mo><mrow><mi>i</mi><mo separator="true">,</mo><mi>j</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>s</mi><msup><mo stretchy="false">]</mo><mn>2</mn></msup></mrow></munder><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">(</mo><mi mathvariant="normal">¬</mi><msub><mi>v</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><mo>∨</mo><mi mathvariant="normal">¬</mi><msub><mi>v</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\bigvee_{i,j \in [s]^2} \bigwedge_{k \in [d]} (\lnot v_{ik} \lor \lnot v_{jk})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.566em;vertical-align:-1.516em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">s</span><span class="mclose mtight"><span class="mclose mtight">]</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋁</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord">¬</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">ik</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.0361em;vertical-align:-0.2861em;"></span><span class="mord">¬</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span></span></p><p>  我们希望把逻辑公式转化为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">F</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\mathbb{F}_2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathbb">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> 下的多项式，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∧</mo></mrow><annotation encoding="application/x-tex">\land</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="mord">∧</span></span></span></span> 是乘法，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>⊕</mo></mrow><annotation encoding="application/x-tex">\oplus</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord">⊕</span></span></span></span> 是加法，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">¬</mi></mrow><annotation encoding="application/x-tex">\lnot</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord">¬</span></span></span></span> 是加 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∨</mo></mrow><annotation encoding="application/x-tex">\lor</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="mord">∨</span></span></span></span> 用德摩根律转化为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∨</mo><mi>b</mi><mo>=</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>a</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>b</mi><mo stretchy="false">)</mo><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">a \lor b = (1+a)(1+b)+1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5556em;"></span><span class="mord mathnormal">a</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">∨</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">a</span><span class="mclose">)</span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">b</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>。<br>  对最外层的或使用德摩根律+Lemma1.5，参数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">t=2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span>：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mstyle mathsize="1.44em"><mo stretchy="false">(</mo></mstyle><mn>1</mn><mo>+</mo><munder><munder><mrow><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo></mrow><mo stretchy="true">⏟</mo></munder><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>s</mi><mn>2</mn></msup><mo stretchy="false">)</mo><mtext>个</mtext></mrow></munder><mstyle mathsize="1.44em"><mo stretchy="false">)</mo></mstyle><mstyle mathsize="1.44em"><mo stretchy="false">(</mo></mstyle><mn>1</mn><mo>+</mo><munder><munder><mrow><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><mo stretchy="false">(</mo><munder><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">)</mo></mrow><mo stretchy="true">⏟</mo></munder><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>s</mi><mn>2</mn></msup><mo stretchy="false">)</mo><mtext>个</mtext></mrow></munder><mstyle mathsize="1.44em"><mo stretchy="false">)</mo></mstyle><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">{\Large(} 1+\underbrace{(\bigwedge_{k \in [d]})+(\bigwedge_{k \in [d]})+\cdots+(\bigwedge_{k \in [d]})}_{O(s^2)\text{个}} {\Large)}{\Large(} 1+\underbrace{(\bigwedge_{k \in [d]})+(\bigwedge_{k \in [d]})+\cdots+(\bigwedge_{k \in [d]})}_{O(s^2)\text{个}} {\Large)}+1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.44em;vertical-align:-0.36em;"></span><span class="mord"><span class="mopen sizing reset-size6 size8">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:4.144em;vertical-align:-3.064em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-0.161em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">O</span><span class="mopen mtight">(</span><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose mtight">)</span><span class="mord text mtight"><span class="mord cjk_fallback mtight">个</span></span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span class="svg-align" style="top:-0.886em;"><span class="pstrut" style="height:3.05em;"></span><span class="stretchy" style="height:0.548em;min-width:1.6em;"><span class="brace-left" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMinYMin slice"><path d="M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z"/></svg></span><span class="brace-center" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMidYMin slice"><path d="M199572 214c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z"/></svg></span><span class="brace-right" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMaxYMin slice"><path d="M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z"/></svg></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span class="mord"><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.164em;"><span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:3.064em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mclose sizing reset-size6 size8">)</span></span><span class="mord"><span class="mopen sizing reset-size6 size8">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:4.144em;vertical-align:-3.064em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-0.161em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">O</span><span class="mopen mtight">(</span><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose mtight">)</span><span class="mord text mtight"><span class="mord cjk_fallback mtight">个</span></span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span class="svg-align" style="top:-0.886em;"><span class="pstrut" style="height:3.05em;"></span><span class="stretchy" style="height:0.548em;min-width:1.6em;"><span class="brace-left" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMinYMin slice"><path d="M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z"/></svg></span><span class="brace-center" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMidYMin slice"><path d="M199572 214c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z"/></svg></span><span class="brace-right" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMaxYMin slice"><path d="M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z"/></svg></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span class="mord"><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">⋀</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:2.164em;"><span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:3.064em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mclose sizing reset-size6 size8">)</span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span></span></p><p>  对每个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msub><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(\bigwedge_{k \in [d]})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2247em;vertical-align:-0.4747em;"></span><span class="mopen">(</span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">⋀</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2253em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4747em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>，使用 Lemma1.5，参数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow><annotation encoding="application/x-tex">t=3 \log s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6151em;"></span><span class="mord mathnormal">t</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord">3</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">s</span></span></span></span>：</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mstyle mathsize="1.44em"><mo stretchy="false">(</mo></mstyle><mn>1</mn><mo>+</mo><munder><munder><mrow><mo stretchy="false">(</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><mo stretchy="false">(</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">)</mo></mrow><mo stretchy="true">⏟</mo></munder><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>d</mi><mo stretchy="false">)</mo><mtext>个</mtext></mrow></munder><mstyle mathsize="1.44em"><mo stretchy="false">)</mo></mstyle><mstyle mathsize="1.44em"><mo stretchy="false">(</mo></mstyle><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mstyle mathsize="1.44em"><mo stretchy="false">)</mo></mstyle><mover><mover><mo lspace="0em" rspace="0em">⋯</mo><mo stretchy="true">⏞</mo></mover><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi><mtext>个</mtext></mrow></mover><mstyle mathsize="1.44em"><mo stretchy="false">(</mo></mstyle><mn>1</mn><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mo>+</mo><mo>⋯</mo><mo>+</mo><mo stretchy="false">(</mo><mo stretchy="false">)</mo><mstyle mathsize="1.44em"><mo stretchy="false">)</mo></mstyle></mrow><annotation encoding="application/x-tex">{\Large(} 1+\underbrace{(v_{ik}v_{jk})+(v_{ik}v_{jk})+\cdots +(v_{ik}v_{jk})}_{O(d)\text{个}} {\Large)}{\Large(} 1+()+()+\cdots+() {\Large)}\overbrace{\cdots}^{3 \log s\text{个}}{\Large(} 1+()+()+\cdots+() {\Large)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.44em;vertical-align:-0.36em;"></span><span class="mord"><span class="mopen sizing reset-size6 size8">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:2.9141em;vertical-align:-1.8341em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.75em;"><span style="top:-1.3409em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0278em;">O</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">)</span><span class="mord text mtight"><span class="mord cjk_fallback mtight">个</span></span></span></span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="minner munder"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.75em;"><span class="svg-align" style="top:-2.0659em;"><span class="pstrut" style="height:3em;"></span><span class="stretchy" style="height:0.548em;min-width:1.6em;"><span class="brace-left" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMinYMin slice"><path d="M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z"/></svg></span><span class="brace-center" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMidYMin slice"><path d="M199572 214c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z"/></svg></span><span class="brace-right" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMaxYMin slice"><path d="M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z"/></svg></span></span></span><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">ik</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">ik</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">ik</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.9341em;"><span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.8341em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mclose sizing reset-size6 size8">)</span></span><span class="mord"><span class="mopen sizing reset-size6 size8">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:2.1432em;vertical-align:-0.36em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mord"><span class="mclose sizing reset-size6 size8">)</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner mover"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.7832em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="minner mover"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.961em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="minner">⋯</span></span></span><span class="svg-align" style="top:-3.413em;"><span class="pstrut" style="height:3em;"></span><span class="stretchy" style="height:0.548em;min-width:1.6em;"><span class="brace-left" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMinYMin slice"><path d="M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 5-6 9-10 13-.7 1-7.3 1-20 1H6z"/></svg></span><span class="brace-center" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMidYMin slice"><path d="M200428 334c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z"/></svg></span><span class="brace-right" style="height:0.548em;"><svg xmlns="http://www.w3.org/2000/svg" width="400em" height="0.548em" viewBox="0 0 400000 548" preserveAspectRatio="xMaxYMin slice"><path d="M400000 542l-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z"/></svg></span></span></span></span></span></span></span></span><span style="top:-4.2971em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">s</span><span class="mord text mtight"><span class="mord cjk_fallback mtight">个</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mopen sizing reset-size6 size8">(</span></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.44em;vertical-align:-0.36em;"></span><span class="mopen">(</span><span class="mclose">)</span><span class="mord"><span class="mclose sizing reset-size6 size8">)</span></span></span></span></span></span></p><p>  这就是我们的多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span>，共 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>s</mi><mi>d</mi></mrow><annotation encoding="application/x-tex">2sd</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord">2</span><span class="mord mathnormal">s</span><span class="mord mathnormal">d</span></span></span></span> 个变量。给定一个向量组对，通过这个多项式就可以算出这个组对是否有正交向量。By union bound，错误率不高于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>+</mo><msup><mi>s</mi><mn>2</mn></msup><mfrac><mn>1</mn><msup><mi>s</mi><mn>3</mn></msup></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>+</mo><mfrac><mn>1</mn><mi>s</mi></mfrac></mrow><annotation encoding="application/x-tex">\frac 14+s^2\frac{1}{s^3} = \frac 14+\frac 1s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">4</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">3</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">4</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>。<br>  现在来算一下单项式数量 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span>。把每个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msub><mo>⋀</mo><mrow><mi>k</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(\bigwedge_{k \in [d]})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.2247em;vertical-align:-0.4747em;"></span><span class="mopen">(</span><span class="mop"><span class="mop op-symbol small-op" style="position:relative;top:0em;">⋀</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2253em;"><span style="top:-2.4003em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4747em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 展开以后，看上去有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>d</mi><mo>+</mo><mn>1</mn><msup><mo stretchy="false">)</mo><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow></msup></mrow><annotation encoding="application/x-tex">(d+1)^{3 \log s}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">d</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.0991em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8491em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">s</span></span></span></span></span></span></span></span></span></span></span></span> 个单项，但实际上，每个单项形如 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>v</mi><mrow><mi>i</mi><msub><mi>k</mi><mn>1</mn></msub></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><msub><mi>k</mi><mn>1</mn></msub></mrow></msub><msub><mi>v</mi><mrow><mi>i</mi><msub><mi>k</mi><mn>2</mn></msub></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><msub><mi>k</mi><mn>2</mn></msub></mrow></msub><mo>⋯</mo><msub><mi>v</mi><mrow><mi>i</mi><msub><mi>k</mi><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow></msub></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><msub><mi>k</mi><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow></msub></mrow></msub></mrow><annotation encoding="application/x-tex">v_{ik_1}v_{jk_1}v_{ik_2}v_{jk_2}\cdots v_{ik_{3 \log s}}v_{jk_{3 \log s}}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7836em;vertical-align:-0.3531em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3173em;"><span style="top:-2.357em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2501em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3173em;"><span style="top:-2.357em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3173em;"><span style="top:-2.357em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2501em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3173em;"><span style="top:-2.357em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.143em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3488em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.2453em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.2453em;"></span><span class="mord mathnormal mtight">s</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2901em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3531em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3448em;"><span style="top:-2.3488em;margin-left:-0.0315em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.2453em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.2453em;"></span><span class="mord mathnormal mtight">s</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2901em;"><span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.3531em;"><span></span></span></span></span></span></span></span></span></span>，由于是在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">F</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\mathbb F^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathbb">F</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 下运算，重复的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span></span></span></span> 可以只保留一个，因此这样的单项的数量只有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow></mfrac><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\binom{d+1}{3 \log s}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.4112em;vertical-align:-0.4811em;"></span><span class="mord"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size1">(</span></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9301em;"><span style="top:-2.355em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.144em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">d</span><span class="mbin mtight">+</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4811em;"><span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size1">)</span></span></span></span></span></span> 个。再把最外层的括号展开，就共有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><msup><mrow><mo fence="true">(</mo><msup><mi>s</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mi>d</mi><mo>+</mo><mn>1</mn></mrow><mrow><mn>3</mn><mi>log</mi><mo>⁡</mo><mi>s</mi></mrow></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">m=\left(s^2\binom{d+1}{3 \log s}\right)^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.004em;vertical-align:-0.65em;"></span><span class="minner"><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size2">(</span></span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mord"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size1">(</span></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9301em;"><span style="top:-2.355em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.144em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">d</span><span class="mbin mtight">+</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.4811em;"><span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size1">)</span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size2">)</span></span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:1.354em;"><span style="top:-3.6029em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 个单项。<br>  代入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>=</mo><msup><mn>2</mn><mrow><mi>ϵ</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mi mathvariant="normal">/</mi><mi>log</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>d</mi><mi mathvariant="normal">/</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">s=2^{\epsilon \log n / \log (d / \log n)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.888em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">ϵ</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">n</span><span class="mord mtight">/</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">d</span><span class="mord mtight">/</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">)</span></span></span></span></span></span></span></span></span></span></span></span>，其中 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϵ</mi></mrow><annotation encoding="application/x-tex">\epsilon</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">ϵ</span></span></span></span> 是足够小的常数，~~经过巧妙且艰难的不等式放缩，~~就可以得到：</p><ul><li>多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 对于单个组对的错误率不高于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mn>3</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac 13</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">3</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span>；</li><li><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>≤</mo><msup><mi>n</mi><mn>0.1</mn></msup></mrow><annotation encoding="application/x-tex">m \le n^{0.1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">0.1</span></span></span></span></span></span></span></span></span></span></span></span>。</li></ul><p>  因此就可以用 Lemma2 同时对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mfrac><mi>n</mi><mi>s</mi></mfrac><msup><mo stretchy="false">)</mo><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">(\frac ns)^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1591em;vertical-align:-0.345em;"></span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span> 个组对算出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 的值了，最终只要有一个组对返回 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 那答案就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>。由于现在每个组对的错误率是常数，那么就把整个过程重复 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 次（即随机产生多个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span>），每个组对取众数。By Chernoff bound and union bound，错误率就变成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>p</mi><mi>o</mi><mi>l</mi><mi>y</mi><mo stretchy="false">(</mo><mi>n</mi><mo stretchy="false">)</mo></mrow></mfrac></mrow><annotation encoding="application/x-tex">\frac{1}{poly(n)}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3651em;vertical-align:-0.52em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">p</span><span class="mord mathnormal mtight">o</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mord mathnormal mtight" style="margin-right:0.0359em;">y</span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">)</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.52em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 了。</p><p>  总结一下，算法流程是</p><ol><li>给向量分组，每 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 个一组，共 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>n</mi><mi>s</mi></mfrac></mrow><annotation encoding="application/x-tex">\frac ns</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0404em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 组；</li><li>随机生成多项式 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span>，并写成单项式的和的形式；（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>m</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(m)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">m</span><span class="mclose">)</span></span></span></span>）</li><li>根据 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.1389em;">P</span></span></span></span> 预处理矩阵 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo separator="true">,</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">M, N</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">M</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span></span></span></span>（矩阵的大小是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mi>n</mi><mi>s</mi></mfrac><mo>⋅</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">\frac ns \cdot m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0404em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">m</span></span></span></span> 的）；（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mfrac><mi>n</mi><mi>s</mi></mfrac><mo>⋅</mo><mi>m</mi><mo>⋅</mo><mi>s</mi><mi>d</mi><mo stretchy="false">)</mo><mo>=</mo><mi>O</mi><mo stretchy="false">(</mo><mi>n</mi><mi>m</mi><mi>d</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\frac ns \cdot m \cdot sd) = O(nmd)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.095em;vertical-align:-0.345em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.6954em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4445em;"></span><span class="mord mathnormal">m</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal">s</span><span class="mord mathnormal">d</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal">nm</span><span class="mord mathnormal">d</span><span class="mclose">)</span></span></span></span>）</li><li>计算 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo>⋅</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">M \cdot N</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">M</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.109em;">N</span></span></span></span>；（<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><mfrac><msup><mi>n</mi><mn>2</mn></msup><msup><mi>s</mi><mn>2</mn></msup></mfrac><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(\frac{n^2}{s^2})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3629em;vertical-align:-0.345em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0179em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8913em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose">)</span></span></span></span>）</li><li>重复 2-4，统计每个组对的答案众数。</li></ol><p>  时间复杂度分析。瓶颈在于第 4 步，复杂度是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><mfrac><msup><mi>n</mi><mn>2</mn></msup><msup><mi>s</mi><mn>2</mn></msup></mfrac><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(\frac{n^2}{s^2})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.3629em;vertical-align:-0.345em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.0179em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7463em;"><span style="top:-2.786em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8913em;"><span style="top:-2.931em;margin-right:0.0714em;"><span class="pstrut" style="height:2.5em;"></span><span class="sizing reset-size3 size1 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mclose">)</span></span></span></span>，代入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">s</span></span></span></span> 会得到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover><mo stretchy="false">(</mo><msup><mi>n</mi><mrow><mn>2</mn><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>d</mi><mi mathvariant="normal">/</mi><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">\tilde O(n^{2-1/O(\log (d/\log n))})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1702em;vertical-align:-0.25em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.888em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span><span class="mbin mtight">−</span><span class="mord mtight">1/</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">O</span><span class="mopen mtight">(</span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mopen mtight">(</span><span class="mord mathnormal mtight">d</span><span class="mord mtight">/</span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mop mtight"><span class="mtight">l</span><span class="mtight">o</span><span class="mtight" style="margin-right:0.0139em;">g</span></span><span class="mspace mtight" style="margin-right:0.1952em;"></span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">))</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>。重复 2-4 的次数是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 的，对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>O</mi><mo>~</mo></mover></mrow><annotation encoding="application/x-tex">\tilde O</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9202em;"></span><span class="mord accent"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.9202em;"><span style="top:-3em;"><span class="pstrut" style="height:3em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span></span><span style="top:-3.6023em;"><span class="pstrut" style="height:3em;"></span><span class="accent-body" style="left:-0.1667em;"><span class="mord">~</span></span></span></span></span></span></span></span></span></span> 无影响。<br>  因此，如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 等于常数倍的 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>log</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">\log n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span></span></span></span>，那这个算法就是 subquadratic 的了。这也提醒我们在使用 OV 问题的困难性的时候，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span></span></span></span> 不能太小，必须是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mi>ω</mi><mo stretchy="false">(</mo><mi>log</mi><mo>⁡</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">d=\omega(\log n)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">d</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">ω</span><span class="mopen">(</span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span> 的。</p><p>  甚至还可以在有解的时候快速求出方案。因为我们锁定了答案在哪个组对里，所以只需要 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mi>s</mi><mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(s^2)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span> 暴力就可以了。</p><h2 id="Approximate-Counting">Approximate Counting</h2><p>  然后看 OV 的近似计数版本。<br>  首先它肯定难于直接判定 OV 有无解，因为 approximate counting 结果是否为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span> 就表示了原问题有无解。但是难多少？<br>  [DL18] 给出了 approximate counting 到 decision 的归约，告诉我们仅是难了 polylog factors。<br>  由于这篇文章还有很多更 general 的 idea，所以单开一篇写了，<a href="/%5BSTOC2018%5DFine-grained-Reductions-from-Approximate-Counting-to-Decision/" title="【STOC2018】Fine-grained Reductions from Approximate Counting to Decision">看这里</a>。</p><h2 id="Average-Case-Hardness">Average-Case Hardness</h2><p>  很遗憾，OV 并不是 average-case hard 的，详见 [KW19]。<br>  就连其计数版本也不是。[DLW20]<br>  那为什么还要讲 average-case hardess 呢？因为 OV 的一些变式还是 average-case hard 的，比如 OV 计数版本的式子</p><p><span class="katex-display"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mi>O</mi><mi>V</mi><mo stretchy="false">(</mo><mi>U</mi><mo separator="true">,</mo><mi>V</mi><mo stretchy="false">)</mo><mo>=</mo><munder><mo>∑</mo><mrow><mi>i</mi><mo separator="true">,</mo><mi>j</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>n</mi><mo stretchy="false">]</mo></mrow></munder><munder><mo>∏</mo><mrow><mi>l</mi><mo>∈</mo><mo stretchy="false">[</mo><mi>d</mi><mo stretchy="false">]</mo></mrow></munder><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><msub><mi>u</mi><mrow><mi>i</mi><mi>l</mi></mrow></msub><msub><mi>v</mi><mrow><mi>j</mi><mi>l</mi></mrow></msub><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">fOV(U,V) = \sum_{i,j \in [n]} \prod_{l \in [d]}(1-u_{il}v_{jl})</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.1076em;">f</span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.109em;">U</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.2222em;">V</span><span class="mclose">)</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.566em;vertical-align:-1.516em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mpunct mtight">,</span><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">n</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∑</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.809em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span><span class="mrel mtight">∈</span><span class="mopen mtight">[</span><span class="mord mathnormal mtight">d</span><span class="mclose mtight">]</span></span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">∏</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:1.516em;"><span></span></span></span></span></span><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.0361em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathnormal">u</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">i</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">v</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3361em;"><span style="top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0572em;">j</span><span class="mord mathnormal mtight" style="margin-right:0.0197em;">l</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span></span></p><p>如果拓展到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">F</mi><mi>p</mi></msub></mrow><annotation encoding="application/x-tex">\mathbb F_p</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.975em;vertical-align:-0.2861em;"></span><span class="mord"><span class="mord mathbb">F</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">p</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2861em;"><span></span></span></span></span></span></span></span></span></span>，那就是 average-case hard 的了[BRSV17]。这篇文章普遍被视为 Fine-Grained Cryptography 的开端，正是因为它首先讨论了 average-case hardness。<br>  以及 [DLW20] 里面一堆奇奇怪怪的变形也是 average-case hard 的。</p><h2 id="Completeness">Completeness</h2><p>  慢慢填坑。OV 似乎在 First-Oder Problems 中是完全的。具有完全性的问题有很大的价值，比如设计协议，给一个完全问题搞了某种协议以后，这一类问题就都拥有这种协议了。</p><h2 id="Reference">Reference</h2><ul><li>[AWY15] Amir Abboud, Ryan Williams, and Huacheng Yu. More Applications of the Polynomial Method to Algorithm Design. In SODA 2015.</li><li>[BRSV17] Marshall Ball, Alon Rosen, Manuel Sabin, and Prashant Nalini Vasudevan. Average-case fine-grained hardness. In STOC 2017.</li><li>[DL18] Holger Dell, and John Lapinskas. Fine-grained Reductions from Approximate Counting to Decision. In STOC 2018.</li><li>[DLw20] Mina Dalirrooyfard, Andrea Lincoln, and Virginia Vassilevska Williams. New techniques for proving fine-grained average-case hardness. In FOCS 2020.</li><li>[KW19] Daniel Kane and Ryan Williams. The orthogonal vectors conjecture for branching programs and formulas. In ITCS 2019.</li></ul>]]></content>
    
    
    <summary type="html">&lt;p&gt;  Fine-Grained Complexity 四大基础问题中的一个。&lt;/p&gt;</summary>
    
    
    
    <category term="TCS" scheme="http://kqp.world/categories/TCS/"/>
    
    
    <category term="complexity" scheme="http://kqp.world/tags/complexity/"/>
    
  </entry>
  
  <entry>
    <title>零知识证明大整理</title>
    <link href="http://kqp.world/ZKP/"/>
    <id>http://kqp.world/ZKP/</id>
    <published>2022-09-14T03:30:10.000Z</published>
    <updated>2026-06-24T09:18:36.607Z</updated>
    
    <content type="html"><![CDATA[<p>  学的内容多了，就可以搞个总结整理了。<br>  慢慢填坑。</p><span id="more"></span><p>  推荐一个 <a href="https://cyber.biu.ac.il/event/the-9th-biu-winter-school-on-cryptography/">2019 年的 camp</a> 可以学到多数 ZKP 经典内容。<br>  其他参考资料：Sanjeev Arora 的经典教材《Computational Complexity: A Modern Approach》，以及各类密码学教材。</p><h2 id="初始-Fundamental">初始 Fundamental</h2><p>  Princeton 的这个 <a href="https://www.cs.princeton.edu/courses/archive/fall07/cos433/lec15.pdf">lec15</a> 和 <a href="https://www.cs.princeton.edu/courses/archive/fall07/cos433/lec16.pdf">lec16</a> 是非常好入门教程。</p><p>  怎么说明一个输入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 属于一个语言 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 呢？通常来说，就是写出来一个数学证明（通常就是给出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 的 witness），谁想知道谁就来看。但缺点就是把 witness 公开出来了，有没有不公开的方法呢？比如有一个门禁，门禁里有一个大整数 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>，我的“钥匙”就是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 的质因数分解。如果我直接显式地输入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 的质因数分解，那就会被人偷看偷听了，有没有方法使得我既能让门禁相信我知道 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 的质因数分解，又能不说出任何关于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 质因数分解的信息呢？</p><p>  零知识证明(Zero-Knowledge Proof, ZKP)是一个交互协议，交互双方为 Prover、Verifier，其中 Verifier 计算能力有限（通常假设它只有多项式时间）。它们会得到一个输入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>，Prover 想让 Verifier 相信 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 属于某个语言 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span>。这个交互协议满足如下条件：</p><ul><li>Completeness：如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>L</mi></mrow><annotation encoding="application/x-tex">x \in L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span>，那么 Verifier 以高概率接受；</li><li>Soundness：如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∉</mo><mi>L</mi></mrow><annotation encoding="application/x-tex">x \not \in L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel"><span class="mord vbox"><span class="thinbox"><span class="rlap"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="inner"><span class="mord"><span class="mrel"></span></span></span><span class="fix"></span></span></span></span></span><span class="mspace nobreak"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span>，那么 Verifier 以高概率拒绝；</li><li>Zero-Knowledge：Verifier 经过交互以后没有得到额外的信息，即，整个交互过程可以被 Verifier 自己模拟出来。更确切地说，存在一个算法 Simulator，它可以模拟出一个 Verifier 的 view，该 view 与真实交互中 Verifier 的 view 是不可区分的。（不可区分可以是完美/统计/计算不可区分）</li></ul><p>  给非 CS 背景的人科普时可以举的通俗易懂的例子：如下图，Alice 想要给 Bob 证明她拥有这个门的钥匙，但不能直接把钥匙给她看。方法是，Bob 站在顶上通道处，每次随机喊“左”或“右”，Alice 就必须从下方走到对应位置。过程重复若干次，如果 Alice 总是能成功，Bob 就能确信 Alice 拥有钥匙了。但 Bob 没有亲自看到这把钥匙或是开门过程。</p><p><img src="/images/zkp_simple.png" alt=""></p><p>  给非 CS 背景的人科普时可以<a href="https://www.youtube.com/watch?v=FuKEpOhiVPg">让他看的视频</a>。（油管链接，需科学上网）</p><p>  给 CS 背景的人科普时可以举的例子：图同构。有两幅图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span>，Prover 希望 Verifier 相信 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 同构。每次操作 Prover 给 Verifier 发送一个新图 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span></span></span></span>（由 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 点标号随机打乱而来），声称 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo separator="true">,</mo><mi>B</mi><mo separator="true">,</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">A,B,C</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span></span></span></span> 同构，Verifier 要么询问 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span></span></span></span> 之间的点标号映射，要么询问 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span></span></span></span> 的点标号映射。操作重复若干次，Verifier 接受当且仅当每次 Prover 都能正确回答问题。<br>  如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo separator="true">,</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">A,B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">A</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 真的同构，那么 Prover 总是能正确回答。如果 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 不同构，那么 Prover 每次最多只有 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><annotation encoding="application/x-tex">\frac 12</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.1901em;vertical-align:-0.345em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8451em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">2</span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.394em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.345em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span> 的概率回答正确，重复若干次以后概率无限小。直观理解，Verifier 每次只是知道了 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 或 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 其中一幅图的点标号重排结果，从中并不能推断出更有用的信息。</p><p>  想要细学的话需要了解的例子：二次剩余、3-Coloring、哈密顿回路。</p><h2 id="更多框架">更多框架</h2><h3 id="随机自归约-Random-Self-Reducible-问题的ZKP">随机自归约(Random Self-Reducible)问题的ZKP</h3><p>  如果你发现二次剩余、离散对数、图同构的 ZKP 都长得很像，那么 [TW87] 这篇文章就可以告诉你，这不是巧合。它们都是 random self-reducible 的，于是可以设计出统一的 ZKP 框架，并且是 perfect ZKP 的：</p><ul><li>输入：<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>，诚实的 Prover 拥有其 witness <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span>。</li><li>Prover 随机生成一个 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><msup><mo stretchy="false">}</mo><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">r \in \{0,1\}^*</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose"><span class="mclose">}</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6887em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mbin mtight">∗</span></span></span></span></span></span></span></span></span></span></span>，将 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x,y)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord mathnormal">x</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mclose">)</span></span></span></span> 用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span> 随机归约成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(x&#x27;,y&#x27;)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0019em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mclose">)</span></span></span></span>，发送 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">x&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7519em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span>。</li><li>Verifier 发送一个随机提问 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi><msub><mo>←</mo><mi>R</mi></msub><mo stretchy="false">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">b \gets_R \{0,1\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord mathnormal">b</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel"><span class="mrel">←</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0077em;">R</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">0</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">1</span><span class="mclose">}</span></span></span></span>。</li><li>若 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">b=0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span>，Prover 发送 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span>，Verifier 检验“<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 用 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span> 归约成 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">x&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7519em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span>”；若 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">b=1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，Prover 发送 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9463em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span>，Verifier 检验“<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.9463em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span> 是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">x&#x27;</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7519em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span> 的 witness”。</li></ul><p>  例如，在二次剩余中，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>≡</mo><msup><mi>y</mi><mn>2</mn></msup><mspace></mspace><mspace width="0.4444em"/><mo stretchy="false">(</mo><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow><mspace width="0.3333em"/><mi>n</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≡</mo><mi>x</mi><mo>⋅</mo><msup><mi>r</mi><mn>2</mn></msup><mspace></mspace><mspace width="0.4444em"/><mo stretchy="false">(</mo><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow><mspace width="0.3333em"/><mi>n</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≡</mo><mi>y</mi><mi>r</mi><mspace></mspace><mspace width="0.4444em"/><mo stretchy="false">(</mo><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow><mspace width="0.3333em"/><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">x \equiv y^2 \pmod n, x&#x27; \equiv x \cdot r^2 \pmod n, y&#x27; \equiv yr \pmod n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4637em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0085em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace allowbreak"></span><span class="mspace" style="margin-right:0.4444em;"></span></span><span class="base"><span class="strut" style="height:1.0019em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.3333em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4445em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⋅</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace allowbreak"></span><span class="mspace" style="margin-right:0.4444em;"></span></span><span class="base"><span class="strut" style="height:1.0019em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.3333em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span><span class="mspace allowbreak"></span><span class="mspace" style="margin-right:0.4444em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">(</span><span class="mord"><span class="mord"><span class="mord mathrm">mod</span></span></span><span class="mspace" style="margin-right:0.3333em;"></span><span class="mord mathnormal">n</span><span class="mclose">)</span></span></span></span>；在离散对数中，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>≡</mo><msup><mi>g</mi><mi>y</mi></msup><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≡</mo><msup><mi>g</mi><mrow><mi>y</mi><mo>+</mo><mi>r</mi></mrow></msup><mo separator="true">,</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≡</mo><mi>y</mi><mo>+</mo><mi>r</mi></mrow><annotation encoding="application/x-tex">x \equiv g^y, x&#x27; \equiv g^{y+r}, y&#x27; \equiv y+r</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4637em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.9463em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">g</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.0359em;">y</span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal">x</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.9658em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">g</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7713em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight" style="margin-right:0.0359em;">y</span><span class="mbin mtight">+</span><span class="mord mathnormal mtight" style="margin-right:0.0278em;">r</span></span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.7519em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mtight">′</span></span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≡</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">r</span></span></span></span>。</p><p>  其实不仅是 random self-reducible，只要能把 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 问题随机归约到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span> 问题，就能对 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">A</span></span></span></span> 问题采用这个框架。</p><p>  这个东西的一个很重要的意义在于，结合后续一系列推导（包括 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">S</mi><mi mathvariant="sans-serif">Z</mi><mi mathvariant="sans-serif">K</mi><mo>⊆</mo><mi mathvariant="sans-serif">c</mi><mi mathvariant="sans-serif">o</mi><mi mathvariant="sans-serif">A</mi><mi mathvariant="sans-serif">M</mi></mrow><annotation encoding="application/x-tex">\mathsf{SZK \subseteq coAM}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8304em;vertical-align:-0.136em;"></span><span class="mord"><span class="mord mathsf">SZK</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊆</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathsf">coAM</span></span></span></span></span>、<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi mathvariant="sans-serif">N</mi><mi mathvariant="sans-serif">P</mi><mo>⊆</mo><mi mathvariant="sans-serif">c</mi><mi mathvariant="sans-serif">o</mi><mi mathvariant="sans-serif">A</mi><mi mathvariant="sans-serif">M</mi></mrow><mo>⇒</mo><mtext>polynomial hierarchy collapses</mtext></mrow><annotation encoding="application/x-tex">\mathsf{NP\subseteq coAM} \Rightarrow \text{polynomial hierarchy collapses}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8304em;vertical-align:-0.136em;"></span><span class="mord"><span class="mord mathsf">NP</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⊆</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord mathsf">coAM</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">⇒</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mord text"><span class="mord">polynomial hierarchy collapses</span></span></span></span></span>），可以得到 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">N</mi><mi mathvariant="sans-serif">P</mi><mi mathvariant="sans-serif">C</mi></mrow><annotation encoding="application/x-tex">\mathsf{NPC}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">NPC</span></span></span></span></span> 问题不能拥有 SZK，又或者拥有 SZK 的问题（比如 random self-reducible 的问题）不能是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">N</mi><mi mathvariant="sans-serif">P</mi><mi mathvariant="sans-serif">C</mi></mrow><annotation encoding="application/x-tex">\mathsf{NPC}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">NPC</span></span></span></span></span>。</p><h3 id="sum-Protocol"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∑</mo></mrow><annotation encoding="application/x-tex">\sum</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span></span></span></span>-Protocol</h3><h2 id="带各种特性的零知识证明">带各种特性的零知识证明</h2><h3 id="常数轮零知识证明-Constant-Round-Zero-Knowledge-Proof">常数轮零知识证明 Constant-Round Zero-Knowledge Proof</h3><p>  传统的 ZKP 是把一个协议串行执行很多次来降低 soundness，因此自然会想如果把它改成并行，就变成常数轮了。但简单的并行会使得 simulator 的时间复杂度爆炸。（例如很多 ZKP 是让 verifier 发送两种询问中的一种，simulator 原本只需要期望 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn></mrow><annotation encoding="application/x-tex">2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span> 步猜对询问然后往下走，现在 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span> 个询问并行，那么就变成期望 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>2</mn><mi>n</mi></msup></mrow><annotation encoding="application/x-tex">2^n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6644em;"></span><span class="mord"><span class="mord">2</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.6644em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">n</span></span></span></span></span></span></span></span></span></span></span> 步才能同时猜对然后往下走。）<br>  [GK96] 的 idea 是：还是并行，但让 verifier 先把询问加密发送给 prover，再执行原协议，到该询问的时候让 verifier 解密。这样 simulator 就不用猜询问了，一直发垃圾等 verifier 自己解密了询问再时间倒流即可。具体来说（以哈密顿回路的 3 轮协议为例）：</p><ul><li>Verifier 将询问串用 computationally binding, perfectly hiding 的 commitment scheme 加密发送给 Prover。</li><li>Prover 发送原协议第一步的消息。</li><li>Verifier 解密询问串。</li><li>Prover 回答。</li></ul><p>细节分析很复杂，因为要考虑各种不遵守协议 halt 的情况，如果不明白某些步骤的意义，可以参考 《Tutorials on the Foundations of Cryptography》6.5.4 节的讲解。</p><p>  [GK96] 的缺点就是不遵守协议 halt 的情况太复杂，其中有一个分析就是由于 simulator 会倒车，导致 verifier 有至少两次解密询问，如果每次成功解密的概率不一样，就会使得 simulator 期望倒车次数爆炸。<br>  [Ros04] 这篇仍然是让 verifier 先发送询问（假设叫 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi></mrow><annotation encoding="application/x-tex">\sigma</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span></span></span></span>），但是额外生成了 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>0</mn></msubsup><mo separator="true">,</mo><msubsup><mi>σ</mi><mi>i</mi><mn>1</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma_i^0,\sigma_i^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 使得 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>0</mn></msubsup><mo>⊕</mo><msubsup><mi>σ</mi><mi>i</mi><mn>1</mn></msubsup><mo>=</mo><mi>σ</mi></mrow><annotation encoding="application/x-tex">\sigma_i^0 \oplus \sigma_i^1=\sigma</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">⊕</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span></span></span></span>。它让 prover 解密 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>i</mi><mn>0</mn></msubsup><mo separator="true">,</mo><msubsup><mi>σ</mi><mi>i</mi><mn>1</mn></msubsup></mrow><annotation encoding="application/x-tex">\sigma_i^0,\sigma_i^1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0728em;vertical-align:-0.2587em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">0</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0359em;">σ</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-2.4413em;margin-left:-0.0359em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2587em;"><span></span></span></span></span></span></span></span></span></span> 中的其中一个，这对 prover 来说是没有用的，但是 simulator 可以在这里倒车获得询问，这样就没有“每次成功解密的概率不一样”的问题，因而期望倒车次数是常数。<br>  由于发送询问的方式更复杂了，所以轮数变成了 7 轮，没有达到最优，但是分析简单了很多。</p><h3 id="非交互零知识证明-Non-Interactive-Zero-Knowledge-Proof">非交互零知识证明 Non-Interactive Zero-Knowledge Proof</h3><p>  把 ZKP 做成非交互的当然是一个美好的愿景了，这样可以大大提升 ZKP 的效率，从而提高实用性。</p><p>  但如果就简单地只是让 Prover 发条消息给 Verifier，这是不可能的。</p><blockquote><p>Lemma: 如果问题 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 存在一个 ZKP 只是让 Prover 发一条消息给 Verifier，那么 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi><mo>∈</mo><mrow><mi mathvariant="sans-serif">B</mi><mi mathvariant="sans-serif">P</mi><mi mathvariant="sans-serif">P</mi></mrow></mrow><annotation encoding="application/x-tex">L \in \mathsf{BPP}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7224em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">L</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">BPP</span></span></span></span></span>。</p></blockquote><p>  证明：对于输入 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>，直接让 simulator 模拟一个 Prover 消息，用 Verifier 验证，这就得到了 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 的概率多项式算法。</p><p>  事实上，不只是一轮不行，参考 Lower Bound of ZKP，黑盒 simulator 的情况下三轮都不行。</p><p>  因此要实现非交互，必须借助一些外部工具。一个可行的方法就是 Common Reference String (CRS)，从天上来了一个可信第三方，给出了一个符合特定分布的字符串，Prover 和 Verifier 都无条件相信这个字符串是符合特定分布的。这个信任，就可以用来实现非交互。<br>  下表是使用 CRS 的一些经典方法的总结。</p><table><thead><tr><th>Paper</th><th>Problem</th><th>Extra Property</th><th>CRS represents</th><th>Assumption</th><th>Completeness</th><th>Soundness</th><th>ZK</th><th>len of CRS</th></tr></thead><tbody><tr><td>[KT92]</td><td>3-Coloring</td><td></td><td>2 numbers for each edge</td><td>hardness of Quadratic Residuosity</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span></td><td>computational</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>16</mn><mi>k</mi></mrow><annotation encoding="application/x-tex">16k</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord">16</span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span></span></span></span></td></tr><tr><td>[FLS99]</td><td>Hamiltonian</td><td>-</td><td>a cycle</td><td>One-Way Permutation with hard-core predicate</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mi>e</mi><mi>g</mi></mrow><annotation encoding="application/x-tex">neg</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">n</span><span class="mord mathnormal">e</span><span class="mord mathnormal" style="margin-right:0.0359em;">g</span></span></span></span></td><td>computational</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mn>7</mn></msup><msup><mi>k</mi><mn>2</mn></msup><mi>m</mi></mrow><annotation encoding="application/x-tex">n^7k^2m</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">n</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">7</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mord mathnormal">m</span></span></span></span></td></tr><tr><td>[FLS99]</td><td>Hamiltonian</td><td>argument</td><td></td><td>One-Way Trapdoor Permutation</td><td></td><td></td><td></td><td></td></tr><tr><td>[FLS99]</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">N</mi><mi mathvariant="sans-serif">P</mi><mi mathvariant="sans-serif">C</mi></mrow><annotation encoding="application/x-tex">\mathsf{NPC}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">NPC</span></span></span></span></span></td><td>multiple provers</td><td>random <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal" style="margin-right:0.0359em;">y</span></span></span></span> and original CRS</td><td>Psseudorandom Generator (from <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">n</span></span></span></span>-bit to <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>n</mi></mrow><annotation encoding="application/x-tex">2n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span><span class="mord mathnormal">n</span></span></span></span>-bit)</td><td></td><td></td><td></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>n</mi><mo>+</mo><mi mathvariant="normal">∣</mi><mi>C</mi><mi>R</mi><mi>S</mi><mi mathvariant="normal">∣</mi></mrow><annotation encoding="application/x-tex">2n + \vert CRS \vert</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">2</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord mathnormal" style="margin-right:0.0715em;">C</span><span class="mord mathnormal" style="margin-right:0.0077em;">R</span><span class="mord mathnormal" style="margin-right:0.0576em;">S</span><span class="mord">∣</span></span></span></span></td></tr><tr><td>[KP98]</td><td>3-SAT-5</td><td></td><td>wild strings and random strings</td><td>Hidden Bit Model</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><mi>n</mi><mi>e</mi><mi>g</mi></mrow><annotation encoding="application/x-tex">1-neg</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">1</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">n</span><span class="mord mathnormal">e</span><span class="mord mathnormal" style="margin-right:0.0359em;">g</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mi>e</mi><mi>g</mi></mrow><annotation encoding="application/x-tex">neg</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">n</span><span class="mord mathnormal">e</span><span class="mord mathnormal" style="margin-right:0.0359em;">g</span></span></span></span></td><td>computational</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mi>k</mi><mi>n</mi><mi>log</mi><mo>⁡</mo><mo stretchy="false">(</mo><mi>n</mi><mi mathvariant="normal">/</mi><mi>ϵ</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(kn \log (n/\epsilon))</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord mathnormal" style="margin-right:0.0315em;">k</span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop">lo<span style="margin-right:0.0139em;">g</span></span><span class="mopen">(</span><span class="mord mathnormal">n</span><span class="mord">/</span><span class="mord mathnormal">ϵ</span><span class="mclose">))</span></span></span></span></td></tr><tr><td>[GOS12]</td><td>circuit SAT</td><td></td><td>commitment scheme</td><td>Homomorphic Commitment Scheme</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span></td><td>computational</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">O(1)</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord mathnormal" style="margin-right:0.0278em;">O</span><span class="mopen">(</span><span class="mord">1</span><span class="mclose">)</span></span></span></span></td></tr><tr><td>[WP22]</td><td>Linear Problems, circuit SAT</td><td></td><td>commitment scheme in matrix</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">N</mi><msup><mi mathvariant="sans-serif">C</mi><mn mathvariant="sans-serif">1</mn></msup><mo>⊊</mo><mo>⊕</mo><mi mathvariant="sans-serif">L</mi><mi mathvariant="sans-serif">/</mi><mi mathvariant="sans-serif">p</mi><mi mathvariant="sans-serif">o</mi><mi mathvariant="sans-serif">l</mi><mi mathvariant="sans-serif">y</mi></mrow><annotation encoding="application/x-tex">\mathsf{NC^1 \subsetneq \oplus L/poly}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0719em;vertical-align:-0.25em;"></span><span class="mord"><span class="mord mathsf">N</span><span class="mord"><span class="mord mathsf">C</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8219em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">1</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel amsrm">⊊</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mord">⊕</span><span class="mord mathsf" style="margin-right:0.0139em;">L/poly</span></span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">0</span></span></span></span></td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">N</mi><msup><mi mathvariant="sans-serif">C</mi><mn mathvariant="sans-serif">1</mn></msup></mrow><annotation encoding="application/x-tex">\mathsf{NC^1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8219em;"></span><span class="mord"><span class="mord mathsf">N</span><span class="mord"><span class="mord mathsf">C</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8219em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathsf mtight">1</span></span></span></span></span></span></span></span></span></span></span></span> computational</td><td><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>λ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\lambda^2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord"><span class="mord mathnormal">λ</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span></td></tr></tbody></table><p>  另一种方法是 Fiat-Shamir Transform，即如果 verifier 发的消息全都是随机字符串，那么就用一个伪随机函数来代替掉它，伪随机函数的输入就是之前的所有消息。</p><h3 id="非黑盒零知识证明-Non-Black-Box-Zero-Knowledge-Proof">非黑盒零知识证明 Non-Black-Box Zero-Knowledge Proof</h3><h2 id="理论相关">理论相关</h2><h3 id="Lower-Bound-of-ZKP">Lower Bound of ZKP</h3><h3 id="ZKP-and-One-Way-Function">ZKP and One-Way Function</h3><p>  [Ost91] 及后续工作 [Ost93] 提出的思路，我猜是在考虑怎么用 simulator 产生的 view 来设计判定 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>L</mi></mrow><annotation encoding="application/x-tex">x \in L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.5782em;vertical-align:-0.0391em;"></span><span class="mord mathnormal">x</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">∈</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 的算法的时候，捣鼓出了这个玩意。<br>  如果一个问题 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 是属于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">S</mi><mi mathvariant="sans-serif">Z</mi><mi mathvariant="sans-serif">K</mi></mrow><annotation encoding="application/x-tex">\mathsf{SZK}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">SZK</span></span></span></span></span> 的，并且是 hard on average 的，那么就可以通过这个 SZK 构造出 one-way function。这个 one-way function 的输入是 SZK 里的 simulator 所需的 random tape，输出是 simulator 产生的 view of verifier。<br>  证明大致是，假设这个函数不是 one-way 的，即输入 view 可以快速求出 random tape。那么用 simulator 充当 prover，与 verifier 交互（每得到一条 verifier 的消息就重新算 random tape，再用 simulator 计算出 prover 要发的消息），这样就得到了 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 的快速判定算法，从而 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 不是 hard on average。<br>  为什么限定是 SZK 呢？因为 SZK 证明 correctness 的时候会方便很多。后续论文 [Ost93] 把这个思想拓展到一般 ZKP 上了。<br>  为什么是 hard on average 呢？我认为这个条件是不准确的，它用反证法推翻的结论是“<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal">L</span></span></span></span> 没有高效的概率算法”，所以应该跟 [ZKP-OWF] 一样，是“不属于 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">B</mi><mi mathvariant="sans-serif">P</mi><mi mathvariant="sans-serif">P</mi></mrow><annotation encoding="application/x-tex">\mathsf{BPP}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">BPP</span></span></span></span></span>”。</p><h3 id="mathsf-SZK-and-mathsf-coAM"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">S</mi><mi mathvariant="sans-serif">Z</mi><mi mathvariant="sans-serif">K</mi></mrow><annotation encoding="application/x-tex">\mathsf{SZK}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">SZK</span></span></span></span></span> and <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="sans-serif">c</mi><mi mathvariant="sans-serif">o</mi><mi mathvariant="sans-serif">A</mi><mi mathvariant="sans-serif">M</mi></mrow><annotation encoding="application/x-tex">\mathsf{coAM}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord"><span class="mord mathsf">coAM</span></span></span></span></span></h3><h2 id="Reference">Reference</h2><ul><li>[FLS99] Uriel Feige, Dror Lapidot, and Adi Shamir. Multiple noninteractive zero knowledge proofs under general assumptions. In SIAM Journal on computing 1999.</li><li>[GK96] Oded Goldreich, and Ariel Kahan. How to Construct Constant-Round Zero-Knowledge Proof Systems for NP. In Journal of Cryptography 1996.</li><li>[GOS12] Jens Groth, Rafail Ostrovsky, and Amit Sahai. New techniques for noninteractive zero-knowledge. In Journal of the ACM 2012.</li><li>[KP98] Joe Kilian, and Erez Petrank. An efficient noninteractive zero-knowledge proof system for NP with general assumptions. In Journal of Cryptology 1998.</li><li>[KT92] Kaoru Kurosawa, and Kenichi Takai. A comment on NIZK for 3 colorability. In ICCS/ISITA `92.</li><li>[Ost91] Rafail Ostrovsky. One-Way Functions, Hard on Average Problems, and Statistical Zero-Knowledge Proofs. In CCC 1991.</li><li>[Ost93] Rafail Ostrovsky, and Avi Wigderson. One-Way Functions are Essential for Non-Trivial Zero-Knowledge. In Israel Symposium on Theory and Computing Systems 1993.</li><li>[Ros04] Alon Rosen. A Note on Constant-Round Zero-Knowledge Proofs for NP. In Theory of Cryptography 2004.</li><li>[TW87] Martin Tompa, and Heather Woll. Random Self-Reducibility and Zero Knowledge Interactive Proofs of Possession of Information. In STOC 1987.</li><li>[WP22] Yuyu Wang, and Jiaxin Pan. Non-Interactive Zero-Knowledge Proofs with Fine-Grained Security. In EUROCRYPT 2022.</li></ul>]]></content>
    
    
    <summary type="html">&lt;p&gt;  学的内容多了，就可以搞个总结整理了。&lt;br&gt;
  慢慢填坑。&lt;/p&gt;</summary>
    
    
    
    <category term="TCS" scheme="http://kqp.world/categories/TCS/"/>
    
    
    <category term="ZKP" scheme="http://kqp.world/tags/ZKP/"/>
    
  </entry>
  
  <entry>
    <title>虹咲5th live</title>
    <link href="http://kqp.world/nijigaku_5th_live/"/>
    <id>http://kqp.world/nijigaku_5th_live/</id>
    <published>2022-09-10T13:43:58.000Z</published>
    <updated>2026-06-24T09:18:36.553Z</updated>
    
    <content type="html"><![CDATA[<p>  众所周知虹动画第 2 季制作组厨力拉满，呈现出了一部精彩绝伦、细节可赏、值得每周期待的作品。那么以虹动画第 2 季为主题的虹 5th live 会怎么样呢？</p><span id="more"></span><h3 id="Day1">Day1</h3><p>  来到 HK 之后的第一场 live。满心欢喜加了去年跨年的 HK 转播群，但发现没人组织。最后跟萤火虫 staff 桑连麦看。<br>  本来打算用实验室里的卡拉 ok 音响加上 4k 屏来看的，结果下午老板还来查房。为了安全起见，还是溜回宿舍用笔记本看了。</p><p>  live 开始前大约期待的几个亮点：一是光路企划，有好几个光路要还原，比如侑弹钢琴时的彩虹展开、璃奈 solo 时的璃奈板；二是第 2 季的各种新歌，op、ed、Eutopia、Stars We Chase、缭乱；三是侑的再次上台。</p><p>  开场发现舞台很小，不会有庞大的走位了。<br>  整场 live 节奏按照动画来走，op 开场，岚珠露一手给你们看看，然后一路直到 13 话那首歌，ed 结束正场。安可后是缭乱，小组曲 cw，接几首全员曲。一开始我们感觉节奏太快，时长太短，但是整场 live 下来也接近 3h，造成一开始有短的感觉原因有二：一是 mc 少，全场只有开头结尾两次 mc，歌曲数量数下来估计是不少的；二是安可的位置摆得很中间，换句话说安可后的内容十分多，而正场的内容就纯动画，不像别的团有插入各种特典曲、小组曲、liella 之歌什么的。<br>  值得期待的歌曲基本都出来了。op 的衣服应该很热，披肩依然是毛茸茸的。菜宝打头阵，可惜麦克风有大问题，好几个词都漏了，后面的夜明珠更是漏了一整句。一开始“もっと熱く高く　光よりもはやく”用力很猛，气势非常够，甚至过头了。菜宝的声音仍然能听出中后期有明显的气息急促，所以体力还是有欠缺（与此同时你的舞蹈还是最激烈之一的），但是很惊奇的是在这样疲累的状态下她能将所有的高音冲到位，在高音的音准上没有出问题，就好像把所剩无几的力气全部用在了刀刃上。这样的话，可能要点名水和星某些疲累状态下会产生严重音准问题的人了~~（没错说的就是你 sayu 和 sww）~~。dd 组两个人撩来撩去。Stars We Chase 这里展现出了一个战神秀秀，音准体力各方面都稳得很，堪称 Mia Taylor Swift。安可后第一首就是缭乱，然后全员长衫+光剑，像星战一样，是酸菜世界以外的另一种生草。146 耍剑耍得跟孙悟空似的。<br>  很遗憾没有看到光路还原，导播没播，观众估计也没摆出来，看切米的表情不像是有光路。AZUNA 也没有弹射出场（大雾）<br>  侑爷来了，侑爷再次弹钢琴了，这次是笑容满面，自信满满。侑脱离粉丝定位了，上台一起唱歌了，不过没关系了，随着粉丝对侑爷的代入感越来越小，其实好多人反而越来越希望 hnk 上台，不要埋没这一人才。后面 ed 的时候侑拿个篮子来回收花朵，最恰当的词语来形容她应当是 采 花 大 盗（x<br>  其他的看点大概就是 C&amp;R 的时候的鸡兔大战、萌p和兔子两大美腿了。衣服的话，r3 新衣服都不错，op 衣服很还原（就是担心热死）但可惜只跳个 op 就换掉了。</p><p>  读研了，身份逐渐学者了，看到这些还是很悸动，希望能一直悸动下去。<br>  第一场体验很棒，期待后面有没有大新闻了。</p><h3 id="Day2">Day2</h3><p>  歌单基本没换。其实也没什么能换的，至少安可前的部分一首都换不了。<br>  关于菜宝：Eutopia 最后一节副歌的第一句，跟它前一句“follow me”重叠了，这必然是有一句唱的有一句播的，这就说明无敌万能的虹虹其实也是有垫音的，打破了“虹全开麦”的传说。虽然情有可原，因为原曲这里就是重叠的，你可以说这是因为追求原曲效果不得不这么做。但是，鉴于他现在的垫音技术真的垫到神不知鬼不觉了（可能就是开场前录了一遍无修音的，而不是垫 CD，要不是重叠，真的锤不出来），那么“即便是疲惫也能将所有的高音冲到位”这个能力，就值得怀疑了。</p><h3 id="Day3">Day3</h3><p>  偷跑了永远一瞬？？这首有资格成为大毒曲的，如果放在更合适的位置（比如放在合适的动画剧情后），就会毒死人了。<br>  秀战神今天的音准很有问题，像是累了。<br>  场地大了，能放花车了。有在日留学群友现地抽中过道位，本以为会有侑酱经过的，结果侑酱的路线偏了 QAQ<br>  厂长在缭乱的时候被 staff 烟封了（x</p><h3 id="Day4">Day4</h3><p>  先说一些细节，比如开头 C&amp;R 的时候果林施展调虎离山之计，先把步梦拉到角落然后去抱侑酱（x<br>  萌p和秀秀，都很累的样子。萌p solo 的声音很虚，秀秀音准比昨天好些，但后面也控不好。</p><p>  然后就是万众瞩目的大新闻了，都期待虹能不能出第三季。如果有，说明学园偶像这个本职的故事是能打持久战的（而不是靠跳槽异世界续命）。<br>  新闻出来是虹四格的动画化，带侑爷，明年一月番，虽然是 TV 动画，但是是 short。<br>  稍微比期待的低了一丢丢。<br>  但是并没有关系，反而是有好处的。因为这样一来，其实说明虹的主线进程开始放慢节奏了。回想水和星，其实都很赶，水是按老缪的节奏走的，走完了发现无路可走了，加之疫情，闲置下来了；星的话，两季 tv 的间隔缩短到正好一年，live 是赶鸭子上架，不仅间隔短，还超级加倍巡演。现在日程表密集得很，事实上下周还有“感谢祭+游戏重大发表+星10话+星生放”这样的连续轰炸，我是不喜欢的。放缓一点来，提高企划寿命，也让人能喘口气，更重要地，让每一次活动（动画也好，live 也好，出书出综艺也好）准备充分，提升质量，这样才值得回味，也有时间回味。</p><p>  后面还有二次返场。不过没有发表额外的感想，就是唱一首歌就跑了，属于只是浅浅地回来一下。也是契合氛围的。</p><h3 id="总">总</h3><p>  头一次是几乎把 4 场全看完，没想到厨虹没那么深的我，看 live 的程度超过了其他所有团（x <s>有没有可能就是你摸鱼摸得太厉害了，赶紧读论文去好不好</s><br>  虹真的蛮好的，有不同于传统 LL 的设定因此很多地方可以搞创新施展拳脚，有一个高厨力动画制作组，现在逐渐有了历史积淀，也可以拿出些情怀来了。<br>  我的感受就像是，有个朋友能够继续陪跑下去了。感觉很好啊，值不值得追一辈子呢？</p><p>  星也是值得期待的后辈，只能真切地希望大家心平气和地、不要带着怨气地去看星，不要学一些 up 主脑子都不转一下就开始锐评。要是本来鉴赏能力就不怎么好，还心浮气躁地看，那真是浪费他们给你讲的故事，也浪费你听故事的时间。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  众所周知虹动画第 2 季制作组厨力拉满，呈现出了一部精彩绝伦、细节可赏、值得每周期待的作品。那么以虹动画第 2 季为主题的虹 5th live 会怎么样呢？&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>Liella 第二季随笔</title>
    <link href="http://kqp.world/Liella_S2/"/>
    <id>http://kqp.world/Liella_S2/</id>
    <published>2022-08-01T15:21:06.000Z</published>
    <updated>2026-06-24T09:18:36.543Z</updated>
    
    <content type="html"><![CDATA[<p>  纯粹是<a href="/something/" title="【长更】杂写">杂写</a>里面占篇幅太长了，所以拉出来单开一篇。<br>  但为了一部番单开一篇 blog 实在是有点。。。</p><span id="more"></span><p>  最近在看星Ⅱ，随时发表一下感受。</p><h3 id="感受">感受</h3><p>  前三话来看，是一部特别写实的番，如果把 LoveLive 大赛换成 XCPC，那完全就是我们集训队的真实写照。前三话每一话都表达了一个特别的主题，或者说矛盾。第一话的矛盾是要不要加人，加人的问题曾经讨论了很多，三次元加人可能问题比较大，动画剧情里的加人那完全就是正常的社团招新，相比起缪水前辈，她们更多地是作为传播学园偶像快乐的社团，而非封闭团体。第二话的矛盾是招新时如何平衡高团体目标与训练强度的问题，这是同类社团绕不开的问题，做过招新工作就会知道，你必须思考如何既能展现团队最终潜在的高成就及其道阻且长，又不能过分表达过程的艰苦来劝退新人，新人来了以后还有一个循序渐进的过程要怎么做，事实上头疼得很。香音她们的探索是降低训练强度，改变活动理念，但最终还是推翻了。第三话的矛盾是优胜的意义和信心，比赛如果成绩不好，你会心有不甘，产生信心问题；但优胜了以后又会有别的问题，sunnypa 的梦想是卫冕，Liella 的梦想是夺冠，这是互斥的，一个梦想的实现一定会使得另一个梦想的破灭。每年 OI/XCPC 没拿好牌的人，都会痛苦面具，他们在退役感言里真实地抒发他们的遗憾。而当进了省队/国集/区域赛出线，回头看看一同作战的其他队伍伙伴们，因为省队1/3线、出线队每校只能一支等各种原因被卡掉的伙伴们，你很难不会怀疑你到底在做什么。算法竞赛选手大部分时候足够冷血，坚信菜是原罪，没进队没出线就是自己菜，LoveLive 呢？<br>  所以说怪就怪在 LoveLive 是个比赛，使得学园偶像变成了竞赛。竞赛人看着很爽，其他人恐怕不行，还是得多看看虹，办 school idol festival，“不要参加 LoveLive，会变得不幸”。<br>  塑造出来的香音的内心是这样的，即便是有第一季最终话那样的场景使得她拥有坚定的信念，仍然会随着时间的推移、外界的各种反应，而使得信心下降，飘忽不定，怀疑自己。说明她不是神仙，内心跟我们一样，都不是强大到完美、强大到完全不受干扰的。</p><p>  8.27 的生放对于第 4 5 6 话的解读的几处亮点节选：</p><ul><li>“虽然前面夏美一直在赚钱，但其实是用赚钱来掩饰自己实现不了其他梦想，只有赚钱不会骗自己。”</li><li>“从前是大家帮助了香音，让她能重新唱歌。现在香音想要去帮助大家。一个帮一个，把梦想传递下去，这就是连结。”</li><li>“不是只有二期生在引导夏美，一期生也一直在影响夏美，夏美是在 8 人的帮助下找到梦想入队的。”</li></ul><p>  到第八话为止所有的 TV 插入曲情调都很统一，都是欢快的。所以会出现一个问题：单看每首歌曲都挺好，放在 TV 里就不见得合适了，因为跟情节不太相关，像是纯粹为了插首歌一样。在这方面做得好的是缪，缪的每一首动画插入歌都是紧扣主题的（start dash、万圣、婚礼、数星星等等，你想想是不是都有一整话或者一大段的铺垫），从曲风到歌词。水虹也相对较好，情调是对得上的（比如第一季海滩上捡垃圾完了之后紧接梦夜空，配合孔明灯）。星Ⅱ这里，相关性体现不出来。<br>  其实更像是一部竞赛番了，全篇更多的笔墨在于如何努力训练参加比赛，但并没有把这个过程融入到曲子当中。<br>  我似乎是逐渐成为香哥哥厨了。无他，就是觉得香哥哥内心同时具有害羞迷茫与坚定强大两种特质，能看到她不断地在用后者去努力克服前者，可以在关键时刻表现出来飒爽的姿态，给人很能依靠的感觉。中途也有无法决策的时候，这时候她跟小千就是互相替补，你犹豫了我坚决，我犹豫了你做主。</p><p>  来谈谈第 9 话吧，感情上的小巅峰。<br>  第一感受是：你们还是能写出像样的感情戏的嘛！<br>  堇主动当坏人，为了让可可留下，她要做的牺牲很大，就是忍受队友的误解，甚至是永久的（如果没人出来解释的话）。可可自己扛下了一切也是猛得很，可可现在才是最焦虑的，但她要反过来安慰堇。别看可可最后抱堇一副稳得一批的宠爱，猜都能猜到回国的问题根本没解决，后面还要怎么扛？完全是打心态仗了，梭哈自己能赢。感受一下，这两个人不是香哥哥渐渐成长的强大，而是在突然爆发的事件中霸气侧漏。<br>  感到惊奇的一点是一年级四人去找堇的时候，传达她们主动放弃上台的心意，用的是一段和声。虽然这个和声的旋律我听不出什么东西（需要请专业人来分析），不知道这能不能表达她们的感情。<br>  后面可可抱堇哭的时候，喊了两遍“嫌いだ”，然后接一个“大好き”。有没有觉得很熟悉？没错就是香音的《青空を待ってる》，唱了三段的“嫌いだ”再突然转变接一段“大好き”。这首歌我当初喷它小百合套着一个半熟不熟的理解就开始唱了，歌词隐晦得很，很难抒发真正的感情。在第九话里套用了这个格式，播到这里，我就想，这首歌给可可唱一遍会怎样，但是发现不太行，因为可可对堇没有根本的嫌い，堇不是对可可造成了什么长期伤害的。所以可能只是套用了个格式，换了一种感情。<br>  从第七八话过渡到第九话会有点突然，感情上是突然上了一大个台阶。如果能把这话拆成两话，用一话时间慢慢把感情铺上去，又会好很多。感情戏以细腻为佳，突然爆发的话得有足够的伏笔才能精彩。<br>  比较主要的问题（也是之前的问题一路继承下来）是，已经不仅仅是把偶像番写成竞赛番了，这个 vn 一来，快要把竞赛番变成战斗番了。sunnypa 被 vn 杀掉，以及幽灵般地向香音喊话，这个 vn 拉满一股神秘大 boss 的味道。sunnypa 惨死区域赛的剧情我熟不熟？可太熟了，19 沈阳万众瞩目的隐练一年的业余门槛突然就被假题杀掉了，21 广州我们队滚到铜牌区了，22 两场中国 Final 一滚榜把一众强队和暴发户都刷掉了（逆十字甚至因为设备原因退赛了）……大家惊讶的眼神不就跟看到 sunnypa 没出线是一样的吗？竞赛党这些是见得多了，但是学园偶像真的要这么玩吗？毕竟我们的目的可以是赢得比赛，但是你们的目的是传递真感情，你们太过功利，就什么都传递不出来了。<br>  如果有人被竞赛剧情吸引了，想要体验一把团结一致冲击比赛的快(tong)乐(ku)，欢迎来玩中学信息学奥林匹克竞赛和大学生程序设计竞赛！（x</p><p>  9.16 生放，解读 7 8 话。<br>  多看看 non 酱这个细节鬼才吧，她是真的会观察，会分析。</p><ul><li>“恋酱的沉迷游戏，反衬出她以前严肃的一面，让我惊叹她以前到底是个多认真的人。”</li><li>“慌张被抓的人都献出培根蛋面包。”</li><li>还有各种对比和衬托的应用</li></ul><p>  讲到了很多关于第八话歌的祭り感。挑出来两个画面很好地表达了这首歌的感情，一个是香哥哥飒爽的笑容，体现的是浓厚的欢乐的祭り氛围，另一个是小千的跳跃，拉出全队的满满自信。<br>  我时刻提醒自己，我们千万不要用“我比声优和制作组还懂动画”的态度来发表评论。这不是说他们的分析和评价不可反驳，而是从他们视角出来的东西，应当引起重视和思考。</p><p>  第 10 和 11 话可以放在一起，<s>和 vn 正面对刚</s>探讨 lovelive 和歌唱的意义。我非常期待这个的，并且也很期待在面对弱 motivation 而强能力者的时候，她们要怎么办。编剧的回答是，赢下来，并且赢得十分坚定，香哥哥这次没有犹豫了，正面指出 vn 的歌曲不如她们能传达“连结大家，分享喜悦”的内涵。<br>  小千和香哥哥在比赛后找 vn 的行为以及她们的想法，也都体现出结丘精神，不会放弃任何一个人的梦想，就像当初无论输赢也不能不让一年级上场一样。这里其实是对这种精神的扩大了，不仅是对于队内人，还是对于对手，与她们无关的人。<br>  那么一个巨大的矛盾点就再次出现了（这不是第一次出现了）：梦想的互斥。第一次是 sunnypa 要卫冕冠军，光荣而退，只可惜半路被 vn 杀掉。这次是第二次，要么 liella 代表全体结丘学生一起胜利而 vn 没学上，要么 liella 失败而 vn 成功上学。你看，编剧其实够大胆的，在这种团结一致的结丘精神下，接二连三出现这样的互斥事件，用残酷的比赛框架，去捶打考验结丘精神。所以说这部剧现实得很对吧，你总是要思考这些问题，这些时时刻刻、无处不发生的问题。</p><p>  9-12 话的生放讨论找个时间把熟肉补了再一次过发吧，日语不好，看生肉只看懂个大概。（挖个坑在这里）</p><p>  12 话了，终于完结了。然而，大家的感受，包括我的感受都是“终于解放了”，而不是“呜呜呜没有 13 话我要死了”。很多因素，包括动画的质量下降了，评论恶臭了，每周上贴吧 b 站 q 群什么的都是一群牛鬼蛇神在声讨。我虽然努力去让每一次看动画都是心态稳健平和的，但是评论环境实在太糟糕，多多少少是影响了自己的观看和思考的。所以我也要庆祝，与其三个月每周忍受不堪入目的评论，不如早点结束，你好我好大家好，大家重新对下一项作品充满期待，回到正轨。<br>  先说 12 话。我的感受是不算很好。主要原因是这是最终话，一个故事的结尾，要求当然跟中间是不一样的，中间的作用是推动情节发展，烘托氛围，塑造人物形象，到了结尾，你铺垫的就该结束了，感情就该有收尾的样子了，但是这次最后的 Lovelive 决赛并没有赢出感觉来。<br>  先从感情来分析。横向对比往届的 Lovelive 决赛就知道了，不难发现，任何一个团（包括星团）在决赛之中都会掺入比赛之外的感情，缪是成员毕业、团队即将解散，水是学校关闭，以及对未来的迷茫，其感情都是留念、不舍，对曾经一起度过的生活道别；星这里则是为了不落下香音和 vn 的梦想，要暂停 9 人团队，有些许不舍，也有对决赛胜利从而实现她们梦想的信念。显然编剧也意识到了，光有一个比赛目标的话对于感情来说是绝对不够的，而附加一些别的感情在上面，就是最为有效的打造感情的方式。但问题是什么？是铺垫。感情以细腻为佳，一条连贯而不断发展的感情线会非常重要。我认为缪和水都做得非常好。水采用了最简单的方法——长度，把感情线拉长，她们大概集数过半就已经确定废校了，也就是说有将近一半的时间用来表现失落、苦闷、迷茫、探索、重新找到自己的价值，中间还插入了两话的雪的失败，两份失落叠加（一个额外的效果是借此把两位妹妹的成长塑造得淋漓尽致）。在这之中，每一处停顿都感觉时间像停下来了的样子，这就是感情氛围起作用了。缪真正开始她们的矛盾其实很晚，也同样差不多第 10 话才开始，也到 11 话结尾才把解散点出来，但是她们主要告别的是她们作为 μ's 团体所度过的时光，所以前面 4-7 话的个人日常回、8-9 话的团体挑战，都是与矛盾相关的，就能起到很好的铺垫作用，这样让整个感情线流畅地呈指数函数形状发展，在 11 话迎来爆发，然后两话收尾。来到星这边，注意到星的附加矛盾其实是比较转折的，是突然间来了个 vn 跟你说你被 MIT 录取了，并且我要依附于你才能上学，前面的主线则是 Liella 一行人承载学校大家的梦想一起努力，因此对这个突然出现的矛盾点就没有铺垫，也就是说，这份附加的感情总共就出现了两三话，加之“维也纳音乐学院”这个音乐界 MIT 相关的剧情都有点荒诞不自然，感情当然也就不够细腻。<br>  然后是歌。这是星 2 老问题了，歌曲曲风、歌词、感情基调都与剧情弱相关，到了决赛这里，放一首抒情慢歌，那么它自然也表达不了决赛或者是最终话应有的感情高潮。这首歌更适合作为平常的插入歌，并且最好是不以比赛的形式展现，增加一点音乐剧的样子，会非常好。横向对比缪水也是同样的，水的决赛歌是水蓝，歌词和舞蹈动作是很强烈的“告别过去，向新的未来进发”的寓意，这就是对将近半季的失落苦闷迷茫探索的回答，作为最终曲目是一个完美的总结；缪的是 kirakira session，单论这首歌我觉得其实也不算很好，歌词是合适的但曲调则是偏平静了，没有非常契合 11 话强烈的感情，但缪的亮点我认为不是这首决赛曲，而是紧接其后的安可，亮出 op1，这才是从音乐上对决赛感情的升华，两首歌结合，有慢有快，有静有烈，op1 也是适合 call 的曲，所以能把气氛抬起来。<br>  基本上就是这两个最大的问题了。<br>  也还有些其他问题，比如小千笑着流泪竟然只是请求；比如 vn 直接向现状屈服，不再打算通过自己的努力去获得入学资格了。<br>  这个开放结尾，如果你要现实，我甚至可以说留学中止是因为疫情原因（x</p><h3 id="关于别人">关于别人</h3><p>  顺便说一下贴吧b站的追番评价。<br>  可以说我大部分评价跟他们很不同。他们的文学鉴赏能力，从吐槽 Aqours 的剧情不合理就可见一斑了，大抵是高中语文也没有好好学，基本的意识流心理描写都不会读。很多时候给点整活就说是神回，剧情平淡一些、live 没有优胜就说是烂回，咬死一个人设，觉得人物性格不可更改不可成长（夸一夸大学语文老师反驳“文学作品忌讳人设崩塌”的精彩发言），夸张和心理现实主义写法被喷为不合逻辑。能从感情矛盾、人物塑造、表现手法等来分析的实在是少数。<br>  我一直认为，如果不会赏析，就翻一下高考语文练习册，复习一下高考语文阅读理解，应该任意一本练习册都有提供一套详细的框架和套路的。这实在是最简单通用的、拿来就用的方法了，不需要你再去学更高级的文学理论，各种主义和体系的分析，也不需要你学哲学和美学，去参透更深层的思想。但明明大家都是考过高考语文的人了，甚至都在瞧不起高考应试套路了，却连一套赏析方法都没能掌握，怪。<br>  也有自诩看番无数的“老二次元”以自己的资历为支撑来开喷。但看番资历不应成为评价理由，资历培养出来的观感若不能转化成成体系的分析和评价标准，那其实还是自己的感情和主观认识在主导，它不能叫评价，说白了就是你看番时心情不好。</p><p>  第五话第六话确实出了一些问题，但我觉得各大平台的环境噪音影响太大了。将来需要找个时间从头到尾地重看一遍星Ⅱ。</p><p>  发现对于“人设”的评价属实有点泛滥了。我仍然坚持大学语文老师的观点，不要在评论中引入“人设有没有崩”这种东西，扼杀人物形象性格多样性实在荒谬得很，你顶多能分析分析多种形象性格是不是没有很好地衔接。</p><p>  本来只是简单地觉得这届观众应该好好看看 2022.8.27 的生放对于第 4 5 6 话的解读，但是看到 10 组熟肉下的评论，竟然充满着“聊天和来信都是第 4 话的，第 5 6 话都没有，可想而知这两话有多烂”这样的言论。我终于明白，这些人连看生放熟肉都是有眼无珠的，星Ⅱ期间再也不要看 lovelive 吧和 b 站视频的评论了，充斥着瞎 jb 看两眼就大放阙词的人。</p><p>  搞半天原来大家还有“声优盾”这个想法在，这可能是大家从根本上看不进去生放的原因了。我觉得，你们最好是拿出些能锤的证据来，不然如此随意地揣测别人的想法，你们不觉得很不尊重人吗？为什么可以这么随意地用自己心中恶心的想法来代表别人？<br>  并且最最重要的，不论她们到底是不是真心给出的分析和讨论，她们说出来的话对不对才是重点吧？那她们的分析和来信写的难道不正确吗？没有那些细节吗？这些不足以引导你去读懂这部番吗？</p><h3 id="end">end</h3><p>  这部剧到这里算是落下帷幕了。<br>  它是一部正常普通的番，可赏之处很多，直面了很多现实问题，引起我很大量的思考。<br>  网友们指出的一些问题是存在的，比如香音小千二人主导了过多事情导致团队内的羁绊塑造较弱，以及我这长篇大论总结的一些问题，导致它不会成为一部很优秀的番。总的来说，商业气味很浓，浓过头了，最主要的体现就是歌曲和剧情的弱相关，像是上头对编剧说，你这话要插一首歌，至于歌曲是什么，我不知道，可能还没写好，但你这里要插首歌。所以最方便的做法，就是比赛，比赛，不停地比赛，以比赛这个万金油平台，把歌曲都塞进去。<br>  追番过程实在是艰难，太多被迫激起的激昂和思考了，于是有了这篇博客。其实明知这样是不好的，应该整部番看完一并评论，而不是看一话就发表一话评论，这样才有更全局整体的思考。<br>  反正确定第三季了，第二季给我最大的教训就是，以后绝对不能冲动地看完一话就来看大家评论了。当然如果完全不在乎评论的话那就甚至不需要追番，缓冲一下几话几话地看，应该效果更好。<br>  倒也感谢这些评论，鞭策我看完了第一本美学哲学教材，也确定了接下来的美学哲学读本和文学理论的读本了。</p><h3 id="外部链接">外部链接</h3><p>  推荐这个<a href="https://www.bilibili.com/video/BV1AK411o7xc/?share_source=copy_web&amp;vd_source=a15792db4a83b7fae4de2b946880c9b6">关于香音的分析</a>，以及这位 up 主的其他投稿。这位 up 是有认真分析的，关于香音的双重性格讲得很棒。</p>]]></content>
    
    
    <summary type="html">&lt;p&gt;  纯粹是&lt;a href=&quot;/something/&quot; title=&quot;【长更】杂写&quot;&gt;杂写&lt;/a&gt;里面占篇幅太长了，所以拉出来单开一篇。&lt;br&gt;
  但为了一部番单开一篇 blog 实在是有点。。。&lt;/p&gt;</summary>
    
    
    
    <category term="玩" scheme="http://kqp.world/categories/%E7%8E%A9/"/>
    
    
  </entry>
  
  <entry>
    <title>2021 EC Final 退休游记</title>
    <link href="http://kqp.world/2021_EC_Final/"/>
    <id>http://kqp.world/2021_EC_Final/</id>
    <published>2022-07-22T06:37:00.000Z</published>
    <updated>2026-06-24T09:18:36.500Z</updated>
    
    <content type="html"><![CDATA[<blockquote><p>“你们不是已经毕业了吗？”          ——遇到的所有熟人</p></blockquote><span id="more"></span><p>  其实得知我们要去 EC 是一点都不惊奇的，毕竟大四这个赛季打也打了，金也拿了，我校也还没在区域赛出线，所以必然要被抓壮丁，且被寄予出线的厚望的（x<br>  反正本科的课业全部结束了，无人之境也没有晋级、荣誉的压力，所以去比赛也不过是娱乐消遣、毕业旅行。我们三个人好像都已经把竞赛当闲时爱好了，心态上很放松，也没训练。就是可怜 zayin 请假几千几千地亏，邓老板牺牲了跟同学去青海的机会，亮亮损失了在成都陪女朋友的时光，nurivf 一直在修论文，好像只有我游手好闲（？<br>  本来我校是5个正式+2个打星，结果后来打星也转正了，变成7支队伍浩浩荡荡，一个大军团~~，占 EC 总队伍数的约 2%~~</p><h2 id="7-12-7-17">7.12~7.17</h2><p>  EC 前的一周集训，华为请我们去松山湖训练，题还是我们自己找，但吃住是他们负责的，顺便让他们给我们插点宣传。<br>  于是就二刷了松山湖欧洲小镇。这次是深度游览，体验园区内的饮食，坐小火车上下班。住的酒店非常豪华，还能免费洗衣服。不过不包晚餐，要我们自己去各饭堂体验，对于完全不想花钱的我并不友好，宁可他晚餐也发盒饭。。。<br>  问华为员工推荐食堂，宣讲嘉宾说吃多了都没意思，左左说不知道，yxuanwkeith 夫人说 KFC（<br>  华为 ICT 搞的这个 Auto Driving Network，总有点标题党的感觉。。。<br>  去年在欧洲小镇泡了一天，就有了相当的欧气一发抽出 AC1 黛，这次浸润 3 天之后，僕光Ⅱ、ns 一年级一上线就开抽，十分顺利地抽出了 4 个 20n 复读机配件，平均 125 心一张卡。给欧洲小镇点赞。</p><p>  做了 5 套题，一套签到练习，两套省赛，两套外国自闭场，康复效果不错。最后的午餐去打 bytecamp，感受了一下，都是好题，他们那是真正的 camp。</p><p>  见证了西安临危不惧镇定从容地把疫情处理干净，也见证了从广州到东莞之后广州、东莞疫情相继炸开。换在精准防控时代以前，我们这趟行程就是各种勇闯毒区。<br>  从东莞回来是 17 号下午，正值广州萤火虫漫展，遂快乐逛外场，与 staff 朋友见最后一面。一开始校队还商量 18 号白天先逛了萤火虫晚上再去西安来着（x</p><h2 id="7-18">7.18</h2><p>  飞机是中午的，不用挤地铁，好评。<br>  在西安的高速出口被拦截，工作人员一看行程码，说：“广东省广州市，广东省东莞市，全是中高风险。”于是做了一大票登记，花费半小时。<br>  发现酒店是去年华为晚宴的酒店，感觉不祥。不过环境挺好，房间表面上也不错的，开房的时候看到标双价格是 800+ 一晚。当晚的晚餐是在围栏处领取盒饭，外面排队报到的人，和里面排队拿饭的人，互相都像看猴一样。<br>  想补一个题，拖拖拉拉地还是没补完。<br>  得益于50G/月的流量套餐，成为全队外出流量担当，并得知酒店的网十分炸裂。</p><h2 id="7-19">7.19</h2><p>  早餐有面和豆腐花，还有一大堆凉菜，没有 coffee。总体来说质量可能跟去年华为晚宴是一样的，但早餐跟正餐评价体系不一样，所以感受是略有进步。然而豆腐花竟然是酸的，感到十分震惊。<br>  午餐的菜品十分少，廉价感十足，这就又回到了华为晚宴的质量了。联想到比赛场地叫“御宴宫”，突然绷不住了，当即创作了一个“御宴丁真，鉴定为油饼”。不过好像大家不混贴吧，不太玩丁真梗。。。</p><p>  下午宣(chou)讲(jiang)。先去了元戎启行打算抽机键，结果发现要提问回答才能拿奖，于是把 6 张虾皮券集中到欧主力手上，派他去看看 switch，我们留守元戎。结果得知要扫二维码签到且没有 switch，我就扫了二维码，元戎结束后去虾皮第二场看看情况，然而签到码只能扫一次，于是第二场没有资格抽奖，空手而归。<br>  后来才知道我第一场中了蓝牙音箱，但是人不在场，被 skip 了。。。</p><p>  热身赛，观察环境，斜对角是胖头鱼头胖，斜前方是小万邦和冰泮北徂。<br>  登录进去发现有二次元（<br>  开场写个 A 题，然后队友直接跟我说，C 题你这样处理一下字符串，然后跑个 Manacher 就行了，我题都没读，直接开冲，过了才大概知道题意（<br>  面基胖头鱼头胖，结果没认出 Howard Li（</p><p>  晚餐依旧是菜品非常少，廉价感十足。发现他们对蒸鱼非常自信，总要在没菜的时候端一锅这样的鱼出来。身为天天吃鱼的广东人，只能说精神可嘉。<br>  晚上参加华为宣讲错过水生放的两首新歌试听。发现前面一群纪中人聚会。。。pku、tju、hkust、scut、hdu，加上我 sysu，10 个人左右了，太辉煌了。<br>  学弟们以及其他熟人见到我，第一句话都是：“你不是已经毕业了吗？”</p><h2 id="7-20">7.20</h2><p>  吃一大碗酸豆腐，带两瓶咖啡，开场。<br>  签个 I 题，讨论一下，但是去重写错了，获得首红。<br>  很快 A, L 也签完了。<br>  读完 G, H，zayin 表示都有印象，甚至是出过的。判断是 G 简单些，于是想了个构造：先用 bfs 把确定的填完，然后第一行第一列放 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.0502em;">B</span></span></span></span>，其余依次填。我觉得这个构造有点假，因为黄大爷曾经出过类似的题是要用行和列来构造的，但 zayin 还是先去写了一发，WA 掉。<br>  然后邓老板会了 J，zayin 会了 B，我们讨论出 C 的一个容斥+dp 的做法。B 过得顺利，J WA 后觉得变量定义有点乱，队友们一直在讨论。期间我写 C 发现假了，想写些“迟早要写”的东西发现也很麻烦，遂去读 E。<br>  J 查错无果，遂弃，邓老板完善 D 的想法，我和 zayin 讨论 E。E 非常多 corner case，讨论出大致框架就开冲了，一路 WA 一路修，幸运的是最终集齐了所有 corner case 过了。期间 J 修了两个 bug 过了，D 也讨论清楚开始写了。<br>  后来就是 D 一路写到封榜后，补上一个漏了的 corner case 后过掉。期间 C 一直假，最后扫了一眼 G 和 H，zayin 突然会了 H 的建图，最后 13min rush，赛后一分钟过样例。</p><p>  刚出考场感到非常遗憾，因为算了算 8 题出线概率比较大，7 题就基本没戏了，所以如果 H 真的赛后 1min，那就痛失出线了，zayin 哀嚎。我也有一种非常可惜的感觉，但并不深刻，本身就没奔着出线来的，能在强队如云的 EC 不怎么训练还混到金就不错了，没想到好像还混得挺前，真要是过了 H 出了线，谁研二还要打 final 啊~<br>  但其实我们队本质上都是乐子人心态了，这样的遗憾如果放在大三及以前，我们估计会以头抢地，但这次，其实也就是哀嚎两声，平静得很快，以至于后来有民间榜说我们也出线了，心态也都没啥波动了。</p><p>  滚榜发现一众强队出线队都寄了，排在我们前面的都是清北浙南+一两支突出的队伍。大家都跟我们一样是爆发户？还是战线太长大家都不想训练了？现在就是清北浙南这些学校集中排在各大赛站前排，使得榜上 10 多名的队伍还能有不错的校排成绩。<br>  然后关于题目，分类讨论的浓度实在太高了。从 I 签到就开始讨论，E 超级大讨论，D 也要讨论，好像就是大半场都在听队友讨论，帮队友梳理讨论。其他题 debug 时想 corner case 也会加重这一感受。<br>  知乎上好像都是关于环境酒店的吐槽，没有对题目的评价。<br>  对于我来说，又是一次被队友带飞的比赛。全程就是开场签了个到，然后胡说八道四小时躺了个金。E 主要还是在听和 check，D 姑且算是提供了一个 corner case。<br>  后来发现我们 rush 的 H 的做法还是有问题的，建出二分图是对的，但后面应该求最大独立集而不是黑白染色。这题在赛场上估计还要半小时，WA 一次，才能意识到这个问题。所以我们的整体节奏还是慢了许多，并不是少了一两分钟的遗憾。我们花在 C 上的时间非常多，并且大部分时间是判断 G 比 H 简单，导致花在 H 的时间是不够的。</p><p>  虾皮最后黑幕钦定 switch。<br>  浅体验了下新的华为晚宴，之前华为 hr 说敲打了酒店必须做出重大改进，最后质量是合格了，但要说一桌 1000，那不如去抢。<br>  晚上快乐逛市区。大雁塔南侧建了条商业街叫大唐不夜城，十分奇怪，根据初中历史，大唐的长安是宵禁的而且严格管控商业，在大唐搞不夜城你是想被杀头吗？<br>  登上城墙，但无法眺望长安城。只走了 1/4 段，要是有充足时间走完它就好了。感觉西安这个城很厉害，用古代城墙包住现代市区，高楼大厦、旧市区建筑、古风建筑、洋式建筑就这么交在一起。</p><h2 id="End">End</h2><p>  体会最深刻的还是心态变化了。最早大一大二是激情洋溢地打比赛，大三崩溃过所以是半热情半烦躁地过着，大三后期以及大四，因为没有压力了，就是以一种业余爱好的心态在参与。所以乐呵呵地来，乐呵呵地走。<br>  可能这次最受伤的是亮亮了。最后的午餐这年非常努力，有在认真训练，但最终都没能有出线的机会。前几场区域赛还有些策略问题，比如有人一个题自闭一整场没人救，但最后昆明区域赛，没有太多策略问题了，是凭实力自闭了。欧主力和梁主力如果想打还有两年，并且下一届还能招到 NOI 银水平的一众新大一，但是亮亮的竞赛就结束了，他做了很多事情来提升水平，包括用一年时间与水平一般的队友组队练 carry 能力，最后赌上大四，输了。<br>  其实以我校的训练强度和水平，冲出线并不稳定，还得有一定的运气因素，得恰好选到一个没什么人的赛区，恰好没有重大失误。大四这一年，各赛区都有稳定强队和暴发户强队，没有上一年的济南昆明这种赛区了。</p><p>  再说些杂的。引用我校教练的观点，疫情的 xcpc，特点就是战线拉得特别长，到了后期，大家都累。有的队伍仍然坚持一周四训甚至一周六训，但应该更多的学校，氛围会逐渐变差。战时氛围跟备战下一赛季的氛围是不一样的，前者紧张得多，消耗的精力也会大。而且占用太多课余时间，没时间去体验科研等其他事情，这也不好。</p><p>  后面还有 ccpc final 和 world final，打完，就可以写退役记了，这就是真退役了。希望孟加拉还是能去线下。</p>]]></content>
    
    
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;“你们不是已经毕业了吗？”          ——遇到的所有熟人&lt;/p&gt;
&lt;/blockquote&gt;</summary>
    
    
    
    <category term="总结与游记" scheme="http://kqp.world/categories/%E6%80%BB%E7%BB%93%E4%B8%8E%E6%B8%B8%E8%AE%B0/"/>
    
    <category term="OI/XCPC" scheme="http://kqp.world/categories/OI-XCPC/"/>
    
    
  </entry>
  
  <entry>
    <title>【AtCoder Grand 029F】Construction of a tree 题解</title>
    <link href="http://kqp.world/%E3%80%90AtCoder%20Grand%20029F%E3%80%91Construction%20of%20a%20tree%20%E9%A2%98%E8%A7%A3/"/>
    <id>http://kqp.world/%E3%80%90AtCoder%20Grand%20029F%E3%80%91Construction%20of%20a%20tree%20%E9%A2%98%E8%A7%A3/</id>
    <published>2022-06-17T06:58:32.000Z</published>
    <updated>2026-06-24T09:18:36.665Z</updated>
    
    <content type="html"><![CDATA[<h2 id="题目大意">题目大意</h2><p>  设全集为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">{</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>n</mi><mo stretchy="false">}</mo></mrow><annotation encoding="application/x-tex">\{1,2,\cdots,n\}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mopen">{</span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">2</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span><span class="mclose">}</span></span></span></span>，给出 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n-1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6667em;vertical-align:-0.0833em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span> 个子集 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>E</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">E_1,\cdots,E_{n-1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8917em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span></span></span></span>，<span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∣</mi><msub><mi>E</mi><mi>i</mi></msub><mi mathvariant="normal">∣</mi><mo>≥</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">|E_i| \ge 2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"></span><span class="mord">∣</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">∣</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≥</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span>，请从每个子集中选出两个元素，视为给两个节点连一条边，使得最后构成一棵树。<br>  输出一种方案或是“-1”表示无解。</p><p>  <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≤</mo><msup><mn>10</mn><mn>5</mn></msup><mo separator="true">,</mo><mtext>  </mtext><mo>∑</mo><mi mathvariant="normal">∣</mi><msub><mi>E</mi><mi>i</mi></msub><mi mathvariant="normal">∣</mi><mo>≤</mo><mn>2</mn><mo>×</mo><msup><mn>10</mn><mn>5</mn></msup></mrow><annotation encoding="application/x-tex">n \leq 10^5,\ \ \sum |E_i| \le 2 \times 10^5</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.7719em;vertical-align:-0.136em;"></span><span class="mord mathnormal">n</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.0641em;vertical-align:-0.25em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">5</span></span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace"> </span><span class="mspace"> </span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mop op-symbol small-op" style="position:relative;top:0em;">∑</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord">∣</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">∣</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">2</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8141em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">5</span></span></span></span></span></span></span></span></span></span></span><br>  4s</p><span id="more"></span><h2 id="题解">题解</h2><p>  这种觉得好像是流但看上去不是很能流最后又确实是流的题真的一流。。。</p><p>  考虑必要条件，一棵树去掉根以后，边和点可以一一对应（每个点跟它连向父亲的边对应），因此建一个二分图，左边是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">1,\cdots,n</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8389em;vertical-align:-0.1944em;"></span><span class="mord">1</span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal">n</span></span></span></span> 表示节点，右边是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo><msub><mi>E</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">E_1,\cdots,E_{n-1}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8917em;vertical-align:-0.2083em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner">⋯</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mpunct">,</span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.0576em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3011em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathnormal mtight">n</span><span class="mbin mtight">−</span><span class="mord mtight">1</span></span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.2083em;"><span></span></span></span></span></span></span></span></span></span> 表示边，那么左边去掉根节点之后应当有完美匹配。并且这是一棵无根树，所以左边去掉任意点以后都应当有完美匹配。<br>  然后看看这个条件充不充分。有完美匹配以后我们还需要的是整个图连通，也就是根节点可以到达其他所有点，也就是从左边的根节点开始，沿着“非匹配边-匹配边-非匹配边-……”的交错路能遍历所有的点。题解证明了这是成立的：因为“左边去掉任意点以后都有完美匹配”，所以任取非根节点 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span>，把去掉它的完美匹配与去掉根的完美匹配并起来，这样除了根和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 外所有点的度数都是 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn></mrow><annotation encoding="application/x-tex">2</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">2</span></span></span></span>（因为每个点都连了两条匹配边，只有根和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 连了一条匹配边）。现在全图只有根和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 度数为 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6444em;"></span><span class="mord">1</span></span></span></span>，那它们必然在同一个连通块里，因为连通块的总度数一定是偶数。所以根和 <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"></span><span class="mord mathnormal">x</span></span></span></span> 是连通的。<br>  因此，“有解” <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>→</mo></mrow><annotation encoding="application/x-tex">\to</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.3669em;"></span><span class="mrel">→</span></span></span></span> “左边去掉任意点都有完美匹配” <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>→</mo></mrow><annotation encoding="application/x-tex">\to</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.3669em;"></span><span class="mrel">→</span></span></span></span> “任意求一个完美匹配，从左边的根节点开始，沿‘非匹配边-匹配边-非匹配边-……’做 BFS，可以遍历所有的点”，并且这样也就构造出一组解了。</p><h2 id="代码">代码</h2><figure class="highlight cpp"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#<span class="keyword">include</span><span class="string">&lt;bits/stdc++.h&gt;</span></span></span><br><span class="line"><span class="meta">#<span class="keyword">define</span> fo(i,a,b) for(int i=a;i&lt;=b;i++)</span></span><br><span class="line"><span class="keyword">using</span> <span class="keyword">namespace</span> std;</span><br><span class="line"></span><br><span class="line"><span class="type">const</span> <span class="type">int</span> maxn=<span class="number">1e5</span><span class="number">+5</span>, maxsum=<span class="number">2e5</span><span class="number">+5</span>, maxe=<span class="number">4e5</span><span class="number">+5</span>;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> n,m;</span><br><span class="line">vector&lt;<span class="type">int</span>&gt; S[maxn];</span><br><span class="line"></span><br><span class="line">vector&lt;<span class="type">int</span>&gt; e[maxn];</span><br><span class="line"><span class="type">int</span> dis[<span class="number">2</span>*maxn],pt[<span class="number">2</span>*maxn],maxdis;</span><br><span class="line"><span class="function"><span class="type">bool</span> <span class="title">Hopcroft_bfs</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="built_in">memset</span>(dis,<span class="number">255</span>,<span class="built_in">sizeof</span>(dis));</span><br><span class="line">maxdis=<span class="number">-1</span>;</span><br><span class="line">queue&lt;<span class="type">int</span>&gt; Q;</span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n) <span class="keyword">if</span> (!pt[i]) &#123;</span><br><span class="line">Q.<span class="built_in">push</span>(i);</span><br><span class="line">dis[i]=<span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">while</span> (!Q.<span class="built_in">empty</span>()) &#123;</span><br><span class="line"><span class="type">int</span> cur=Q.<span class="built_in">front</span>(); Q.<span class="built_in">pop</span>();</span><br><span class="line"><span class="keyword">for</span>(<span class="type">int</span> go:e[cur]) <span class="keyword">if</span> (dis[go]==<span class="number">-1</span>) &#123;</span><br><span class="line">dis[go]=dis[cur]<span class="number">+1</span>;</span><br><span class="line"><span class="keyword">if</span> (!pt[go]) &#123;</span><br><span class="line">maxdis=dis[go];</span><br><span class="line"><span class="keyword">continue</span>;</span><br><span class="line">&#125; <span class="keyword">else</span> &#123;</span><br><span class="line">dis[pt[go]]=dis[go]<span class="number">+1</span>;</span><br><span class="line">Q.<span class="built_in">push</span>(pt[go]);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">return</span> maxdis&gt;<span class="number">-1</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="type">bool</span> <span class="title">Hopcroft_dfs</span><span class="params">(<span class="type">int</span> k)</span> </span>&#123;</span><br><span class="line"><span class="keyword">for</span>(<span class="type">int</span> go:e[k]) <span class="keyword">if</span> (dis[k]<span class="number">+1</span>==dis[go]) &#123;</span><br><span class="line">dis[go]=<span class="number">-1</span>;</span><br><span class="line"><span class="keyword">if</span> (!pt[go] || <span class="built_in">Hopcroft_dfs</span>(pt[go])) &#123;</span><br><span class="line">pt[k]=go, pt[go]=k;</span><br><span class="line"><span class="keyword">return</span> <span class="number">1</span>;</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">return</span> <span class="number">0</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">Hopcroft</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="type">int</span> re=<span class="number">0</span>;</span><br><span class="line"><span class="keyword">while</span> (<span class="built_in">Hopcroft_bfs</span>())</span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n) <span class="keyword">if</span> (!pt[i]) re+=<span class="built_in">Hopcroft_dfs</span>(i);</span><br><span class="line"><span class="keyword">return</span> re;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="type">bool</span> vis[maxn];</span><br><span class="line">pair&lt;<span class="type">int</span>,<span class="type">int</span>&gt; ans[maxn];</span><br><span class="line"><span class="function"><span class="type">int</span> <span class="title">main</span><span class="params">()</span> </span>&#123;</span><br><span class="line"><span class="built_in">scanf</span>(<span class="string">&quot;%d&quot;</span>,&amp;n);</span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n<span class="number">-1</span>) &#123;</span><br><span class="line"><span class="type">int</span> sz,x;</span><br><span class="line"><span class="built_in">scanf</span>(<span class="string">&quot;%d&quot;</span>,&amp;sz);</span><br><span class="line"><span class="built_in">fo</span>(j,<span class="number">1</span>,sz) &#123;</span><br><span class="line"><span class="built_in">scanf</span>(<span class="string">&quot;%d&quot;</span>,&amp;x);</span><br><span class="line">e[x].<span class="built_in">push_back</span>(n+i);</span><br><span class="line">S[x].<span class="built_in">push_back</span>(i);</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="keyword">if</span> (<span class="built_in">Hopcroft</span>()!=n<span class="number">-1</span>) &#123;<span class="built_in">puts</span>(<span class="string">&quot;-1&quot;</span>); <span class="keyword">return</span> <span class="number">0</span>;&#125;</span><br><span class="line"></span><br><span class="line"><span class="type">int</span> root;</span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n) <span class="keyword">if</span> (!pt[i]) &#123;root=i; <span class="keyword">break</span>;&#125;</span><br><span class="line">queue&lt;pair&lt;<span class="type">int</span>,<span class="type">int</span>&gt;&gt; Q;</span><br><span class="line"><span class="keyword">for</span>(<span class="type">int</span> x:S[root]) &#123;</span><br><span class="line">vis[x]=<span class="number">1</span>;</span><br><span class="line">Q.<span class="built_in">push</span>(<span class="built_in">make_pair</span>(root,x));</span><br><span class="line">&#125;</span><br><span class="line"><span class="keyword">while</span> (!Q.<span class="built_in">empty</span>()) &#123;</span><br><span class="line"><span class="keyword">auto</span> cur=Q.<span class="built_in">front</span>(); Q.<span class="built_in">pop</span>();</span><br><span class="line"><span class="type">int</span> son=pt[n+cur.second];</span><br><span class="line">ans[cur.second]=<span class="built_in">make_pair</span>(cur.first,son);</span><br><span class="line"><span class="keyword">for</span>(<span class="type">int</span> x:S[son]) <span class="keyword">if</span> (!vis[x]) &#123;</span><br><span class="line">vis[x]=<span class="number">1</span>;</span><br><span class="line">Q.<span class="built_in">push</span>(<span class="built_in">make_pair</span>(son,x));</span><br><span class="line">&#125;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n<span class="number">-1</span>) <span class="keyword">if</span> (!vis[i]) &#123;<span class="built_in">puts</span>(<span class="string">&quot;-1&quot;</span>); <span class="keyword">return</span> <span class="number">0</span>;&#125;</span><br><span class="line"><span class="built_in">fo</span>(i,<span class="number">1</span>,n<span class="number">-1</span>) <span class="built_in">printf</span>(<span class="string">&quot;%d %d\n&quot;</span>,ans[i].first,ans[i].second);</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>]]></content>
    
    
    <summary type="html">&lt;h2 id=&quot;题目大意&quot;&gt;题目大意&lt;/h2&gt;
&lt;p&gt;  设全集为 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mo stretchy=&quot;false&quot;&gt;{&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mo&gt;⋯&lt;/mo&gt;&lt;mtext&gt; &lt;/mtext&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo stretchy=&quot;false&quot;&gt;}&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;&#92;{1,2,&#92;cdots,n&#92;}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;⋯&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mclose&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;，给出 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;n-1&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6667em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 个子集 &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/msub&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mo&gt;⋯&lt;/mo&gt;&lt;mtext&gt; &lt;/mtext&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;E_1,&#92;cdots,E_{n-1}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8917em;vertical-align:-0.2083em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0576em;&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3011em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;minner&quot;&gt;⋯&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0576em;&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3011em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mbin mtight&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mord mtight&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.2083em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;，&lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;mo&gt;≥&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;|E_i| &#92;ge 2&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0576em;&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3117em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≥&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.6444em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;，请从每个子集中选出两个元素，视为给两个节点连一条边，使得最后构成一棵树。&lt;br&gt;
  输出一种方案或是“-1”表示无解。&lt;/p&gt;
&lt;p&gt;  &lt;span class=&quot;katex&quot;&gt;&lt;span class=&quot;katex-mathml&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;/msup&gt;&lt;mo separator=&quot;true&quot;&gt;,&lt;/mo&gt;&lt;mtext&gt;  &lt;/mtext&gt;&lt;mo&gt;∑&lt;/mo&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/msub&gt;&lt;mi mathvariant=&quot;normal&quot;&gt;∣&lt;/mi&gt;&lt;mo&gt;≤&lt;/mo&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;mo&gt;×&lt;/mo&gt;&lt;msup&gt;&lt;mn&gt;10&lt;/mn&gt;&lt;mn&gt;5&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;&lt;annotation encoding=&quot;application/x-tex&quot;&gt;n &#92;leq 10^5,&#92; &#92; &#92;sum |E_i| &#92;le 2 &#92;times 10^5&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;span class=&quot;katex-html&quot; aria-hidden=&quot;true&quot;&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7719em;vertical-align:-0.136em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:1.0641em;vertical-align:-0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mspace&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mop op-symbol small-op&quot; style=&quot;position:relative;top:0em;&quot;&gt;∑&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.1667em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; style=&quot;margin-right:0.0576em;&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.3117em;&quot;&gt;&lt;span style=&quot;top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.15em;&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;∣&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot;&gt;≤&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2778em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.7278em;vertical-align:-0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot;&gt;×&lt;/span&gt;&lt;span class=&quot;mspace&quot; style=&quot;margin-right:0.2222em;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot;&gt;&lt;span class=&quot;strut&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mord&quot;&gt;&lt;span class=&quot;mord&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;msupsub&quot;&gt;&lt;span class=&quot;vlist-t&quot;&gt;&lt;span class=&quot;vlist-r&quot;&gt;&lt;span class=&quot;vlist&quot; style=&quot;height:0.8141em;&quot;&gt;&lt;span style=&quot;top:-3.063em;margin-right:0.05em;&quot;&gt;&lt;span class=&quot;pstrut&quot; style=&quot;height:2.7em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot;&gt;&lt;span class=&quot;mord mtight&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;
  4s&lt;/p&gt;</summary>
    
    
    
    <category term="OI/XCPC" scheme="http://kqp.world/categories/OI-XCPC/"/>
    
    
    <category term="算法_网络流/匹配" scheme="http://kqp.world/tags/%E7%AE%97%E6%B3%95-%E7%BD%91%E7%BB%9C%E6%B5%81-%E5%8C%B9%E9%85%8D/"/>
    
  </entry>
  
</feed>
