
计算几何
Dave_L
这个作者很懒,什么都没留下…
展开
-
牛客-网易19校招真题题解 中途相遇法,线段树+二分,贪心,模拟,计算几何,分解质因数
牛牛找工作题目描述为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量N...原创 2020-02-07 18:36:40 · 1755 阅读 · 0 评论 -
计算几何之皮克定理的应用+线段上整数点个数+求三角形面积
GYM-G思路:皮克定理 : s = in + on / 2 - 1其中 s为多边形面积, in为在多边形内部的点数,on为在多边形边界上的点数 。都为整数点数。根据叉积求面积。on可以通过 gcd( a.x - b.x , a.y - b.y )得到,一个线段上的整数点数(gcd( a.x - b.x , a.y , b.y ))。Code:#include <bits/s...原创 2018-10-29 09:03:57 · 974 阅读 · 0 评论 -
POJ2007 计算几何基础 点集的逆时针排序(凸多边形)
POJ2007思路:逆时针排序Code:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int AX = 1e2 + 66 ;int n ; struct Node{ int x , y ; Node( int x , in...原创 2018-10-29 08:54:21 · 901 阅读 · 0 评论 -
Codeforces Round #488 by NEAR (Div. 2) A模拟 B贪心,排序C计算几何D讨论思维
ACode:#include <bits/stdc++.h>#define LL long long using namespace std;const int AX = 1e2 + 6;int a[AX];int mp[AX];int main(){ int n , m ; cin >> n >> m ; for( int i = 0...原创 2018-10-03 11:59:10 · 187 阅读 · 0 评论 -
AIM Tech Round 5 (rated, Div. 1 + Div. 2) A暴力 B构造思维C排序,暴力 D贪心
ACode:#include &lt;bits/stdc++.h&gt;#define LL long longusing namespace std;const int AX = 115+6;char s[AX][AX];int main(){ int n , m; scanf("%d%d",&amp;n,&amp;m); for( int i =...原创 2018-09-02 21:30:13 · 162 阅读 · 0 评论 -
练习赛12 A贪心,B计算几何求三角形面积C区间覆盖E模拟H .2次bfs J模拟K二分L预处理 M暴力
A 题意:两个数和s最大公约数d,求这个两个数 思路:让其中一个是最大公约数即可。 Code:#include &lt;bits/stdc++.h&gt;#define INF 0x3f3f3f3f#define LL long longusing namespace std;const int AX = 1e6+666;LL gcd( LL a, LL b ){ r...原创 2018-07-31 09:29:38 · 230 阅读 · 0 评论 -
练习赛3 B组合 C multiset D set G 计算几何矩形面积交/并 H模拟 I 组合数公式+逆元 J搜索 K添加限制条件的最短路
B. 题目链接:https://hihocoder.com/problemset/problem/1509 题意:给定一个长度为 n 的非负整数序列 a[1..n] 你需要求有多少个非负整数 S 满足以下两个条件: (1).0 ≤ S &amp;amp;amp;lt; 260 (2).对于所有 1 ≤ i &amp;amp;amp;lt; n ,有 (a[i] xor S) ≤ (a[i+1] xor S)思路:遍历每一对,找每一...原创 2018-07-18 17:41:48 · 374 阅读 · 0 评论 -
51nod1100 斜率最大
1100 斜率最大基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注平面上有N个点,任意2个点确定一条直线,求出所有这些直线中,斜率最大的那条直线所通过的两个点。(点的编号为1-N,如果有多条直线斜率相等,则输出所有结果,按照点的X轴坐标排序,正序输出。数据中所有点的X轴坐标均不原创 2018-01-28 10:49:43 · 312 阅读 · 0 评论 -
线段相交判断
1.快速排斥实验。设以线段P1P2为对角线的矩形为R,设以线段Q1Q2为对角线的矩形为T,如果R和T不相交,则两线段不相交。所以P1P2和Q1Q2相交的必要条件是以他们为对角线的矩形相交,即:min(p1.x,p2.x) <= max(q1.x,q2.x) &&min(q1.x,q2.x) <= max(p1.x,p2.x) &&min(p1.y,p2.y) <= max(q1原创 2017-08-03 17:26:21 · 426 阅读 · 0 评论 -
UVA11437
https://vjudge.net/problem/UVA-11437#include #include #include using namespace std;struct Point{ double x; double y; Point(double x = 0 , double y = 0): x(x),y(y) {};};Point operator + (c原创 2017-08-03 17:14:38 · 569 阅读 · 0 评论 -
51nod1264 线段相交
给出的数据应该不包含在一条线上,下面的程序也过不了那样的数据。#include using namespace std;struct point{ double x,y;}p[4];double f(point a,point b,point c){ return (a.x - c.x)*(b.y - c.y)-(a.y - c.y)*(b.x - c.x);}b原创 2017-07-31 20:00:01 · 353 阅读 · 0 评论