codeforce975D:Ghosts(思维)

news/2024/11/29 22:28:36/


题目链接:点击打开链接


题目大意:

这个题目的题面真的坑,个人感觉其实不是很难,但是我当时做完3题之后完全看不懂D题的题意,又感觉是个计算几何就直接扔那没管了。唉,其实知道题意之后蛮简单的,题意就是给你n个点,只给你x坐标,y坐标利用题目给你的a,b推出来即可,还有每个点运动的方向(以向量的方式给出)即给出vx和vy,每个点和其他点相遇一次,ans++,差不多就这个意思。


解题思路:

其实首先要带一下公式 对于点 x0 y0 x1 y1 如果某个点可以相遇,那么可以得到公式

x0+t*vx0=x1+t*vx1

y0+t*vy0=y1+t*vy1

然后把y=a*x+b带入消去t得到,vy1-a*vx1=vy0-a*vx0n

即只要符合这个公式的两点都可相遇。但是这个时候要考虑他们向量完全相同的情况,最后计算答案的时候减去这个值就可以,用map的话比较好实现。


Ac代码:

#include<bits/stdc++.h>
#define lson rt<<1
#define rson rt<<1|1
using namespace std;
typedef long long ll;
const int maxn=2e5+5;
const int INF=1e9+7;
const int mod=998244353;
int n;
ll a,b,sum;
struct node
{ll x,vx,vy;
}d[maxn];
map<pair<ll,ll>,int> mp;
map<ll,int> ma;
int main()
{scanf("%d%lld%lld",&n,&a,&b);for(int i=1;i<=n;i++){scanf("%lld%lld%lld",&d[i].x,&d[i].vx,&d[i].vy);mp[make_pair(d[i].vx,d[i].vy)]++;   //统计个数ma[d[i].vy-a*d[i].vx]++;}for(int i=1;i<=n;i++)sum+=(ma[d[i].vy-a*d[i].vx]-mp[make_pair(d[i].vx,d[i].vy)]);    //计算贡献printf("%lld\n",sum);//system("pause");
}





http://www.ppmy.cn/news/535922.html

相关文章

Codeforces-975C - Valhalla Siege - 思维

题解链接&#xff1a; https://www.lucien.ink/archives/204/ 题目链接&#xff1a; http://codeforces.com/contest/975/problem/C 题目&#xff1a; Ivar the Boneless is a great leader. He is trying to capture Kattegat from Lagertha. The war has begun and wave a…

CF 975D Ghost 数学(基础)

题意:yaxb的直线上有n个点,给出这n个点的(x[i],vx[i],vy[i]),(vx[i],vy[i]为第i个点x,y的速度) 当两个点碰撞时,总价值2.n<2e5,-1e9<x[i]<1e9.问总价值为多少? 若(x1,vx1,vy1),(x2,vx2,vy2)能在t秒相遇 x1t*vx[1] x2t*vx[2] y1t*vy[1] y2t*vy[2] 则 (x2-x1)/(vx[…

简历不要随意给猎头!他们会胡乱投递,影响你之后求职!

猎头是求职的重要途径之一&#xff0c;但猎头群体良莠不齐&#xff0c;并不是每个猎头都值得信任。 一位网友就对猎头持怀疑态度&#xff0c;问大家&#xff1a; 简历可以随意给猎头吗&#xff1f;给他们的时候需要注意什么&#xff1f;他们会不会群发&#xff0c;对自己之后求…

柯尼卡美能达

一、技术维修代表模式功能设置步骤! 步骤&#xff1a; 按效用/计数器键&#xff1b; 触摸&#xff3b;Check Detail&#xff3d;&#xff1b; 依照此顺序按以下各个键。停止→ 0 → 0 → 停止 → 0 → 1&#xff1b; 输入8 位数字的维修密码&#xff0c;然后触摸&#xff3…

<C语言> 数组

1.一维数组的创建和初始化。 1.1 数组的创建 数组是一组相同类型元素的集合。 使用以下方式声明一个一维数组&#xff1a; type arrayName[arraySize];type是数组中元素的类型&#xff0c;arrayName是数组的名称&#xff0c;arraySize是数组的大小&#xff08;即元素的个数&a…

yolo格式visdrone转换

目录 yolo格式转换1. Visdrone2019格式转换 yolo格式转换 1. Visdrone2019格式转换 数据集下载地址https://aistudio.baidu.com/aistudio/datasetdetail/115729 如果是visdrone数据集&#xff0c;直接使用txt2xml.py去转换&#xff0c;修改annotation和img的路径&#xff0c…

ProGuard混淆及R8优化

前言&#xff1a;使用java编写的源代码编译后生成了对于的class文件&#xff0c;市面上很多软件都可以对class文件进行反编译&#xff0c;况且Android开发的应用程序是用Java代码写的&#xff0c;为了很好的保护Java源代码&#xff0c;我们需要对编译好后的class文件进行混淆。…

数据猿·金猿榜丨2017中国智能语音领域最具潜力创业公司

【数据猿导读】 “2017中国智能语音领域最具潜力创业公司”盘点源于数据猿推出的“金猿榜”系列内容&#xff0c;旨在通过媒体的方式与原则&#xff0c;发掘大数据领域最具潜力的创新型企业 编辑 | sharon 官网 | www.datayuan.cn 微信公众号ID | datayuancn “2017中国智能语音…