二维坐标下的运算

news/2025/9/25 20:50:21/文章来源:https://www.cnblogs.com/czm-code/p/19111989

在二维图中,常常遇到一些需要大量坐标运算的题目,这时可以封装一个Point类,实现坐标高效运算。

// #define LOCAL
#include<iostream>
#include<queue>
#include<map>
using namespace std;
#define _for(i,a,b) for(int i = (a); i < (b); i++) 
#define _rep(i,a,b) for(int i = (a); i <= (b); i++)// 二维图涉及到坐标加减问题的时候 可以定义Point类
struct Point {int x, y;Point(int x = 0, int y = 0) : x(x) , y(y) {}
};using Vector = Point;
using IPair = pair<int, int> ;Vector operator+(const Vector& v1, const Vector& v2) {return Vector(v1.x+v2.x , v1.y+v2.y);
}Vector operator-(const Vector& v1, const Vector& v2) {return Vector(v1.x-v2.x , v1.y-v2.y);
}Vector operator*(const Vector& v1, const int& k) {return Vector(v1.x*k , v1.y*k);
}Vector operator/(const Vector& v1, const int& k) {return Vector(v1.x/k , v1.y/k);
}bool operator==(const Vector& v1, const Vector& v2) {return v1.x==v2.x && v1.y==v2.y;
}bool inRange(int x, int l, int r) {return (l > r) ? inRange(x, r, l) : (l <= x && x <= r);
}const int N = 100;
Vector dir[] = {{1,1}, {1,-1}, {-1,1}, {-1,-1}};
int n, m, k;bool isValid(Vector& p) {return inRange(p.x, 0, n-1) && inRange(p.y, 0, m-1); 
}int readint() {int x; cin >> x; return x;
}constexpr int maxn = 1024;int main() {return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

凡科建站怎么导出网页网站优化方案和实施

有一个数据库应用程序存在过多的解析问题&#xff0c;因此需要找到产生大量硬解析的主要语句。 什么是硬解析 Oracle数据库中的硬解析&#xff08;Hard Parse&#xff09;是指在执行SQL语句时&#xff0c;数据库需要重新解析该SQL语句&#xff0c;并创建新的执行计划的过程。这…

Polar2025秋季个人挑战赛web-writeup

感觉难度还行polar快递 在登录页面下载备忘录发现用户等级分四个,抓包发现有id=user,改为最高等级的root登录即可获取flag white 常规输入执行命令发现很多符号都被ban了/[;&$"<>?*[]{}()#@!%]/`,发…

题解:P12751 [POI 2017 R2] 集装箱 Shipping containers

cnblogs 题面 第二道根号分治,对初学者来说很友好的一道题。 题意在题面中写的很清楚,这里不多赘述。 思路 先从暴力开始想。 每次暴力的时间复杂度最坏明显是 \(O(n^2)\) 的,因为是类似区间加和最后统计的问题,可…

弱网配置

sudo tc qdisc replace dev eno1 root netem delay 120ms 30ms 25% loss 5% 解除sudo tc qdisc del dev eno1 ingresshttps://blog.csdn.net/2303_78922833/article/details/151372115

网站建设网页设计小江wordpress重写插件

上篇文章《C自动注册的工厂与--whole-archive》提到了--whole-archive选项在自动工厂示例的必要&#xff0c;“貌似也没其他方法了”。 这篇文章介绍另一种可以替代的方式&#xff0c;并分析其优缺点&#xff0c;采用的代码示例同上篇文章。文章最后附代码。 方法介绍 ld链接器…

net网站开发教学视频牌子网排行榜

报告来源&#xff1a;国泰君安&#xff08;訾猛&#xff09;亚马逊以技术为核心驱动力&#xff0c;实现从电商向科技公司的跨越&#xff0c;形成电商、物流、AWS、新零售协同发展的完整生态圈。亚马逊从1995年开始为用户提供线上商品&#xff0c;从一家网上书店发展成全品类电商…

选择网站做友情链接的标准一般是wordpress点击折叠展开内容

Java概况 JavaSE是java分类中的标准版&#xff0c;是刚接触java要学习的基础知识。 JavaEE是java分类中的企业版&#xff0c;是java中的高级&#xff0c;涉及到的知识广泛。 JavaME中M是Micro的缩写&#xff0c;用在嵌入式等电子设备中。 Java软件工程师&#xff1a;通过Ja…

通过【开题答辩过程】以《基于JavaEE的创意产品众筹平台的设计与实现》为例,不会开题答辩的能够进来看看

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Nano-Banana免费使用指南:一键生成专属3D手办,附超详细提示词 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

绘制金融集团监控大屏的地图demo

<!-- 引入ECharts和地图数据 --> <script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script> <script src="https://geo.datav.aliyun.com/areas_v3/…

如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)

如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)​bzip2​ 是一个在 Linux 系统中常用的文件压缩工具,这个 RPM 包是专门为 ​CentOS 7 / RHEL 7(64位系统)​​ 准备的安装版本 一、先确认你…

实用指南:《原神助手》开源神器:游戏体验大升级

实用指南:《原神助手》开源神器:游戏体验大升级pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

百度收录网站需要多久做海外推广的公司

一、Git概述&#xff08;1&#xff09;定义Git是目前世界上最先进的分布式版本控制系统。&#xff08;2&#xff09;能干什么&#xff1f;解决冲突、管理权限、代码备份、协同开发、版本还原、历史追查、版本记录、分支管理、代码审查&#xff08;3&#xff09;集中管理型版本管…

AM1.5G 太阳光谱 - 教程

AM1.5G 太阳光谱 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…

2025年Java常见面试题

2025年Java常见面试题2025年Java常见面试题 原文链接:https://zhuanlan.zhihu.com/p/1913568498535360114 数据库事务特性。原子性、一致性、隔离性、持久性如何防止SQL注入:使用#不要使用$符号;对所有的入参做校验…

实用指南:k8s 跟 nacos 关于服务注册以及服务发现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

9-25

今天满课。。。 最近在忙大创,电控这方面需要合作完成,重拾了单片机的知识 驱动电机使用的是TB6612,驱动130直流电机 使用pwm控制转速 PWM 是 脉冲宽度调制(Pulse Width Modulation)的缩写,是一种通过调节脉冲信…

电子商务网站推广的方法有哪些成都网站设计网站制作公司

关于三次样条插值&#xff0c;计算方法比较复杂&#xff0c;但是静下心来仔细研究也是可以理解的。 本文借鉴文章来源&#xff1a;http://www.cnki.com.cn/Article/CJFDTotal-BGZD200611035.htm 定义&#xff1a; 简单来说就是给定了一些在区间[a,b]的数据点{x1,x2,x3.....xn…

西安网站制作工商上海公司注册名字查询

自诞生以来&#xff0c;OpenStack 似乎一直被质疑&#xff0c;其背后最重要的两大推手 NASA 和 Rackspace 都弃它而去&#xff0c;惠普、思科接连宣布关闭基于 OpenStack 的公有云服务&#xff0c;但是,OpenStack 依旧坚挺。1Q&#xff1a;OpenStack发展历史A:2Q&#xff1a;op…

郑州行业网站建设最适合穷人的四种保险

1.数据类型和变量 Python使用缩进来组织代码块,一般使用4个空格的缩进.使用#来注释一行,其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块.Python对大小写敏感. 1.1 整数 Python可以处理任意大小的整数,包括负整数,写法与数学上写法一致,例如:-100.如果用十六…