状压DP
QAQwdd
这个作者很懒,什么都没留下…
展开
-
NOIP2016 愤怒的小鸟 状压DP
之前做完飞扬的小鸟的时候还以为这道题和它一样。。 题意:用最少的鸟把猪打完。 题解:看n的范围可知是状压DP。枚举每两只猪之间的抛物线,若抛物线符合题意就看这条抛物线还覆盖了哪些猪。而有些猪可能不会和任意一只猪在同一抛物线上,所以还要新增一条抛物线只覆盖一只猪。 状态转移方程:dp[i|para[j]]=min(dp[i|para[j]],dp[i]+1)dp[i|para[j]]=min(...原创 2018-08-19 19:31:05 · 316 阅读 · 0 评论 -
BZOJ1097 [POI2007] 旅游景点atr 最短路+状压DP
题目大意:1到n的最短路,其中要经过k个点,且有顺序要求。 题解:注意到k很小,所以记录每个点的状态。 预处理出前k + 1个点的最短路,然后跑DP就行了。 注意DP的时候要剪枝,不然会T。 话说这题用SPFA比Dijkstra好像快一点 #include<cstdio> #include<queue> #include<cstring&am原创 2018-08-20 19:05:35 · 383 阅读 · 0 评论 -
NOIP2017 宝藏 状压DP
借鉴了一下这位dalao的题解 NOIP2017的D2T2,状压DP。 看到n的范围很容易想到是状压DP,但是怎么转移就很有趣了 设dp[i][S]dp[i][S]dp[i][S]表示最大深度为iii时,已开通的点状态为SSS时的最小花费。 每次转移时,枚举不在集合中且可以转移的点,枚举子集进行转移。 用dp[i][S]dp[i][S]dp[i][S]与S′S′S'中所有点的更新代价更新...原创 2018-09-14 18:58:16 · 284 阅读 · 0 评论