每日总结2021.4.24(补)

昨天打了天梯,忘了发总结。
天梯总结:对于团队整体还算可以,拿了省铜。对于个人,怎么说呢,有点可惜吧,前面有道字符串的题忘了读掉回车,调了好久耽误了些时间,结果导致后面的题来不及看,最后离个人的铜奖几分之差,说到底还是太菜了,继续努力!!

1.cf [Fillomino 2]题目大意:给出一个数字n 代表n*n的棋盘,给出n 个数,代表从 (1,1)~(n,n)棋盘上的数字,让你在棋盘主对角线下方的棋盘填数字,满足以下条件:对于 主对角的任意数字x,和他联通的(包括他自己共x个单元格)标记为x,最后输出棋盘,对角线上方和下方重复了,只需要看下方即可。

(思路:之前做过类似思路的题:找到特殊的,操作之后其他的某个又可以变成特殊的。首先想到1周围是不用填数的,因此所有在1上方的(y,y)可以在(y+1,y)先填一个,所有在1下方的(y,y)可以在 (y-1,y)先填一个,这样只是把1的包围了,其他的都减1,这样又会出现1,重复操作。)

总结:找到特殊的,看对特殊的操作之后,其他的是不是又有变成特殊的。

2.acwing 185. 玛雅游戏 类似于俄罗斯方块 当行或列颜色一样的方块大于等于3时可以消除(行和列可以共用)给定步数n问是否能恰好n步消除所有方块(每次操作只能左右移动方块),并输出操作方案,如果有多组方案,输出(x,y,d)(向右移动记为1,1优先于 -1)字典序最小的。

首先明确搜索顺序,很明显按行从小到大,列从小到达,按向右向左搜呗,但明显会超时,所以接下来要进行剪枝:首先想想移动的本质是什么? 对!!交换,既然交换,那自然想到有重复的操作,即在x位置时右移和x+1位置时左移,所以第一个剪枝就出来了。

剪枝1:当左边没有方块是,才进行左移操作

剪枝2 当某种颜色的方块只剩下1个或者2个时,肯定消除不完,直接回溯。

另外就是要回溯,所以操作之前备份一下。

重难点是移动以及移动后方格的更新,因为不一定消除一次,引发连锁反应,所以用while循环,纪录棋盘要不要发生变化,如果不发生变化了,退出循环。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值