[JZOJ 5852] 相交】的更多相关文章

题意:求树上两条路径有无祖先. 思路: 瞎搞\(LCA\)啊... 可惜我\(LCA\)打错了,我居然调了半小时...qwq #include <bits/stdc++.h> using namespace std; const int maxn = 200010; #define travel(i,x) for(int i = head[x];i;i=e[i].nxt) inline int read () { int q=0,f=1;char ch = getchar(); while(!…
题目链接: http://172.16.0.132/senior/#main/show/5852 题目: 题目大意: 多组询问,每次询问树上两条链是否相交 题解: 两条链相交并且仅当某一条链的两个端点的LCA在另一个端点上 对于每次询问,我们分别处理出两条链端点的LCA,通过倍增判断是否存在一条链的LCA在另一条链上 #include<algorithm> #include<cstring> #include<cstdio> #include<iostream&g…
JZOJ 5602.[NOI2018模拟3.26]Cti Description 有一个 \(n×m\) 的地图,地图上的每一个位置可以是空地,炮塔或是敌人.你需要操纵炮塔消灭敌人. 对于每个炮塔都有一个它可以瞄准的方向,你需要在它的瞄准方向上确定一个它的攻击位置,当然也可以不进行攻击.一旦一个位置被攻击,则在这个位置上的所有敌人都会被消灭. 保证对于任意一个炮塔,它所有可能的攻击位置上不存在另外一个炮塔. 定义炮弹的运行轨迹为炮弹的起点和终点覆盖的区域.你需要求出一种方案, 使得没有两条炮弹轨…
已知两圆圆心坐标和半径,求相交部分面积: #include <iostream> using namespace std; #include<cmath> #include<stdio.h> #define PI 3.141593 struct point//点 { double x,y; }; struct circle//圆 { point center; double r; }; float dist(point a,point b)//求圆心距 { return…
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1264 题意:中文题诶- 思路:对于直线a1a2, b1b2,我们可以通过跨立实验判断其是否相交(通过计算斜率也可以啦,不过好像有点麻烦): 其公式为:s=((向量)a1a2叉乘a1b1)*(a1a2)叉乘a1b2),若 s <=0 ,则有点b1, b2分别在线段a1a2的两边或者在同一条直线上: 我们可以很直观的知道如果a1, b2分别位于b1b2两边并且b…
题意:给你一个100*100的正方形,再给你n条线(墙),保证线段一定在正方形内且端点在正方形边界(外墙),最后给你一个正方形内的点(保证不再墙上) 告诉你墙之间(包括外墙)围成了一些小房间,在小房间内可以从房间边界(墙)的中点走过这堵墙,问你从给定的点走到外墙外最少走过的墙数 题解:注意我们可以从每个房间的墙的中点走出,而不是一整条线段(墙)的中点走出.... 然后我们可以找四周的边界中的每个点与给定点的连线,再与给定的线段找相交最少的交点数就是答案 但是边界每个点是无穷多个,因此我们可以这样…
题意:给你n条线段依次放到二维平面上,问最后有哪些没与前面的线段相交,即它是顶上的线段 题解:数据弱,正向纯模拟可过 但是有一个陷阱:如果我们从后面向前枚举,找与前面哪些相交,再删除前面那些相交的线段,这样就错了 因为如果线段8与5,6,7相交了,我们接下来不能直接判断4,我们还要找7,6,5与之前哪些相交 #include<set> #include<map> #include<queue> #include<stack> #include<cmat…
题意:平面上有一些半径为R的圆,现在要在满足不与现有圆相交的条件下放入一个圆,求这个圆能放的位置的圆心到原点的最短距离. 解法:我们将半径扩大一倍,R = 2*R,那么在每个圆上或圆外的位置都可以放圆心了. 首先特判放到原点可不可以,如果不可以,再将所有圆的圆心与原点的直线与该圆相交的点放入队列,再将所有圆两两相交的点放入队列,然后处理整个队列,一一判断这些点行不行,可以证明,最优点一定在这些里面. 如果有一个圆的圆心在(0,0)点,那么要特判一下,因为此时圆心与原点连的直线长度为0,对于这种情…
You can Solve a Geometry Problem too Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9596    Accepted Submission(s): 4725 Problem Description Many geometry(几何)problems were designed in the ACM/I…
个人亲自编写.测试,可以正常使用   道理看原文,这里不多说   网上找到的几篇基本都不能用的   C#代码 bool Equal(float f1, float f2) { return (Math.Abs(f1 - f2) < 1f); } bool dayu(Point p1, Point p2)////比较两点坐标大小,先比较x坐标,若相同则比较y坐标 { return (p1.X > p2.X || (Equal(p1.X , p2.X) && p1.Y > p…