摘要: 这个题是个搜索,而且有是最少的步数,肯定就是广搜啦,不知道为什么的同学先去学习一下广搜吧。 养成好习惯,看见最少步数就去想想广搜(只是我自己觉得) 竟然这个题可以如此顺畅的想到广搜,感觉不难啊,但还有一个奇怪的地方, emm,这个有点冷门啊,没事,讲讲(百度一下)就知道了。 奉上百度答案:print 阅读全文
posted @ 2020-05-14 11:25 lichangjian 阅读(192) 评论(1) 推荐(1) 编辑
摘要: 集训的题目有点多,先写困难的绿题吧(简单的应该想想就会了) 嗯,这个题看起来像个搜索呢(就是个搜索) 我们仔细想想就知道这个题肯定不能用深搜,可以优化的地方太少了,TLE是必然的。 那我们该怎么办呢? 很简单,用选代加深啊,我真是个睿(弱)智的小孩。 一遍自认为很强大的选代加深后: 嗯,放弃了。 明 阅读全文
posted @ 2020-05-13 21:13 lichangjian 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 这个题本来不归我讲,但我A完之后觉得太坑了,还是讲一下吧。 首先这个题有个重要的地方:(字典顺序,学号全为小写字母,从小到大排列) 字典序和字典顺序是不一样的!!! 我以为是字典序……,wa了,字典顺序就是忽略长度的字典序。 这个题值得格外写出来的只有这个地方,哦,还有一个0分,0分不计算在内,这个 阅读全文
posted @ 2020-05-12 11:03 lichangjian 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 有 A=a1a2a3„am,B=b1b2b3„bn 两个字符串(均为小写字母)现在要通过以下操作将 A 或 A 的一个后缀修改为 B: 1. 删除 删除掉 A 中的某一个字符。 2. 添加 将某一个字符添加到 A 中任意位置。 3. 替换 将 A 中某一字符替换为另一个。 求出最小操作次数 第一行为 阅读全文
posted @ 2020-05-11 22:39 lichangjian 阅读(268) 评论(0) 推荐(1) 编辑
摘要: 题意简单明了(这就是个模板)。 就是让我们找2个节点的公共祖先而已,但我们要讲的做法不是生硬的爆搜,而且直接搜好像过不去…… 这次就讲我往后拖了n多天才开始学了倍增LCA。 嗯,这个题,如果2个节点的深度是不一样的,我们要把他们的深度变成一样的,变成一样的以后就开始倍增搜索。 上面的这句话为我们点明 阅读全文
posted @ 2020-05-10 16:35 lichangjian 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 这个题一开始被我想复杂了,但总体差不多。 脑子清醒后我直接看他占领了几条长,几条宽,比如一个长3宽3的地图。 被占领了一条宽,就可以看成一个长3宽2的地图。这个长3宽2的地图就是出去可以被攻击的点剩下的格子的数量。 所以就可以写代码了: #include<iostream> #include<cst 阅读全文
posted @ 2020-05-08 22:31 lichangjian 阅读(119) 评论(0) 推荐(1) 编辑
摘要: 这个题是个数学题啊。 总体思路不是很难,每个兔子有一个编号,只要不停的看下一个兔子有多少可选编号,再乘上之前的所有可能性就可以算出一共的编号方法。 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; 阅读全文
posted @ 2020-05-08 22:19 lichangjian 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 这个题的题目真的太恶心了。 重点是他的题目描述和他的目标没啥关系。 和最终目的有关系的只有这么一句话:”输出此负进制数及其基数,若此基数超过10,则参照16进制的方法处理。“ 我们通过看这句话可以发现,这就是个带负数进制的进制转换!!! 所以一点都不难,但负数有时候会出现一些奇怪的事情,比如让他的余 阅读全文
posted @ 2020-05-08 22:13 lichangjian 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 这个题简单来说就是把一个数转成32位的2进制数,不够的补0。然后把这个数的前半部分和后半部分互换,再计算结果。 思路简单明了,接下来是代码: #include<iostream> #include<cstdio> #include<map> #include<cmath> using namespa 阅读全文
posted @ 2020-05-08 21:59 lichangjian 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 这个题的代码真的是短的不得了呢。 有个神奇的东西叫异或,写起来是这个样子的^。 这个东西可以查看2个数的二进制某位是否相同,相同取0,不同取1。虽然我用的不熟,但我可以想出来,如果2个相同的数异或,答案一定是0。因为他们每一位都一样嘛。 而且异或是满足交换律的,顺序什么的不重要,于是我们只要把所有数 阅读全文
posted @ 2020-05-08 21:39 lichangjian 阅读(124) 评论(0) 推荐(0) 编辑