传送门

感觉这题不是很难,但是很恶心。

说一下几点。

1.预处理出来每两个点所构成的抛物线能消除的猪的集合。

2.如果两个点横坐标相同,则不能构成抛物线

3.a >= 0 continue

4.卡精度

5.卡常数(本蒟蒻巨菜,2nn2做法)

#include <cstdio>
#include <cstring>
#define N 19
#define abs(x) ((x) < 0 ? -(x) : (x))
#define min(x, y) ((x) < (y) ? (x) : (y))int T, n, m, S;
int f[1 << N], s[N][N];
double X[N], Y[N], a, b;inline bool pd(double x, double y)
{return abs(x - y) < (1e-6);
}int main()
{int i, j, k, l;scanf("%d", &T);while(T--){scanf("%d %d", &n, &m);memset(f, 127 / 3, sizeof(f));for(i = 1; i <= n; i++) scanf("%lf %lf", &X[i], &Y[i]);memset(s, 0, sizeof(s));for(i = 1; i <= n; i++)for(j = i + 1; j <= n; j++){if(pd(X[i], X[j])) continue;a = (Y[j] / X[j] - Y[i] / X[i]) / (X[j] - X[i]);b = Y[i] / X[i] - a * X[i];if(a >= 0) continue; s[i][j] |= (1 << i - 1) | (1 << j - 1);for(k = 1; k <= n; k++)if(k != i && k != j && pd(Y[k], a * X[k] * X[k] + b * X[k]))s[i][j] |= 1 << k - 1;}f[0] = 0;for(i = 0; i < (1 << n); i++)for(j = 1; j <= n; j++)if(!(i & (1 << j - 1))){f[i | (1 << j - 1)] = min(f[i | (1 << j - 1)], f[i] + 1);for(k = j + 1; k <= n; k++)if((i & (1 << k - 1)) && s[j][k]){S = i ^ (i & s[j][k]);f[i | (1 << j - 1)] = min(f[i | (1 << j - 1)], f[S] + 1);}}printf("%d\n", f[(1 << n) - 1]);}return 0;
}

  

转载于:https://www.cnblogs.com/zhenghaotian/p/7354387.html

[luoguP2831] 愤怒的小鸟(状压DP)相关推荐

  1. P2831 [NOIP2016 提高组] 愤怒的小鸟 状压dp

    某谷链接 题意:选最少的抛物线来覆盖所有点. 注意到a<0,所以我们可以枚举两个点来构成一条抛物线,让后记这两个点构成的抛物线为 cov[i][j]cov[i][j]cov[i][j],让后他存 ...

  2. [NOIP2016]愤怒的小鸟(状压DP)

    [NOIP2016]愤怒的小鸟(状压DP) 题目描述 输入输出格式 输入格式: 第一行包含一个正整数 T,表示游戏的关卡总数. 下面依次输入这 T个关卡的信息.每个关卡第一行包含两个非负整数 n,m, ...

  3. [ NOIP提高组 2016]愤怒的小鸟(暴搜 + 状压DP)// [SNOI2017]一个简单的询问(莫队)

    一次性写两道题 T1:一个简单的询问 题目 题解 代码实现 T2:愤怒的小鸟 题目 暴搜题解 暴搜代码实现 状压DP题解 状压DP代码实现 T1:一个简单的询问 题目 给你一个长度为 N 的序列 ai ...

  4. 刷题周记(九)——#状压DP:最短Hamilton路径、小国王(互不侵犯)、玉米田(Corn Fields G)、愤怒的小鸟、吃奶酪、炮兵阵地、宝藏 #区间DP:清空字符串#DP:关灯问题II

    文章目录 --2020年12月20日(周日)------------------ 状压DP 一.最短Hamilton路径(模板题) 二.玉米田(P1879 [USACO06NOV]Corn Field ...

  5. 状压dp个人刷题记录

    目录 一.普通型 蒙德里安的梦想 题意: 思路: code: #2153. 「SCOI2005」互不侵犯 题意: 思路: code: P1879 [USACO06NOV]Corn Fields G 题 ...

  6. POJ 1038 Bugs Integrated Inc (复杂的状压DP)

    \(POJ~1038~~*Bugs~Integrated~Inc:\) (复杂的状压DP) \(solution:\) 很纠结的一道题目,写了大半天,就想练练手,结果这手生的.其实根据之前那道炮兵阵地 ...

  7. codeforces 8C. Looking for Order 状压dp

    题目链接 给n个物品的坐标, 和一个包裹的位置, 包裹不能移动. 每次最多可以拿两个物品, 然后将它们放到包里, 求将所有物品放到包里所需走的最小路程. 直接状压dp就好了. #include < ...

  8. UVA10296 Jogging Trails(中国邮递员问题)(欧拉回路、一般图最大权匹配 / 状压DP)

    整理的算法模板合集: ACM模板 目录 思路 UVA10296 Jogging Trails 题目翻译: 给你n个点,m条无向边,每条边有一定的距离数值,构造成一个连通图.问从任意一点出发,遍历所有的 ...

  9. POJ 2411 Mondriaan‘s Dream(最清楚好懂的状压DP讲解)(连通性状态压缩DP)

    poj 2411 Mondriaan's Dream(最清晰的状压DP解析) 闫氏DP大法好 我们这里是一列一列地来,因为是一个棋盘性的状态压缩DP,从哪个方向都一样 摆放的小方格总方案数 等价于 横 ...

  10. 【每日DP】day2、P1879 [USACO06NOV]Corn Fields G玉米地(状压DP模板题)难度⭐⭐⭐★

    昨天的每日DP我还在写01背包,今天就到状压DP了,真刺激. P1879 [USACO06NOV]Corn Fields G 题目链接 输入 2 3 1 1 1 0 1 0 输出 9 一道简单的状压D ...

最新文章

  1. Linux-Copy On Write写时复制机制初探
  2. python语言程序设计实践教程上海交通大学_《C语言实验与等级考试指导》隋雪莉 闵 芳 沈国荣著【摘要 书评 在线阅读】-苏宁易购图书...
  3. 高等数学:e的-t平方次方求积分
  4. python excelwriter保存路径_Python和Excel 终于可以互通了!!
  5. ajax存储单个数据_科学家现在可以使用单个原子存储数据
  6. iPhone 14新配色曝光:比土豪还土豪 颜色更深
  7. iOS ReactiveCocoa 最全常用API整理
  8. restsharp text html,c# – 使用RestSharp发送HTTP POST Multipart / form-data字段
  9. 初二计算机英语作文,初二英语作文带翻译
  10. 音频格式怎么转换成mp3格式?
  11. 由对称引起的空间结构耦合效应
  12. 教你用OpenCV 和 Python给证件照换底色(蓝底 <->红底->白底)
  13. 流量压力折射移动互联网困局
  14. 深入理解深度学习——语境词嵌入(Contextual Word Embedding)
  15. mysql如何数据恢复
  16. 从傅里叶变换到加窗傅里叶变换
  17. 【idea】如何设置默认的JDK
  18. 谁是卧底? 科普影子寄存器
  19. 研发4面真题解析(Java岗):和阿里大佬的技术面谈,隔壁都馋哭了
  20. C++11 操作系统实验——银行家算法

热门文章

  1. es创建索引设置字段不分词_java整合es指定字段不分词搜索
  2. wps java转换成doc_WPS能转PDF吗?WPS转换不能错过的一款软件!
  3. 电脑怎么分盘win10_电脑时间不对怎么办?Win10电脑时间总是不对的解决方法_电脑故障...
  4. 使用darknet-dnn-GPU方式识别物体(一)
  5. wampserver橙色如何变成绿色_绿色配什么颜色好看 家居绿色配色小技巧-装修攻略...
  6. 【Flink】Flink 使用代码如何主动触发 SavePoint
  7. 【java】httpclient 链接偶尔会 Read timed out
  8. 【Flink】Flink Flink 1.14 新特性预览
  9. 【Flink】FLink SQL TableException: Table sink doesn‘t support consuming update changes which is
  10. 【SpringMVC】SpringMVC : 注解 @EnableWebMvc