首页 > TAG信息列表 > 赋为
状压dp技巧之轮廓线 hdu1400/poj2411\acwing291 蒙德里安的梦想
我蒙德里安有一个梦想,就是成为方块填充之王! POJ地址//HDU地址//acwing地址 (!注意,学习此方法需要一定状压基础,请至少做两道状压\(DP\)再学习) 一开始我脑中蹦出了状压整张图的想法,但显然不行,这时想一下,其实我们在乎的方格并不多,其实只需要一行 但是方块又有两种摆放方法,不能只存有一个5*5的二维数组,要求找出每行上最大的元素,并将其值赋为0。
#include <stdio.h> int main() { int a[5][5],b[5],i,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) scanf("%d",&a[i][j]); } for(i=0;i<5;i++) { b[i]=a[i][0]; for(j=1;j<5;j++)week12实验B 消消乐大师--Q老师
我们可以把行和列分开来看,先看行,用temp记录当前的数字是什么,遍历一行,遇到和temp相同的数字,cnt++,如果此时已经是这一行的末尾,那么判断cnt是否>=3,如果是,那么把当下位置以及往前cnt个位置放入vector中;如果遇到的数字与temp不同,那么判断cnt是否>=3,操作与之前类似,然后temp赋为新指针运算的学习
1、视频笔记 2、编写的代码列表 3、存在的问题 *p++和*p+1为什么不相同呢?视频中说先*p,然后在这个基础上++。可是视频里也说了++优先级高于*,那么不是应该先算++,再算*吗? 解答:++只是p的后缀,在运算之后p也会+1,但是指针仍然会先选择p NULL与0的区别在哪里? 解答:NULL