给你出道题:依次去掉离中心最远的M个点
给定一个数组a[N],里面包含N个向量。现在要求进行删点操作,删点原则如下:
1、求出N个向量的中心O1,删除离O1最远的那个点
2、求出N-1个向量的中心O2,删除O2最远的那个点
......
重复以上步骤,直到删掉M个点(N>M)。
求最后剩下的数组。
首先,这个问题答案可能不唯一。如果有两个最远点,删除哪一个会深刻影响后续的删点过程。如果坚持不改这个问题,那么最后得到的是一个有向无环图。
如果添加一个条件,保证不会产生多个最远点。那么这个问题就很准确了。
求中心可以维护总和和点的个数两个变量来直接计算,而不用每次删完点之后都求平均。
求最远点问题相当于给定一个图,求图中离点x最远的点。
用python简单实现一下这道题的“出题器”。
import numpy as np
# 一个随机数组
a = np.random.rand(100, 10)
pre = 10 # 删掉的点数
ans = []
na = np.copy(a)
while len(ans) < pre:
m = np.mean(na, 0)
d = np.linalg.norm(na - m, ord=2, axis=1)
di = max([(i, d[i]) for i in range(len(d))])
ans.append(na[di[0]])
na = np.append(na[:di[0]], na[di[0] + 1:], 0)
print(ans)
给你出道题:依次去掉离中心最远的M个点的更多相关文章
- 新鲜出炉的Java开发者中心,约起来!
入门教程.SDK 和工具推荐下载.操作方法指导.API 参考,Java 开发者需要的,这里应有尽有. ▼ 话说现在 Java 开发者在云端进行开发非常火热啊,「云+Java」就好比才子配佳人,真是难以 ...
- 找出图像I的代数中心
function centerGPos = cenP(I ) %cenP finds the core of the PSF % [row, col] = find(I > ); minRow ...
- 给你出道题---N个数字的静态决策区分问题
决策,是世界上最重要的事情. 走路分两步:看准方向,大步前进.看准方向的过程就是决策. 任何一个问题,都对应两个空间:解空间和决策空间.我们所要做的就是使用决策空间去划分解空间. 决策可以分成两类:单 ...
- 阿里云EDAS在本地CentOS7.5 系统搭建测试环境,部署配置中心以及部署多个war包
参考阿里云的EDAS开发文档: 使用 Ali-Tomcat 开发应用 我们自己在内网搭建CentOS7 的测试环境,需要的资源如下: Ali-Tomcat Pandora 容器 EDAS 配置中心安装 ...
- Ubuntu 16.04 软件中心闪退 解决方案
最近使用16.04不知道是哪里出了问题,软件中心打不开了,点击图标之后完全不显示GUI,过一会儿软件就自动关闭了,然后也没有报错的log. 虽然可以使用命令行升级,但是强迫症不能忍啊. 经过一番折腾, ...
- Codeforces Round #260 (Div. 1) C. Civilization 树的中心+并查集
题目链接: 题目 C. Civilization time limit per test1 second memory limit per test256 megabytes inputstandar ...
- SpringCloud实践引入注册中心+配置中心
随着服务数量的增多,尤其是多数项目涉及jni本地方法的调用,所需参数配置较多,同时内存溢出等维护问题时常发生.鉴于此,原tomcat集群的使用已难满足需求,而微服务的思想契合当前项目实践,特在服务端构 ...
- Jquery学习之路(三) 实现弹出层插件
弹出层的应用还是比较多的,登陆,一些同页面的操作,别人的总归是别人的,自己的才是自己的,所以一直以来想写个弹出层插件.不多废话,直接开始吧! 不想看可以在这里直接下载源码xsPop.zip 1:遮罩层 ...
- eject - 弹出可移动介质
SYNOPSIS(总览) eject -h.breject [-vnrsfq] [<name>] eject [-vn] -d.breject [-vn] -a on|off|1|0 [& ...
随机推荐
- matlab 投影
function[l]= Gray(I) % I: The name of image A=imread(I);m=0;n=0;[m,n]= size(A);Hproj=zeros(m,1);Vpro ...
- POJ 1270 Following Orders
Following Orders Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4902 Accepted: 1982 ...
- 使用jquery操作iframe
1. 内容里有两个ifame <iframe id="leftiframe"...</iframe> <iframe id="mainiframe ...
- 数学图形之将曲线(curve)转化成曲面管
在我关于数学图形的博客中,一开始讲曲线的生成算法.然后在最近的章节中介绍了圆环,还介绍了螺旋管以及海螺的生成算法.一类是曲线,一类是环面,为什么不将曲线变成环的图形,毕竟曲线看上去太单薄了,这一节我将 ...
- 我所遭遇过的游戏中间件---SpeedTree
我所遭遇过的游戏中间件---SpeedTree SpeedTree是一个专门用于渲染植被的中间件,并提供了一套完善的植物编辑工具.在它官方提供的DEMO中,你会看到高度逼真的树木和植物,在风的影响下树 ...
- 我所遭遇过的游戏中间件--Scaleform
我所遭遇过的游戏中间件---Scaleform Scaleform帮助开发人员利用现代系统的三维硬件加速性能创建电影品质的菜单.游戏内HUD,动画纹理.迷你游戏以及移动游戏与应用.Scaleform作 ...
- [21] Mesh法线的生成算法
// 生成顶点法线 bool YfCalculateVertexNormal ( void* pNormalsBuffer, Yuint normalStriding, Yuint normalPos ...
- JavaScript操作XML (一)
JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准编程接口 中立于平台和语言 W3C 的标 ...
- Back Track 5 之 漏洞攻击 && 密码攻击 && Windows下渗透工具
网络漏洞攻击工具 Metasploit 先msfupdate升级: 然后选择msfconsole: 接下来: set LHOST 本机IP地址 setLPORT setg PAYLOAD window ...
- Android MVP 构架封装
上一篇我们简单实现了一个MVP的构架,下面我们来做一个简单的封装使其使用更简单方便 源码地址RxMVP分支Tag03 最终实现目录结构如下 BasePresenter 如果每一个Activity都需要 ...