要点

  • 结论:如果坐标系一堆点两两对称于某一重心,则排序后第1个和第n个为一对,以此类推。
  • 枚举所有可能的重心点并check。因为隐藏的点不超过k个,所以点1~k+1都可能跟第n个匹配。对右侧同样适用,因此枚举的点是\(k^2\)的。内部只要两边开始扫描,如果匹配不是当前重心则说明他俩不是一对,则加一个虚点(cnt++),最后加的虚点数不超过k即true。
#include <cstdio>
#include <algorithm>
#include <set>
#define fir first
#define sec second
using namespace std; typedef pair<int, int> pii;
const int maxn = 2e5 + 5;
int n, k;
pii p[maxn];
set<pii> s; pii operator + (pii A, pii B) {
return {A.fir + B.fir, A.sec + B.sec};
} bool operator == (pii A, pii B) {
return A.fir == B.fir && A.sec == B.sec;
} bool operator < (pii A, pii B) {
if (A.fir != B.fir) return A.fir < B.fir;
return A.sec < B.sec;
} void check(int l, int r) {
int cnt = 0;
pii point = p[l] + p[r];
l = 1, r = n; while (l <= r) {
if (point == p[l] + p[r]) {
l++, r--;
} else if (point < p[l] + p[r]) {
cnt++, r--;
} else {
cnt++, l++;
}
} if (cnt <= k)
s.insert(point);
} int main() {
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; i++)
scanf("%d %d", &p[i].fir, &p[i].sec);
if (n <= k) return !printf("-1\n"); sort(p + 1, p + 1 + n); for (int i = 1; i <= k + 1; i++)
for (int j = n - k; j <= n; j++)
check(i, j); printf("%d\n", (int)s.size());
for (auto i : s)
printf("%.8lf %.8lf\n", (double)i.fir / 2.0, (double)i.sec / 2.0);
}

最新文章

  1. [小干货]SqlBulkCopy简单封装,让批量插入更方便
  2. tn文本分析语言(三):高级语法
  3. 解决ViewPage中嵌套有ListView或者滑动手势等造成滑动的冲突
  4. C#报修系统Ⅱ
  5. 最长不下降子序列 O(nlogn) || 记忆化搜索
  6. dataguard集群搭建
  7. php中mysql数据库异步查询实现
  8. 【 D3.js 高级系列 — 1.0 】 文本的换行
  9. jquery GET POST
  10. MVC整个样例的源代码
  11. go CD 用虚拟机快速增加一个新agent
  12. 文本输入框和下拉菜单特效-用正则表达式验证E-mail格式
  13. 一个想法照进现实-《IT连》创业项目:创业时该不该用新手程序员
  14. leetcode-884两句话中的不常见单词
  15. 七.HTTP协议原理介绍
  16. java编程高级进阶
  17. C内存分配
  18. &lt;a&gt;&lt;/a&gt;标签传参出现乱码问题
  19. RocketMQ事务消息实战
  20. 用webstorm来开发微信小程序之less的配置

热门文章

  1. 揭秘FaceBook Puma演变及发展——FaceBook公司的实时数据分析平台是建立在Hadoop 和Hive的基础之上,这个根能立稳吗?hive又是sql的Map reduce任务拆分,底层还是依赖hbase和hdfs存储
  2. BZOJ4307: Maishroom &amp; Class
  3. 关于pyspark
  4. BZOJ4571:[SCOI2016]美味
  5. 前端PHP Session的实例
  6. Spring boot 学习 九
  7. poco时间操作
  8. caffe c++
  9. 【236】◀▶IEW-Unit01
  10. 微信小程序开发之下拉菜单