中位数——二维坐标下的中位数lightoj1349
第一次碰到这种题,不知所措,题解链接 =》 https://www.cnblogs.com/fu3638/p/7426074.html
#include<bits/stdc++.h>
using namespace std;
#define maxn 50005
struct Node{int x,y,num;}p[maxn];
int cmp1(Node a,Node b){return a.x<b.x;}
int cmp2(Node a,Node b){return a.y<b.y;}
int n,m,q;
int main(){
int T;cin>>T;
for(int tt=;tt<=T;tt++){
printf("Case %d: ",tt); int sum=,mid;
cin>>n>>m>>q;
for(int i=;i<=q;i++)
cin>>p[i].x>>p[i].y>>p[i].num,sum+=p[i].num;
mid=sum+>>; sort(p+,p++q,cmp1);
int tot=,x=,y=;
for(int i=;i<=q;i++){
tot+=p[i].num;
if(tot>=mid){
if(sum%)x=p[i].x;//总数是奇数,那么中位数很好确定
else if(tot==mid)x=(p[i].x+p[i+].x)/;//总数是偶数,当前刚好卡在一半的位置
else x=p[i].x;
break;} } sort(p+,p++q,cmp2);
tot=;
for(int i=;i<=q;i++){
tot+=p[i].num;
if(tot>=mid){
if(sum%)y=p[i].y;//总数是奇数,那么中位数很好确定
else if(tot==mid)y=(p[i].y+p[i+].y)/;//总数是偶数,当前刚好卡在一半的位置
else y=p[i].y;
break;
} }
cout<<x<<" "<<y<<endl;
}
}
中位数——二维坐标下的中位数lightoj1349的更多相关文章
- 二维坐标的平移,旋转,缩放及matlab实现
本文结合matlab 软件解释二维坐标系下的平移,旋转,缩放 首先确定点在二维坐标系下的表达方法,使用一个1*3矩阵: Pt = [x,y,1] 其中x,y 分别为点的X,Y坐标,1为对二维坐标的三维 ...
- Win窗口坐标二维坐标与OpenGl的世界坐标系的之间的相互转换
Win窗口坐标二维坐标与OpenGl的世界坐标系的转换 几何处理管线擅长于使用视图和投影矩阵以及用于裁剪的视口把顶点的世界坐标变换为窗口坐标. 但是,在有些情况下,需要逆转这个过程.一种常见的情形是: ...
- 用C#控制台编写 推箱子之类的 坐标移动----之二维坐标
//首先用枚举 列出方向 上,下,左,右(枚举的最后一位数后不用符号 否则会报错) public enum dro { up = 1, down = ...
- UVALive 5102 Fermat Point in Quadrangle 极角排序+找距离二维坐标4个点近期的点
题目链接:点击打开链接 题意: 给定二维坐标上的4个点 问: 找一个点使得这个点距离4个点的距离和最小 输出距离和. 思路: 若4个点不是凸4边形.则一定是端点最优. 否则就是2条对角线的交点最优,能 ...
- OpenGL屏幕二维坐标转化成三维模型坐标
我们把OpenGL里模型的三维坐标往二维坐标的转化称为投影,则屏幕上的二维坐标往三维坐标转化则可以称为反投影,下面我们来介绍一下反投影的方法. 主要是gluUnProject函数的使用,下面是代码: ...
- JAVA根据A星算法规划起点到终点二维坐标的最短路径
工具类 AStarUtil.java import java.util.*; import java.util.stream.Collectors; /** * A星算法工具类 */ public c ...
- poj 3625 Building Roads(最小生成树,二维坐标,基础)
题目 //最小生成树,只是变成二维的了 #define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> ...
- k近邻算法C++二维情况下的实现
k近邻算法C++二维实现 这是一个k近邻算法的二维实现(即K=2的情况). #include <cstdio> #include <cstring> #include < ...
- 二维坐标点排序(JavaScript)
今天给大家分享下最近web项目中出现的一个技术难点问题--坐标排序: 如下图所示,要求在前端页面上按顺序将下面5个模块的坐标依次保存至数据库 现在已知信息如下: 1.每个模块分别为一个div 2.每个 ...
随机推荐
- Android Connection refused
遇到 Connection refused的错误. AndroidManifest.xml 文件中添加: //网络权限 <uses-permission android:name=" ...
- miui 系统铃声
MIUI7-8系统铃声和通知铃声等,从miui system.img中提取出来的: 链接:http://pan.baidu.com/s/1bpH5N5P 密码:tz7p
- 【linux】线上服务器要关注哪些参数
服务器(nginx/apache): 1.吞吐率. 2.并发连接数. 3.qps. 4.并发连接数详细数据统计,包括读取请求.持久连接.发送响应内容.关闭连接.等待连接. 5.连接线程池利用率. 关系 ...
- ACM在线模板
转载自:https://blog.csdn.net/f_zyj/article/details/51594851 Index 分类细则 说起分类准则,我也是很头疼,毕竟对于很多算法,他并不是单调的,而 ...
- 传入list或map进行首字母大小写转换
/** * 首字母小写 * author:wp */ public static Object keyFirstToLower(Object obj) throws Ex ...
- eclipse安装cucumber插件
help-install new software-add name= c location= http://cucumber.github.com/cucumber-eclipse/update-s ...
- SQL两个事务update同一张表出现的死锁问题(waitfor delay)
抄录网址:https://blog.csdn.net/qiumuxia0921/article/details/50574879 下面是我们的建表语句: SET ANSI_NULLS ON GO SE ...
- 状态模式-State Pattern(Java实现)
状态模式-State Pattern 在状态模式(State Pattern)中,类的行为是基于它的状态改变的.当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. State接口 ...
- day16,模块 , 用户管理系统 , 购物车程序 , 分页显示.
#!/usr/bin/env python# -*- coding:utf-8 -*- # 1.列举你常见的内置函数."""强制转换:int() / str() / li ...
- css 修改placeholder的颜色
input::-webkit-input-placeholder { color: #ff0000; } input::-moz-input-placeholder { color: #ff0000; ...