随笔分类 -  搜索

摘要:【题目描述】: "魔板 Magic Squares" 【思路】: 是不是感觉和八数码有点像? 显而易见的宽搜,把魔板的状态表示为排列,则状态最多有$8! = 40320$种,空间是可以接受的,对于是第几个排列可以用康拓展开来实现(我想在做八数码的时候你们都深知这个套路),然后根据题目中的三种方式转移 阅读全文
posted @ 2018-10-04 23:09 lajioj 阅读(267) 评论(0) 推荐(0)
摘要:【题目描述】: "[NOI1999]生日蛋糕" 【思路】: 比较经典的搜索+剪枝题目。 要求蛋糕最小的表面积(不算下底面)。由俯视图可知,上面的表面积=下底面表面积,于是我们可以预处理出来,之后就只用求侧面积。然后进行逐层搜索。 用$sums_i$表示第$i$层最小的表面积,$sumv_i$表示第$ 阅读全文
posted @ 2018-10-04 23:01 lajioj 阅读(329) 评论(0) 推荐(0)
摘要:【题目描述】: "电路维修" 【思路】: 开先看起来挺迷的,觉得没法做,搜索也写不出来。。。 再仔细分析题目,发现对于任意一根电路,它只有两种状态: 连着右上和坐下 连着左下和右上 要求最小的操作数。 我们可以发现,每条电线可以花费1的代价从一种状态改变为另外一种状态,那么我们可以对于已经连着的两点 阅读全文
posted @ 2018-10-04 22:46 lajioj 阅读(246) 评论(0) 推荐(0)
摘要:【题面】: "逛公园" 思路: 此题还是很有挑战性,考场上绝大部分人都只打了暴力($\ include$)。 首先我觉得$k=0$时$30$分的暴力还是比较简单,和最短路计数一样,直接暴力就$ok$ : cpp include include include define inf 0x3f3f3f3 阅读全文
posted @ 2018-08-15 13:04 lajioj 阅读(586) 评论(2) 推荐(2)
摘要:【题面】: "解方程" 【思路】: 首先你会发现数据非常毒瘤,$a[i]'9'){if(c==' ')f= 1;c=getchar();} while(c ='0' && c include using namespace std; typedef long long ll; const int m 阅读全文
posted @ 2018-08-14 16:56 lajioj 阅读(360) 评论(0) 推荐(0)