<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>杂谈 on 一共十七划</title>
		<link>https://noirzh.com/tags/%E6%9D%82%E8%B0%88/</link>
		<description>Recent content in 杂谈 on 一共十七划</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Sun, 02 Mar 2025 17:00:22 +0800</lastBuildDate>
		
			<atom:link href="https://noirzh.com/tags/%E6%9D%82%E8%B0%88/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>小说-夏夜</title>
				<link>https://noirzh.com/posts/%E5%A4%8F%E5%A4%9C/</link>
				<pubDate>Sun, 02 Mar 2025 17:00:22 +0800</pubDate>
				<guid>https://noirzh.com/posts/%E5%A4%8F%E5%A4%9C/</guid>
				<description>&lt;p&gt;那几年夏天的傍晚，总是长得像一辈子也过不完。&lt;/p&gt;&#xA;&lt;p&gt;她是从阁楼的窗户翻出去的。窗框上的绿漆已经斑驳了，像干燥的皮肤。她把裙子撩起来一点，跨过窗台，脚尖探出去，踩住外面的瓦瓦。瓦是温的，太阳晒了一整天的余温，隔着薄薄的袜子传上来，像谁的手心贴着她的脚掌。&lt;/p&gt;&#xA;&lt;p&gt;她向前走了几步, 蹲在屋顶的斜坡上，抱住了自己的膝盖。&lt;/p&gt;&#xA;&lt;p&gt;西边的天正在烧。像一个人在炉火前打瞌睡，脸上的光一寸一寸地暗下去，又一寸一寸地红起来。最底下是橘黄，厚厚的，像抹了一层橘子酱；往上变成橘红，稀薄一些，透出底下的粉；再往上就紫了，是那种洗了很多遍的旧绸缎的颜色，灰扑扑的紫，紫里还藏着一点不肯走的蓝。整片天就那样铺着，瓦也是灰的，远处的楼也是灰的，只有这一片橘黄和橘红，把整个屋顶都染了。她的手背上落了一层光，薄薄的，像涂了蜜。&lt;/p&gt;&#xA;&lt;p&gt;那个人明天就走了。&lt;/p&gt;&#xA;&lt;p&gt;这个念头像一粒石子丢进水里，涟漪一圈一圈地荡开。信她看了太多遍，折痕的地方字迹已经模糊了，那个人的名字只剩下一个大概的形状。信上写，南边的树冬天也不落叶，绿的，绿得很满，满得快要溢出来。信上写，听说那边的海很蓝。&lt;/p&gt;&#xA;&lt;p&gt;海。&lt;/p&gt;&#xA;&lt;p&gt;她把这个字含在嘴里，悄悄念了一下。海。轻轻的，像叹气。&lt;/p&gt;&#xA;&lt;p&gt;她没见过海。她见过的最大的水就是运河，灰的，浑的，慢慢地流，像一个永远不着急的人。运河能流到海吗？她盯着那条灰色的带子，它拐了一个弯，被楼房挡住了，又露出来，越来越细，最后消失在橘黄和灰的交界处。她想象河一直流，流过一个又一个傍晚，流过很多她不认识的城市和田野，慢慢变宽，变蓝，变咸，变成那个人正在看的那片海。&lt;/p&gt;&#xA;&lt;p&gt;风又来了。这一次她闭上眼睛。&lt;/p&gt;&#xA;&lt;p&gt;她深吸一口气。把所有味道都吸进去。存起来。存在肺的最底下，存在心脏旁边那个她自己都不知道名字的地方。等她老了，等她把这件事忘了很久很久以后，这个味道还会自己跑出来，在某个傍晚，某个起风的时刻，忽然就来了，带着灰色的瓦、橘黄的天、混着水腥气和栀子香的风，带着那个人的名字，带着她十八岁那一年的全部黄昏。&lt;/p&gt;&#xA;&lt;p&gt;她从口袋里摸出一张纸。&lt;/p&gt;&#xA;&lt;p&gt;纸被她折了很多次，折成了一个小小的方块，边角都毛了。展开的时候，折痕像地图上的路，一条一条，交错着，把她写过的话切割成碎片。她写了很多遍。第一遍写的是名字，写完了觉得太直白，涂掉了。第二遍写了一整句话，写了又觉得太重，涂得更黑。第三遍写了一个问号，写了又觉得太轻，轻得像什么都没说。最后只剩下角落里的七个字，写得很小，但每个字都用力，纸都被笔尖划破了。&lt;/p&gt;&#xA;&lt;p&gt;她把纸重新折好。然后爬到屋脊上，骑坐在最高的那条线上。整个小城都在脚下了。&lt;/p&gt;&#xA;&lt;p&gt;她把那张纸塞进瓦缝里。第三行第五片瓦，从左边数起，太阳晒得最多的那一片。瓦片的边缘有一点青苔，摸上去茸茸的，像什么小动物的背。她把纸塞得很深，藏在温热的瓦片底下，像这个傍晚的一个秘密。&lt;/p&gt;&#xA;&lt;p&gt;很多年以后，会有人掀开这片瓦吗？会有人发现这张纸吗？那时候她会在哪里？那个人会在哪里？掀开瓦片的那个人，会不会也是一个十八岁的女孩，在某个夏天的傍晚，骑着屋脊，看着西边的天一点一点暗下去？她会读懂这七个字吗？会为这七个字觉得胸口发紧吗？会觉得这个傍晚也变得很长很长，长得像一辈子也过不完吗？&lt;/p&gt;&#xA;&lt;p&gt;她坐在屋脊上，两只手撑在身后，手心按着温热的瓦。风吹过来，把她的裙摆吹得鼓起来，像一朵倒扣的花，像一只张开的翅膀，像有什么东西要从她身体里飞出去。&lt;/p&gt;&#xA;&lt;p&gt;她觉得自己快要飞起来了。&lt;/p&gt;&#xA;&lt;p&gt;但她没有。她只是坐着，坐在灰色和橘黄之间，坐在天空和屋顶之间，坐在这个长得像一辈子的夏天的傍晚里。远处那颗星已经亮了，很淡，像谁在水面上点了一笔白颜料。运河还在流，灰的，慢慢地，往南，往那片她没见过的蓝。&lt;/p&gt;&#xA;&lt;p&gt;她从口袋里摸出一颗糖，是水果硬糖，橘子味的。剥开玻璃纸的时候，纸在手里窸窣作响，皱成一团亮闪闪的小球。她把糖放进嘴里，硬硬的，在舌头上滚了一圈，甜味慢慢渗出来。&lt;/p&gt;&#xA;&lt;p&gt;是甜的。是橘子的甜，和天边的橘黄一样甜。&lt;/p&gt;&#xA;&lt;p&gt;她含着那颗糖，咽了一下口水，喉咙里咕咚一声，像咽下了一小块傍晚。瓦片温着她的掌心，风凉着她的脚踝，嘴里那颗糖越来越小，越来越小，甜味却越来越浓，浓得她眯起了眼睛。&lt;/p&gt;&#xA;&lt;p&gt;她把玻璃纸展开，对着天看。纸是皱的，但光穿过它的时候，变成了金色。她把那张纸举高一点，再举高一点，举到那片橘黄里去。金色的光斑落在她脸上，落在她的眉毛上、鼻尖上、嘴唇上，像谁在亲她，轻轻地，一个一个地。&lt;/p&gt;&#xA;&lt;p&gt;然后她把手收回来，把那张皱巴巴的玻璃纸也塞进瓦缝里，和那张纸条放在一起。第三行第五片瓦底下，太阳晒过的地方。纸条上是七个字，玻璃纸上是一个橘子味的傍晚。&lt;/p&gt;&#xA;&lt;p&gt;她会记住这个味道的。她会的。&lt;/p&gt;&#xA;&lt;p&gt;风最后来了一次，把她的头发吹到脸上来。发丝贴在嘴角，痒痒的，她把它们拨开，指尖沾上了一点糖的甜。她舔了一下指尖。&lt;/p&gt;&#xA;&lt;p&gt;甜的。&lt;/p&gt;&#xA;&lt;p&gt;她笑了一下。然后她站起身，裙子上沾了灰，拍拍，灰飞起来，在橘黄的光里飘了一瞬，就不见了。&lt;/p&gt;&#xA;&lt;p&gt;她往阁楼走。走到边缘的时候停了一下，回头看了一眼。&lt;/p&gt;&#xA;&lt;p&gt;第三行第五片瓦。她数了一遍。一、二、三、四、五。&lt;/p&gt;&#xA;&lt;p&gt;然后她翻过窗台，脚踩在阁楼的地板上。地板是凉的，和瓦片完全不一样的温度。她把窗户关上，把那片橘黄关在外面，把运河的腥气、柴火的烟味、迟开的栀子的香、还有那个橘子味的傍晚，都关在外面。&lt;/p&gt;&#xA;&lt;p&gt;她靠在窗边，听了一会儿。风在窗外呜呜地响，像在说什么，说了一遍又一遍，她听不清。&lt;/p&gt;&#xA;&lt;p&gt;但她知道，那片瓦底下有她的七个字，有一颗糖的玻璃纸，有一个十八岁夏天的傍晚。&lt;/p&gt;&#xA;&lt;p&gt;风会替她记住的。&lt;/p&gt;</description>
			</item>
			<item>
				<title>[A=B]攻略-第三章</title>
				<link>https://noirzh.com/a-one-instruction-esolang-chapter-2-2/</link>
				<pubDate>Tue, 24 Oct 2023 23:02:00 +0800</pubDate>
				<guid>https://noirzh.com/a-one-instruction-esolang-chapter-2-2/</guid>
				<description>&lt;h2&gt;前言&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;这个关键字相当于在找到特定的子字符串之后,删去该子字符串,并且将我们指定的新字符串插入到原字符串的开头与结尾&lt;/p&gt;&#xD;&#xA;&lt;p&gt;类似于正则表达式的^与$的应用&lt;/p&gt;&#xD;&#xA;&lt;p&gt;很像是我们在第二章的操作:将字母压之后换成其他字母往后排以使得压缩持续进行&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;3-1 去除&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;相当简单的教程&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;(start)a=&#xD;&#xA;(end)a=&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;3-2 旋转&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;这里只针对前面不是a进行操作,可以保证&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;(start)b=(end)b&#xD;&#xA;(start)c=(end)c&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;3-3 A到B 2&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;开始上难度了,但是其实不难,我们只需要先把所有特定位置的a变成特殊的,然后再处理另一边的特殊的即可&lt;/p&gt;&#xD;&#xA;&lt;p&gt;就像是我们之前做过的一样,此时的代码如下&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;(start)a=x&#xD;&#xA;xa=ax&#xD;&#xA;(end)a=z&#xD;&#xA;az=za&#xD;&#xA;x=b&#xD;&#xA;z=b&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h3&gt;优化&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;我们很容易注意到我们的xa=ax或者之类的操作只是把所有符合要求的串找出来,保证不阻塞生成&lt;/p&gt;&#xD;&#xA;&lt;p&gt;于是我们注意到移到另一边的位置显然更好(指行数更小),更新之后如下&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;(start)a=(end)x&#xD;&#xA;(end)x=(start)b&#xD;&#xA;(end)a=(start)x&#xD;&#xA;(start)x=(end)b&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;3-5 首尾&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;通过上一题我们就知道弄到尾部直接判断即可&lt;/p&gt;&#xD;&#xA;&lt;p&gt;我们唯一要注意的就是判断在前,不然容易出死循环&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ax=(return)true #有任意一个就是真的,能迅速检查到&#xD;&#xA;by=(return)true&#xD;&#xA;cz=(return)true&#xD;&#xA;&lt;p&gt;#以下的操作会1.在有相同的时候把除了最后一个字母之外都换成其他字母插入到后面 2.没有相同的时候所有都插入到后面&#xA;(start)a=(end)x&#xA;(start)b=(end)y&#xA;(start)c=(end)z&#xA;=(return)false&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2&gt;3-6 最多 2&lt;/h2&gt;&#xD;&#xA;&lt;h2&gt;思路&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;与之前的类似,但是我们需要保留所有作比较的字母来保证恢复,然后这里其实就可以&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ca=ac&#xD;&#xA;cb=bc&#xD;&#xA;ba=ab&#xD;&#xA;ab=(end)x&#xD;&#xA;cx=(end)y #y代表abc,可随时换成最多的 #剩下ac和bc&#xD;&#xA;#之后我们不用关心y具体是什么,只要二者消耗,剩下的那个做全员回复就行&#xD;&#xA;&lt;p&gt;ac=(end)y&#xA;bc=(end)y&#xA;#做一个穷举&#xA;ax=aa&#xA;cy=cc&#xA;by=bb&#xA;ay=aa&#xA;bx=bb&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h3&gt;优化&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;发现ax,ay的行为是相同的,bx,by也是,优化以下&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ca=ac&#xD;&#xA;cb=bc&#xD;&#xA;ba=ab&#xD;&#xA;ab=(end)x&#xD;&#xA;cx=(end)y #y代表abc,可随时换成最多的&#xD;&#xA;#acy bcy ay by cy &#xD;&#xA;&lt;p&gt;ac=(end)y&#xA;bc=(end)y&#xA;x=y&#xA;cy=cc&#xA;by=bb&#xA;ay=a&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;&#xA;&lt;h2&gt;3-7回文串&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;判断是不是消除之后全空即可,如3-5的加强版,我们进行全局替换,然后穷举非空情况,但是注意我们不用考虑剩下来的单个字母的情况,因为那种情况也属于回文串&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;cz=&#xD;&#xA;by=&#xD;&#xA;ax=&#xD;&#xA;(start)a=(end)x&#xD;&#xA;(start)b=(end)y&#xD;&#xA;(start)c=(end)z&#xD;&#xA;xy=(return)false&#xD;&#xA;xz=(return)false&#xD;&#xA;yx=(return)false&#xD;&#xA;yz=(return)false&#xD;&#xA;zx=(return)false&#xD;&#xA;zy=(return)false&#xD;&#xA;=(return)true&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h3&gt;挑战优化&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;注意到我们六行代码目的都只是为了判断是否有两个字母及以上存在&lt;/p&gt;</description>
			</item>
			<item>
				<title>[A=B]攻略-第二章</title>
				<link>https://noirzh.com/a-one-instruction-esolang-chapter-2/</link>
				<pubDate>Tue, 03 Oct 2023 21:07:34 +0800</pubDate>
				<guid>https://noirzh.com/a-one-instruction-esolang-chapter-2/</guid>
				<description>&lt;h2&gt;前言&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;我们要好好理解一下a=(return)b干了啥:&lt;/p&gt;&#xD;&#xA;&lt;ol&gt;&#xD;&#xA;&lt;li&gt;找到匹配的字符串a&lt;/li&gt;&#xD;&#xA;&lt;li&gt;将整个我们的字符串变成b&lt;/li&gt;&#xD;&#xA;&lt;li&gt;中断循环,看结果&lt;/li&gt;&#xD;&#xA;&lt;/ol&gt;&#xD;&#xA;&lt;p&gt;换成函数表达就是&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;if a in s:&#xD;&#xA;    s=b&#xD;&#xA;    return s&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;p&gt;之后判题的只能看到你返回的字符串b&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;2.1 你好世界&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;这里给出来了一个提示,在我们用空等的时候&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;=(return)helloworld&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;2.2 AAA&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;我们需要看a的数量,也就是说我们不用管b,c,将二者全消除之后剩下的就是a,再看其是否大于等于3个即可&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;b=&#xD;&#xA;c=&#xD;&#xA;aaa=(return)true&#xD;&#xA;=(return)false &lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;2.3 恰好三个&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;不用管到底是哪个字符,我们只需要验证是不是三个字符即可,所以先把所有字符变成一样的,例如c&lt;/p&gt;&#xD;&#xA;&lt;p&gt;接下来我们要判断的不是&lt;code&gt;ccc=(return)true&lt;/code&gt;,因为字符串&lt;code&gt;cccc&lt;/code&gt;同样包含&lt;code&gt;ccc&lt;/code&gt;,&lt;/p&gt;&#xD;&#xA;&lt;ul&gt;&#xD;&#xA;&lt;li&gt;我们首先就排除掉大于3个字符的,其一定包含四个及以上的字符串&lt;/li&gt;&#xD;&#xA;&lt;li&gt;这时候对只有三个字符的返回true&lt;/li&gt;&#xD;&#xA;&lt;li&gt;剩下的也是false&lt;/li&gt;&#xD;&#xA;&lt;/ul&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;a=c&#xD;&#xA;b=c&#xD;&#xA;cccc=(return)false &#xD;&#xA;ccc=(return)true  &#xD;&#xA;=(return)false&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;2.4 余数&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;这个是return使用的一个示例,所以我们考虑的仍然是只关心字符串长度,不关心内容&lt;/p&gt;&#xD;&#xA;&lt;ol&gt;&#xD;&#xA;&lt;li&gt;将所有都替换成同样的字符&lt;/li&gt;&#xD;&#xA;&lt;li&gt;发现求的事余3,我们只需要每次都将三个字符的串放空,剩下的字符串长度就是总长度余3的结果&lt;/li&gt;&#xD;&#xA;&lt;li&gt;将长度换成数字&lt;/li&gt;&#xD;&#xA;&lt;/ol&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;这个思路在后续也有用&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;a=c&#xD;&#xA;b=c &#xD;&#xA;ccc=           &#xD;&#xA;cc=(return)2&#xD;&#xA;c=(return)1&#xD;&#xA;=(return)0&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;2.5 奇数&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;h4&gt;划分问题&lt;/h4&gt;&#xD;&#xA;&lt;p&gt;终于开始上难度了,但是这个 思想其实不难理解,我们先做一个简单的想法,我如何判断一长串a是否由奇数组成?&lt;/p&gt;&#xD;&#xA;&lt;ol&gt;&#xD;&#xA;&lt;li&gt;考虑到字符串长度为1&amp;lt;=n&amp;lt;=7,很容易知道0,1,3,5,7为可能的长度&lt;/li&gt;&#xD;&#xA;&lt;li&gt;暴力枚举虽好,但是长度有点太大了,我们可以用另一个方法:奇数减去2之后仍然为奇数&lt;/li&gt;&#xD;&#xA;&lt;li&gt;所以我们很容易想到&lt;code&gt;aaa=a&lt;/code&gt;来清理串,为什么不能是&lt;code&gt;aa=&lt;/code&gt;?&lt;/li&gt;&#xD;&#xA;&lt;li&gt;因为这样没有办法确认是刚开始就没有a,还是被偶数a消除掉的&lt;/li&gt;&#xD;&#xA;&lt;li&gt;此时长度0,1,2,只有2表示原串是偶数&lt;/li&gt;&#xD;&#xA;&lt;/ol&gt;&#xD;&#xA;&lt;h4&gt;做法&lt;/h4&gt;&#xD;&#xA;&lt;p&gt;然后我们知道要去做什么了:把三个字符串相同的集中在一起,相当于按顺序再为这三个字符轮流做上述检查操作&lt;/p&gt;&#xD;&#xA;&lt;p&gt;所以需要排序,让相同字符待在一起&lt;/p&gt;&#xD;&#xA;&lt;p&gt;接下来问题就好解决了&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ba=ab&#xD;&#xA;cb=bc&#xD;&#xA;ca=ac&#xD;&#xA;aaa=a&#xD;&#xA;bbb=b&#xD;&#xA;ccc=c&#xD;&#xA;aa=(return)false&#xD;&#xA;bb=(return)false&#xD;&#xA;cc=(return)false&#xD;&#xA;=(return)true&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h3&gt;进阶&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;你肯定要回来看的,如果你看不懂2.6的话&lt;/p&gt;&#xD;&#xA;&lt;p&gt;发现了什么?我们将同样的情况循环了3遍,也就是说,在单独讨论的时候a,b,c其实是等价的,有没有什么办法将它们的等价用代码解释出来?&lt;/p&gt;&#xD;&#xA;&lt;p&gt;一个很有趣的想法是将b,c转换成等价a,最后判断三段a是否都满足奇数&lt;/p&gt;&#xD;&#xA;&lt;p&gt;一点点魔法:设置一个障碍,让所有相邻相同的字母没有障碍,而让不同的字母之间有障碍&lt;/p&gt;&#xD;&#xA;&lt;p&gt;考虑如下代码的运作&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ba=ab&#xD;&#xA;cb=bc&#xD;&#xA;ca=ac&#xD;&#xA;b=xxax&#xD;&#xA;c=xaxx&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;p&gt;这种情况下会发生什么:相邻的b变成了中间隔着3个x的a,不同字母之间隔着2个x&lt;/p&gt;&#xD;&#xA;&lt;p&gt;更加显式地能看到假设 bacacc:&lt;/p&gt;</description>
			</item>
			<item>
				<title>[A=B]攻略-第一章</title>
				<link>https://noirzh.com/a-one-instruction-esolang-chapter-1/</link>
				<pubDate>Sun, 24 Sep 2023 19:34:01 +0800</pubDate>
				<guid>https://noirzh.com/a-one-instruction-esolang-chapter-1/</guid>
				<description>&lt;h2&gt;前言&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;A=B是一个很好的游戏,建议各位去玩,&lt;a href=&#34;https://store.steampowered.com/app/1720850/AB/&#34;&gt;商店链接&lt;/a&gt;&lt;/p&gt;&#xD;&#xA;&lt;p&gt;题目从简单到困难,有的时候梯度很大,争取慢慢把这系列做出来,主要是带题解的&lt;/p&gt;&#xD;&#xA;&lt;p&gt;不是很喜欢魔数写法,所以大概会更新地很慢&lt;/p&gt;&#xD;&#xA;&lt;p&gt;最后,这个游戏真的很有意思&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;1.1 A到B&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;没什么好说的&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;a=b&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;1.2 大写&lt;/h2&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;a=A&#xD;&#xA;b=B&#xD;&#xA;c=C&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;1.3 去重&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;显然我们最后要保留的状态是没有连续字母&lt;/p&gt;&#xD;&#xA;&lt;p&gt;只需要将重复的几个压成一个就行,不过要注意A=B这个语言的特殊性&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;aa=a&#xD;&#xA;bb=b&#xD;&#xA;cc=c&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;1.4 去重 2&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;同理,这个是把连续的a压没,&lt;/p&gt;&#xD;&#xA;&lt;p&gt;这里之所以会有aaa,而不是直接&lt;code&gt;aa=&lt;/code&gt;是因为假如只压缩的可能会剩下来:例如&lt;code&gt;aaa&lt;/code&gt;会被替换成&lt;code&gt;a&lt;/code&gt;&lt;/p&gt;&#xD;&#xA;&lt;p&gt;,我们这么做的本质是将多的字母先压成两个,再把这两个消除掉&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;aaa=aa&#xD;&#xA;aa=&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;h2&gt;1.5 排序&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;研究语言的必经之路,排序,注意到我们现在在做的是替换字符串&lt;/p&gt;&#xD;&#xA;&lt;p&gt;我们的目的是希望各个字母都在其应该在的位置,但我们不知道数组下标,怎么样能达成这两个条件呢?&lt;/p&gt;&#xD;&#xA;&lt;p&gt;我们需要一个只看相邻的排序算法,也就是冒泡算法,实现起来不难,如下&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;看到了吗,本质就是大的向后挪动,这个在单步运行时候看的更清楚&lt;/p&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ba=ab&#xD;&#xA;cb=bc&#xD;&#xA;ca=ac&lt;/code&gt;&lt;/pre&gt;&#xD;&#xA;&lt;p&gt;这个排序在之后会常用到的,当我们只关心字母数量之类的而不关心其位置的时候&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;1.6 比较&lt;/h2&gt;&#xD;&#xA;&lt;h3&gt;思路&lt;/h3&gt;&#xD;&#xA;&lt;p&gt;比较a和b的多少,还记得去重怎么做的吗?把两个相同的数摁在一起消除&lt;/p&gt;&#xD;&#xA;&lt;p&gt;这个题也一样,我们把两个不同的字母摁在一起消除,剩下的就是多的字母&lt;/p&gt;&#xD;&#xA;&lt;p&gt;值得一提的是压字母存在两个情况&lt;/p&gt;&#xD;&#xA;&lt;h3&gt;代码&lt;/h3&gt;&#xD;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code class=&#34;language-python&#34;&gt;ab=&#xD;&#xA;ba=&#xD;&#xA;aa=a&#xD;&#xA;bb=b&lt;/code&gt;&lt;/pre&gt;</description>
			</item>
			<item>
				<title>[思考]关于知识的诅咒</title>
				<link>https://noirzh.com/think-curse-of-knowledge/</link>
				<pubDate>Fri, 30 Jun 2023 17:07:38 +0800</pubDate>
				<guid>https://noirzh.com/think-curse-of-knowledge/</guid>
				<description>&lt;h2&gt;前言&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;知识的诅咒,简单来说就是当一个人拥有了某个知识之后,就会不知道自己是如何掌握这个知识的,严重一些的就会出现无法理解没有该知识的人的相关想法。&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;场景&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;实际上这个事情的场景很多，我们以熟悉的编程为例：BFS，当我们提到某个编程使用BFS方法的时候，我们会忽略其如何实现，因为当你知道的时候，这个编程问题已经结束了，重点无非是一些实现细节，但是如果你希望将这个方法介绍给某个没有学习过BFS的人呢，你首先一定要介绍BFS，不然一切都是徒劳，当然可能有天赋异禀的人能够通过这些不带注释的代码迅速理解方法，不过这种人还是少数，知道运行逻辑和不知道运行逻辑的代码理解起来的差异可能也算一种。&lt;/p&gt;&#xD;&#xA;&lt;p&gt;但是具体来说编程其实属于知识的诅咒比较少的，多数时候可能是了解太多算法然后遇到特定问题不知道如何取舍算一种。这个并不好理解，但是在这就解释到这里。&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;思考&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;在讨论的时候我们会经常遇到类似的情况，当涉及到某些概念的时候，我们最好确定交谈的双方都对这个概念有着较为一致的理解，不然容易出现问题。比如说一些对于解构的meme图的解构的meme，对于一个不理解的人呢，你要先介绍原meme，比如说是电车难题，在介绍解构，比如说是马桶搋子，再介绍对这个解构的解构，比如说拿着马桶搋子的人绑在铁轨上，这是一个复杂的过程，而这仅仅只是一张图片。&lt;/p&gt;&#xD;&#xA;&lt;p&gt;所以在有些时候，当你只问某个东西是什么的时候，这个问题便已经无法回答了。&lt;/p&gt;&#xD;&#xA;&lt;p&gt;但是当这个讨论变成教授的时候，一切都变了。&lt;/p&gt;&#xD;&#xA;&lt;p&gt;知识的诅咒出现在教学里，这对很多人来说是深有体会的，你看写书的人迅速几笔带过，但是你自己就是无法理解。这是知识构筑的塔，当你看见某处漏了个洞的时候，你其实不知道这个洞有多深。可能从梯度下降算法开始解释最后细致到三角函数的性质上。当然，这就不是我希望讨论的了。当教的一方发现无法教会的时候，我们总有漫长的路来去找这个诅咒这次落在了哪。&lt;/p&gt;&#xD;&#xA;&lt;h2&gt;拓展&lt;/h2&gt;&#xD;&#xA;&lt;p&gt;当然，知识的诅咒也可以是被反向利用的，尽管大部分时候并不是那么有趣。&lt;/p&gt;&#xD;&#xA;&lt;p&gt;我也一直在致力于消除自己的一些知识的诅咒，在尝试用一些更加寻常的东西来描述这个世界，和我想解释的问题。所以我摸索出来的就是一些方法：尽可能为每一个我在此次交流中提出的新概念做足够的解释，尽可能在声明之后调用，尽可能将自己无知化…当然，这都是后话了&lt;/p&gt;&#xD;&#xA;&lt;p&gt;以上就是全部内容&lt;/p&gt;</description>
			</item>
			<item>
				<title>小说-焚鱼成灰</title>
				<link>https://noirzh.com/posts/%E5%B0%8F%E8%AF%B4-%E7%84%9A%E9%B1%BC%E6%88%90%E7%81%B0/</link>
				<pubDate>Mon, 02 Jan 2023 17:00:22 +0800</pubDate>
				<guid>https://noirzh.com/posts/%E5%B0%8F%E8%AF%B4-%E7%84%9A%E9%B1%BC%E6%88%90%E7%81%B0/</guid>
				<description>&lt;p&gt;暮色四合，寒鸦声渐，一阵冷风吹过，将火光中冒出的热气吹远，又慢慢沉降，我和她围绕着一团明亮的火焰相伴而坐。“这样就可以了”，她将手中的纸张送进那团光亮之中，那里的火焰迅速升腾而起，不消几秒又在一声轻微的爆鸣声中沉降，我看着火中翻飞着的纸屑，“一切就结束了吧”，纸张有序地一点点送进火中，“这只是某个阶段的结束…它们只是到了应该离开的时候了”，“可是这些只有你自己看过”，火光映照着她面无表情的脸庞，“所以就足够了，这些写出来就是给自己看的”，火中升腾而起的不只有光与热，也有灰黑色的碎屑。&lt;/p&gt;&#xA;&lt;p&gt;“真可惜，就像是卡夫卡一样”，我半开玩笑地说，她看着那团似乎永远也不会熄灭的希望，“很多人都在我们看不到的地方痛苦地做着一些所谓被社会边缘化的东西，我们需要深刻的批判和思考，但是思考的刀不能落在我们的头上”，火继续燃烧，风一刻不停，此时只有沉默，就像是之前的数次一样，写满了字的纸张在火中卷曲湮灭，尚能认清的只言片语凑不出来整齐的脉络。“就像是碌碌无为的天才”，“你说卡夫卡？”，“这盆火。”，劈啪作响的声音将时间不断拉长，沉默被一声沉闷的声音打破，砸进火中的是一个厚重的本子，看起来被使用得十分充分，它将火焰压了下去，我刚想要做什么，“没事的，马上就会起来的。”，如她所说，在黯淡了几秒之后，那个本子弯曲焦黑，升腾起一阵亮眼的光，“可是那个”，“它们已经完成了一切，只会留下刺耳的呼啸。”，就这样，我和她看着那本陪伴了她三年的故事集化成灰白的碎屑，和一阵浓烟，呛鼻，但不至于落泪。手上的重量一点点减少，光亮明灭，将暮色照清又隐去，她模糊的脸庞并没有别的表情，火光在她的眼中跳跃，清晰明亮。“就这样，把它们全扔进去”，我们的手中什么都没有了，只有那一盆刺眼的猛烈燃烧的焰火，“眼睛疼吗”，我摇摇头，“那就再看一眼吧”。失去了维持的火光跃动，隐去了身形，只余下几枚零星的火星，如同萤火虫，在逐渐深沉的夜色之中飞走。终于是一切结束，我们将这一切收拢妥当，如从未发生过什么一样。走在如墨的夜色之中，她说过，这种景色只应沉默。在归途之上，她哼唱着那首不知名的曲调，我们也在其中隐去了身形。&lt;/p&gt;&#xA;&lt;p&gt;我沾染上了这个坏习惯。在很久之后，在现在，我再也没办法忽视它们带来的聒噪的声音。当那一切变的空白的时候，我想，我大概是懂得了一些。暮色四合，此时只应沉默。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
