自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 暴力枚举之利用进制转换进行枚举

可以看到,我们用A1-4这四种情况表示我们分别选取表格中1~5几个数字组成的情况,其中我们将每个数字选择的情况用1或者0代替,将这些1,0连在一起,如表中的11101,11001等,将它们看作二进制,发现每种情况都有一个十进制数字与之对应。利用这个方式,我们还可以解决一个类似的问题。可以看到,题目中规定了一个全集U,令全集的值为U-1,让s从0开始自增,模拟枚举所有子集[0.U),如果枚举情况中1的个数和题目给出的k相等,就进一步进行判断,如果第i个元素在s中,就把这个值加入到sum中。

2023-12-13 21:54:56 48

原创 暴力枚举———排列枚举

这是个非常典型的暴力枚举问题。在第一次遇到这个题目时,我简单地以为利用多个for循环就可以解决,然而实际上先不考虑时间复杂度不说,题目中连给出n是多少都是未知的,假如提前写好for循环的代码,也要提前做很多分支出来,十分复杂。同时,这个函数还可以用于三连击加强版(洛谷p1618)这个题目中(要提醒的是,这个题目在判断三个数比例是A:B:C时,不要让三个数相比等于ABC,可以利用交叉相乘的方式进行判断,我一开始就是用的相比的方法,没做出来,,ԾㅂԾ,,),使用这个函数帮助我们枚举将会非常方便。

2023-12-07 21:20:41 24

原创 模拟:扫雷游戏和大炮打蚊子

虽然没有加上“虚拟边框”,但是可以发现,教程在输入数组的时候,下标直接从1开始,这样就自带了一圈虚拟边框,因为我们最终也只是看有数据的这n*m区域,所以这个处理方便地解决了边界的问题。之后再利用循环分别对数据进行判断,判断它是否是“*”(雷),若是雷,直接输出,若不是,就引入cnt这个整型,判断其周围8个位置是否是雷,有一个数据是雷,cnt就加一,最后输出这个数周围的雷数。受这个题的启发,我想到了最近不会做的一个题目“大炮打蚊子”,在学习了这个扫雷游戏的程序后,发现这个问题也迎刃而解。

2023-11-22 20:11:42 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除