玲珑杯 round18 A 计算几何瞎暴力
题目链接 : http://www.ifrog.cc/acm/problem/1143
当时没看到坐标的数据范围= =看到讨论才意识到,不同的坐标最多只有1k多个,完全可以暴力做法,不过也要一些技巧。
首先注意数很大可能爆int,用LL得话注意强制转换或者全设为LL,假如 int a=50000,b=a; LL sum=a*b; 则会爆出,除非ab都是LL 或者 sum=(LL)a*(LL)b;
还有就是R最大就是30,我们不妨设ans[i]表示R<=i的组合个数,做一个前缀和方便快速询问。
对于R>30的询问视作30即可。还有一点这里做坐标的映射是一开始想要用map+pair...不熟练搞了半天放弃了,,,,
看到别人的 vis[x][y][z]++的时候我感觉自己的脑子白长了。。。。
这样一来就方便多了复杂度也大大降低
#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL vis[][][];
LL ans[];
struct room
{
LL x,y,z;
}P[];
LL dis(room A,room B){return abs(A.x-B.x)+abs(A.y-B.y)+abs(A.z-B.z);}
int main()
{
int q,t,n,m,i,j,k,r;
cin>>t;
while(t--){memset(vis,,sizeof(vis));k=;
memset(ans,,sizeof(ans));
scanf("%d%d",&n,&q);
for(i=;i<=n;++i){room _;
scanf("%lld%lld%lld",&_.x,&_.y,&_.z);
if(!vis[_.x][_.y][_.z]++)
P[++k]=_;
}
for(i=;i<=k;++i){
for(j=i;j<=k;++j){
LL d=dis(P[i],P[j]);
LL n1=vis[P[i].x][P[i].y][P[i].z];
LL n2=vis[P[j].x][P[j].y][P[j].z];
if(i==j){
ans[d]+=(n1)*(n1-)/;
}
else{
ans[d]+=n1*n2;
}
}
}
for(i=;i<=;++i) ans[i]+=ans[i-];
while(q--){
scanf("%d",&r);
if(r>) r=;
printf("%lld\n",ans[r]);
}
}
return ;
}
玲珑杯 round18 A 计算几何瞎暴力的更多相关文章
- 汕头市队赛 SRM14 T1 计算几何瞎暴力
计算几何瞎暴力 (easy.pas/c/cpp) 128MB 1s 在平面上,给定起点和终点,有一面墙(看作线段)不能穿过,问从起点走到终点的最短路程. 输入格式 输入一行,包含8个用空格分隔的整数x ...
- LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力
二次联通门 : LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 /* LibreOJ #517. 「LibreOJ β Round #2」计算几何瞎暴力 叫做计算几 ...
- loj517 计算几何瞎暴力
在序列上维护4个操作 1.在序列的尾端添加x 2.输出Al~Ar的和 3.将所有数异或x 4.将序列从小到大排序 第一眼看上去是Splay于是头铁硬刚了一发 后来发现splay没法异或 去百度“维护异 ...
- [LOJ#517]. 「LibreOJ β Round #2」计算几何瞎暴力[trie]
题意 题目链接 分析 记操作异或和为 \(tx\) ,最后一次排序时的异或和为 \(ax\) ,每个数插入时的 \(tx\) 记为 \(b\). 我们发现,一旦数列排序,就会变得容易操作. 对于新加入 ...
- loj517 计算几何瞎暴力(Trie树)
题目: https://loj.ac/problem/517 分析: 操作4比较特殊,我们先来分析下操作4 操作4相当于需要一个数据结构,使得里面的数据有序(这有很多选择) 结合操作1,操作4的“排序 ...
- 「LibreOJ β Round #2」计算几何瞎暴力
https://loj.ac/problem/517 题解 首先我们如果没有排序这个骚操作的话,可以直接记一下各个数位的前缀和,然后异或标记给全局打,查询的时候先把区间信息提取出来然后整体异或就好了. ...
- 玲珑杯”ACM比赛 Round #18 A -- 计算几何你瞎暴力(瞎暴力)
题目链接:http://www.ifrog.cc/acm/problem/1143?contest=1020&no=0 题解:就是瞎暴力具体多暴力看一下代码就知道了. #include < ...
- 玲珑杯 Round #18 A -- 计算几何你瞎暴力
因为坐标都在1-10之间,因此可暴力求解 #include <iostream> #include <cstdio> #include <cstring> #inc ...
- 【玲珑杯 round#18 A】计算几何你瞎暴力
[Link]:http://www.ifrog.cc/acm/problem/1143?contest=1020&no=0 [Description] [Solution] 因为每个点的(xi ...
随机推荐
- 传智播客微金所项目实战移动web开发
1.源码笔记 我的源码+笔记(很重要):链接: http://pan.baidu.com/s/1kULKqcJ 感谢传智播客项目相关视频:1.6天 链接: https://pan.baidu.com/ ...
- 利用maven-assembly-plugin加载不同环境所需的配置文件及使用场景
背景: 如何加载不同环境的配置文件已经成了势在必行的,我们通常利用profile进行,详情参见我上篇博客 http://www.cnblogs.com/lianshan/p/7347890.html, ...
- Servlet------>request和response控制编码乱码问题
我在request篇和response都有提到,觉得会忘记,所以从新整理一下 request细节四----->通过request控制编码问题 第一种方式是通过设置------>reques ...
- Flask系列(八)flask-session组件
一.简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session保存到多个地方,如: redis:保 ...
- SaltStack系列(一)之环境部署、命令及配置文件详解
一.SaltStack介绍 1.1 saltstack简介: saltstack是基于python开发的一套C/S架构配置管理工具,它的底层使用ZeroMQ消息队列pub/sub方式通信,使用SSL证 ...
- log4j2配置日志大小,个数等
1:设置log输出文件 https://www.cnblogs.com/sa-dan/p/6837225.html <?xml version="1.0" encoding= ...
- idea使用插件activate-power-mode给编码加上特效和带来乐趣。
一.安装. 1. 2. 二.使用. 1. 2.
- 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
A:Alphabet Solved. 签. #include<bits/stdc++.h> using namespace std; ]; ]; int main(){ scanf(); ...
- poj1673 EXOCENTER OF A TRIANGLE
地址:http://poj.org/problem?id=1673 题目: EXOCENTER OF A TRIANGLE Time Limit: 1000MS Memory Limit: 100 ...
- ng-深度学习-课程笔记-9: 机器学习策略1(Week1)
1 为什么要应用机器学习策略( Why is machine learning strategy ) 当你想优化一个问题的时候,通常可以有很多尝试(比如收集更多数据,增加迭代次数,改用adam,改变网 ...