摘要: 蓝书 AcWing 194. 涂满它! 这次终于写对估计函数了,这次把除了a[0][0]的颜色的个数当做估计函数。我们可以枚举5种颜色,同时判断那些是与左上角的点联通的并且颜色相同的点,把他们认定为待更新的点,并将它们更新(类似bfs),在不断搜索的时候时刻更新当前的层数和估计函数的和是否大于限定深 阅读全文
posted @ 2022-03-20 19:58 menitrust 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 190. 字串变换 一开始用的是双向bfs,但只过了4个点,但是硬是要调,调了一下午还是没调出来。。后面换成普通bfs写发现也能过而且代码更少看来不能老是死磕,思路就是直接开队列按字符串的位置找能换的字串,如果最后换到和b一样说明成功了并且操作小于10说明成功了,否则输出-1。 阅读全文
posted @ 2022-03-19 18:48 menitrust 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 186. 巴士 一开始想的是在搜索的时候再枚举巴士的路线,但是发现搜索的时候处理太麻烦了,应该在读入的时候先预处理出一共可能有的路线,就是枚举每个起点和它的时间间隔,枚举起点只需要从0-30就可以了并不用像题解一样枚举到60,因为是个等差数列,如果你公差都大于30了枚举的下一项肯 阅读全文
posted @ 2022-03-18 12:04 menitrust 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 185. 玛雅游戏 思路:由于n<=5,可以暴力搜索,但是要模拟很多过程非常麻烦,当三个或以上的相同颜色的块连在一起的时候得把他们同时删去。同时还得判断是否能够构成方案,如果最后有任意一个颜色的块的数量为<=2说明肯定不能连成三个以上的了,这时就说明无解。首先读入的时候将所有有颜 阅读全文
posted @ 2022-03-17 15:15 menitrust 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 181. 回转游戏 思路:一开始先得把表给打好,就是每个数字对应的位置找到,到时候换位置的时候就很方便不用一个个打。我们的目的是把中间八个格子变成一样的,对于中间八个里的某一个数,变成一样的次数为8-该数的个数。把它当成估计函数,如果当前的操作次数加上估计函数已经超过了限定的次数 阅读全文
posted @ 2022-03-16 18:59 menitrust 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 125. 耍杂技的牛 思路:和国王游戏很像,贪心的时候需要考虑两个属性,牛的重量和力量。以牛的重量和力量的和从小到大排序可以使得最大的风险值最小,利用啥临项微扰啥的可以证明,让序列变得有序不会让结果变坏,但有逆序对不会让结果变好。然后从小到大更一下牛的最大的风险值。 #inclu 阅读全文
posted @ 2022-03-15 11:49 menitrust 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 122. 糖果传递 和七夕祭那题一毛一样,就是环形均分纸牌问题。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace s 阅读全文
posted @ 2022-03-14 14:00 menitrust 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 119. 袭击 思路:平面最近点对,多了个阵营的区别,但还是调了好久,有以下几点需要注意:1,题目数据范围太大如果分治的时候直接sort会超时,得用归并排序。2.因为是浮点数的判断所以得加eps。3.要特判一下当点的类型相同的时候为了不影响最小值的判断,让他们变成当前的最小值就可 阅读全文
posted @ 2022-03-13 20:01 menitrust 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 116. 飞行员兄弟 位运算,枚举每一位把手的状态,是关的就让他开着,记录一下每次的操作和每次的最小次数,和费解的开关那题解法差不多。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring 阅读全文
posted @ 2022-03-12 23:01 menitrust 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 蓝书 AcWing 112. 雷达设备 思路:对于确定每座岛屿在x轴上能被雷达监视的左右区间,然后初始化位置pos,每次判断一下,如果pos小于当前岛屿的左区间,那么需要新加一个雷达,并更新pos为该岛屿的又区间,如果pos大于的话说明可以管辖,我们让pos=min(r,pos)。目的是将i的位置尽 阅读全文
posted @ 2022-03-11 11:55 menitrust 阅读(20) 评论(0) 推荐(0) 编辑