Walker
emmm.......随机化。
好吧,我们不熟。
考虑随机选取两组数据高斯消元消除结果后带入检验,能有超过1/2正确就输出。
其实方程就四个,手动解都没问题。
只是要注意看sin与cos的关系来确定角象限,被这个卡掉了,挑了好久。
还要注意在合适的情况下\(eps\)越大越好。
Code
#include<bits/stdc++.h>
using namespace std;
namespace STD
{
#define rr register
#define scanf ybbb=scanf
#define x1 a[id1].X1
#define x2 a[id2].X1
#define y1 a[id1].Y1
#define y2 a[id2].Y1
#define x1_ a[id1].X2
#define x2_ a[id2].X2
#define y1_ a[id1].Y2
#define y2_ a[id2].Y2
typedef long long ll;
const int N=1e5+5;
const double e=1e-4;
int n,ybbb ;
struct line{double X1,X2,Y1,Y2;} a[N];
int read()
{
rr int x_read=0,y_read=1;
rr char c_read=getchar();
while(c_read<'0'||c_read>'9')
{
if(c_read=='-') y_read=-1;
c_read=getchar();
}
while(c_read<='9'&&c_read>='0')
{
x_read=(x_read<<3)+(x_read<<1)+(c_read^48);
c_read=getchar();
}
return x_read*y_read;
}
bool check(double cos,double sin,double dx,double dy)
{
int cnt=0;
for(rr int i=1;i<=n;i++)
{
double x_=cos*a[i].X1-sin*a[i].Y1+dx;
double y_=cos*a[i].Y1+sin*a[i].X1+dy;
if(fabs(x_-a[i].X2)<=e&&fabs(y_-a[i].Y2)<=e)
cnt++;
}
return cnt>=((n+1)>>1)&&cnt<=n;
}
};
using namespace STD;
int main()
{
n=read();
for(rr int i=1;i<=n;i++)
scanf("%lf%lf%lf%lf",&a[i].X1,&a[i].Y1,&a[i].X2,&a[i].Y2);
double x,b,c,d,scale,cos,sin;
srand(time(0));
for(rr int i=1;i<=500;i++)
{
int id1=rand()%n+1;
int id2=rand()%n+1;
while(id1==id2) id2=(id2-rand()%n+n)%n+1;
x=x1_-x2_-(y1_-y2_)*(y2-y1)/(x1-x2);
x=x/(x1-x2+(y1-y2)*(y1-y2)/(x1-x2));
b=((y1_-y2_)-(x*(y1-y2)))/(x1-x2);
c=(x1_-x*x1+b*y1);d=(y1_-b*x1-x*y1);
if(!check(x,b,c,d))continue;
scale=sqrt(x*x+b*b);
cos=x/scale,sin=b/scale;
break;
}
printf("%.7lf\n%.7lf\n%.7lf %.7lf\n",sin>0?acos(cos):-acos(cos),scale,c,d);
}
Walker的更多相关文章
- (转)Dependency Walker使用说明
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...
- DLL详解及Denpendcy Walker的使用
下面的文章被N次转载,为了尊重原作,\(^o^)/~,贴出最早发布这篇文章的地址及作者. 动态链接库 Windows的活动大陆 2006-07-26 09:21 作者:狂ρκ来源:电脑爱好者 在 ...
- Dependency Walker使用说明
Dependency Walker使用说明 标签: dllexewindowsvbqq工具 2010-03-29 11:10 25175人阅读 评论(22) 收藏 举报 分类: 基本常识(45) ...
- Dependency Walker的替代品Dependencies
在c++时代, Dependency Walker基本上是大部分程序员必备的工具之一,很可惜的是从2006起就不更新了.而且只支持vc的名字undemangle, https://github.com ...
- Dependency Walker使用说明 转载
转载地址:http://blog.csdn.net/swort_177/article/details/5426848?reload 在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字 ...
- Dependency Walker使用说明[转]
在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...
- 【原创】Dependency Walker
https://zh.wikipedia.org/wiki/Dependency_Walker For situations where the system says it can’t find s ...
- 关于DLL调试的两个工具(dependency walker和dumpbin.exe)
Dependency Walker工具: 该工具用来查看dll依赖库和依赖库内的函数. 左上角:模块依赖树,表示该dll所依赖的其它dll文件 右上角:导入函数,即与当前根模块有关系的函数(即根模块或 ...
- 【Visual Studio - Dependency Walker】查找程序依赖的动态链接库文件(转)
原文转自 http://163n.blog.163.com/blog/static/5603555220113151113287/ 有时我们需要知道一个程序依赖哪些动态链接库(DLL)文件.实际上,有 ...
- Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)
Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作的博客,里 ...
随机推荐
- 【动画消消乐 】HTML+CSS 吃豆豆动画 073
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- H5页面怎么跳转到公众号主页?看过来
前言: 做公众号开发的小伙伴,可能会遇到这种需求: 在一个H5页面点击一个关注公众号按钮跳转到公众号主页. 听到这个需求的一瞬间,疑惑了!这不可能! 摸了摸高亮的额头!没办法,做还是要做的 开始上解决 ...
- CF201C Fragile Bridges TJ
本题解依旧发布于洛谷,如果您能点个赞的话--(逃 前言 题目链接 正解:动态规划 思路不是很好想,想出来了应该就没有多大问题了,但是需要处理的细节较多,再加上水水的样例,难度应该是偏难的.个人感觉应该 ...
- linux之frp服务部署(内网穿透)
frp服务部署(内网穿透) 目的 更快的进行内网穿透调试以及云端开发测试 服务器为CentOS 7,客户端为win11 frp介绍 frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 ...
- Netty入门(二):Channel
前言 Netty系列索引: 1.Netty入门(一):ByteBuf 2.Netty入门(二):Channel 在Netty框架中,Channel是其中之一的核心概念,是Netty网络通信的主体,由它 ...
- LeetCode通关:哈希表六连,这个还真有点简单
精品刷题路线参考: https://github.com/youngyangyang04/leetcode-master https://github.com/chefyuan/algorithm-b ...
- 4 剑指Offer53-在排序数组中查找数字
统计一个数字在排序数组中出现的次数. 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10 ...
- Python小白的数学建模课-18.最小生成树问题
最小生成树(MST)是图论中的基本问题,具有广泛的实际应用,在数学建模中也经常出现. 路线设计.道路规划.官网布局.公交路线.网络设计,都可以转化为最小生成树问题,如要求总线路长度最短.材料最少.成本 ...
- 1、二进制安装K8s 之 环境准备
二进制安装K8s 之 环境准备 1.系统&软件 序号 设备\系统 版本 1 宿主机 MacBook Pro 11.4 2 系统 Centos 7.8 3 虚拟机 Parallels Deskt ...
- COM笔记-Widows 注册表
Widows 注册表 HKEY_CLASSES_ROOT在此关键字之下,可以看到有一个CLSID关键字.在CLSID关键字之下列有系统中安装的所有组件的CLSID.注册表CLSID是一个具有如下格式的 ...