1 #include <bits/stdc++.h> 2 #define _for(i,a,b) for(register int i = (a);i < b;i ++) 3 #define _rep(i,a,b) for(register int i = (a);i > b;i --) 4 #de... ...
分类:
其他好文 时间:
2019-10-05 14:52:36
阅读次数:
60
题解 P2327 [SCOI2005]扫雷 "题目链接" ~~普及组水题~~非常适合新手练搜索 看题解里各路神仙都用各种简单的方法,我来讲讲~~暴力~~搜索做法.... 对于我这样的萌新我觉得这样的做法更容易让你理解搜索 首先搜索要定义状态,我们定义dfs(x, p)是当第x位是p,就有了状态 然后 ...
分类:
其他好文 时间:
2019-10-04 16:50:54
阅读次数:
70
1 #include 2 using namespace std; 3 #define pb push_back 4 #define _for(i,a,b) for(int i = (a);i = 10) write(x / 10); 20 putchar(x % 10 + '0'); 21 } 2... ...
分类:
其他好文 时间:
2019-09-15 17:09:28
阅读次数:
99
简介 状态压缩DP是将一连串状态压缩成为一个P进制(P通常为2)数,并由此达到压缩的目的 例题 P1879 [USACO06NOV]玉米田Corn Fields 因为只和之前的一行有关系,就可以通过状压先找出这一行中合法的状态,再和上一行的进行转移 Code P1896 SCOI2005互不侵犯 这 ...
分类:
其他好文 时间:
2019-08-11 21:29:02
阅读次数:
335
传送门 直接 $dfs$ 会 $T$ 飞,$BFS$ 又会爆空间 考虑迭代加深搜索,枚举走的最大步数, $dfs$ 时如果步数大于枚举的步数就返回 然后再加个估价函数 $diff$,表示当前状态与最终状态差的格子数,如果就算每一步都能减少一个不同且最后一步能减少两个不同都无法在限定步数内到达 那么就 ...
分类:
其他好文 时间:
2019-08-04 19:47:19
阅读次数:
85
______________________________________________________________ 和上一题差不多,注意初始化与判断即可 ...
分类:
其他好文 时间:
2019-07-29 00:52:18
阅读次数:
97
P2331 [SCOI2005]最大子矩阵 题目描述 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。 这里有一个n*m的矩阵,请你选出其中k个子矩阵,使得这个k个子矩阵分值之和最大。注意:选出的k个子矩阵不能相互重叠。 输入格式 ...
分类:
其他好文 时间:
2019-07-26 21:12:32
阅读次数:
128
[Time Gate] https://www.luogu.org/problemnew/show/P2330 【解题思路】 与前几道题思路类似,就不过多赘述了 简单说明: 把交叉路口看做图中的点,道路为边,则可以从三个条件: 1.改造的那些道路能够把所有的交叉路口直接或间接的连通起来。 2.在满足 ...
分类:
其他好文 时间:
2019-07-15 01:10:43
阅读次数:
108
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1087 还不错的状态压缩题目,把国王的位置看成1,其余位置看成0,则n行每行的可能出现的状态为1<<n,如果同时考虑n行的状态就为1<<(n*n),必不可能。 所以先预处理出每行所有的合法状 ...
分类:
其他好文 时间:
2019-07-02 09:22:57
阅读次数:
78