美丽雯雯
美丽雯雯
全部文章
题解
归档
标签
去牛客网
登录
/
注册
美丽雯雯的博客
全部文章
/ 题解
(共6篇)
题解 | #[NOIP2011]Mayan 游戏#
这道题的搜索思路并不难,比较复杂的是move的处理。 在move函数中,我们要先使方块下落,然后判断是否可以消除,进行消除后再使方块下落,再消除... 因此我们用一个while循环,进行下落→标记→消除,如果当前不能消除,则move结束。 ">#include<cstring> #inc...
深度优先搜索
2023-08-09
0
330
题解 | #[CQOI2013]新数独#
本题的难点在于如何处理大于小于关系。 我选择用一个数组存储(x,y)点对应的所有限制关系。 #include<iostream> #include<cstring> #include<vector> using namespace std; const int N...
深度优先搜索
2023-08-08
0
340
题解 | #[SCOI2009]生日快乐#
dfs(x,y,n)表示当前切的矩形长x宽y,需要切成n块; 每次切的时候,我们可以选择在x/ni处竖切,也可以在y/ni处横切(i=1,2...n/2); 每次切后会产生两块矩形,我们可以通过这两块矩形的面积来确定接下来要将其分成多少块矩形(即新的n); #include<iostream&...
C++
深度优先搜索
2023-08-05
1
318
题解 | #毒瘤xor#
要求使得a【l】到a【r】的和异或上x的值最大的x,要求出这样的x,就要求出使得结果中的1最多的x。 任何数异或0为它本身,异或1取反,因此,当a【l】到a【r】的二进制的某一位中1的个数较多时,x的这一位取0,反之取1。 知道了这个规则,我们只要计算出二进制的每一位中1或0的个数,就可以知道x的这...
C++
2023-02-03
1
289
题解 | #矩阵消除游戏#
题目的难点在于,当牛妹消除某一行时,会影响每一列和的大小。我们不妨先选定要消除的行,再改变这些行影响的列,最后对列进行贪心,而不是同时关注行和列的变化。 我们枚举出消除行的每一种情况,并计算在这些情况下我们是否可以继续加上一些列、要加上哪些列(排序)。 #include<iostream&g...
C++
2023-02-02
0
325
题解 | #[NOIP2008]排座椅#
这道题的策略是在当前未选择的行或列中选择能隔开同学最多的选项。 我们先用数组记录下每一行/列能够隔开的同学数量,然后对数组从大到小进行排序。但要注意,在排序过 程中,我们会损失行/列的编号信息,因此,需要事先将行/列编号记录下来。 #include<iostream> #include&...
C++
2023-02-02
0
392