随笔分类 - 搜索_无脑搜索
摘要:思路:无脑搜索 提交:1次 题解: 大力搜索,枚举每个状态$(x,y,l)$($x$指分配到的长(可能比$y$要短),$y$指分配到的宽(可能比$x$要长),$l$指剩余切的次数)分给左边几个蛋糕,右边几个蛋糕,从而确定下刀的位置。 cpp include include define ull un
阅读全文
摘要:先写了个垃圾版本。。。加强版先咕着 思路:最小生成树的性质?+无脑搜索or矩阵树定理 提交:4次(反思反思) 题解: 简单版: 首先显然最小生成树相同权值的边的数量是不变的(否则就不是最小生成树); 然后就是相同权值的边组成的连通块的状态是不变的(就是不管你从权值为$w$的边中选出哪几条,只要合法,
阅读全文
摘要:心路历程:震惊,我竟然得了$90$分!!。。。康康数据。。。奥。。(忽然有了邪恶的卡数据的想法) 于是把$for(int \space i=0;i<n;++i)$改成了$for(int \space i=n-1;i>0;--i) $ 然后,我$90$~ 然后,我开了$O2$,$A$了$OvO$。。。
阅读全文
摘要:好吧。。。一直咕。。现在才过。。。被卡常卡到爆。。。 写的垃圾版本,$n^2$无脑删边。。可以发现走出来的是棵树。。。更优秀的及数据加强版先咕着。。。一定写。qwq 2019.06.04
阅读全文
摘要:多测不清空,爆零两行泪。。。。我死了QWQ 每个节点3个状态:横坐标,纵坐标,和方向 说一下方向:0:立着,1:竖着躺着,上半部分在(x,y),2:横着躺着,左半部分在(x,y) 然后就有了常量数组: 第一维是状态中的方向,第二维是要扩展的方向(0,1,2,3) 然后就搜他。。。。记得queue要清
阅读全文
摘要:emm。。。挺秀的。。。挺神的? 每行,每列,每宫用一个二进制数表示选或没选的状态,刚开始设没选为1,然后更改状态的时候异或一下就好了; 这样可以通过lowbit取出每一个没有选过的数;(妙啊? 关于剪枝:每次选状态数最小的位置(就是能选择的数少的位置)去向下搜索(需要预处理出每个数代表的状态能选择
阅读全文
摘要:好啊。。。太棒了。。。 dfs(拼到第几根木棍,这根木棍剩余长度,上一根木棍的位置) len是木棍的长度,cnt是木棍的个数 震撼人心的剪枝: 1.枚举长度从最大的木棍开始,直到sum/2,因为之后只能是一整个了。。 2.木棍从大往小试,减少状态数; 3.等长木棍搜索后,就跳过另一根等长的,因为状态
阅读全文

浙公网安备 33010602011771号