首页 > TAG信息列表 > P2831
luogu P2831 [NOIP2016 提高组] 愤怒的小鸟
题面传送门 数据这么小显然状压dp 考虑状压\(dp_i\)表示打掉的集合为\(i\)时最少抛物线条数。 预处理\(f_{i,j}\)表示过\(i\)点和\(j\)点的抛物线经过的点的集合。 但是这样的转移是\(O(T2^nn^2)\)的。 考虑怎么优化。 很明显我们的\(dp\)转移是无序的。将其变成有序即先打最小的P2831 愤怒的小鸟
P2831 愤怒的小鸟 神仙状压dp 首先解一个非常休闲的二元一次方程组 接下来对于每两只鸟,我们计算出它们构成的二次函数(需判断合不合法) 接下来 记录函数上有几个点 然后开始愉快地dp 代码: #include<bits/stdc++.h> using namespace std; typedef long double ld; const int N=19;洛谷P2831 愤怒的小鸟
题目 状压DP。 直接枚举二进制数表示当前猪有没有被消灭的状态。 最终答案的几条抛物线必定至少撞到一个猪。而且两头猪确定一条抛物线,可以枚举两头猪,分别求出他们的抛物线所消灭猪的状态,然后可以用类似背包的方法转移DP。 有方程: \(dp[i|(\)当前抛物线的状态\()] = min(dp[i|(\)