Axial symmetry FZU - 2035

Axial symmetry FZU - 2035

题意:

给一个多边形,边平行于x轴或者y,问是否存在对称轴

题解:

将每个点的坐标,以及每个边的中点的坐标,按照顺时针顺序存入,多边形的对称轴一定穿过对应两个点,一共有n个候选对称轴,我们依次枚举判断就行,当枚举一个对称轴时,判断其他点是否关于其对称(判断方法,两个直线是否垂直,中点是否在对称轴上)
当然对称轴的斜率k有可能不存在或者为0,记得特判
思路简单不好写

代码:

#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const int N = 1005;struct Node {double x,y;Node() {}Node(double _x,double _y) {x = _x;y = _y;}
}node[N], p[2*N];
bool equ(double x,double y){if(abs(x-y)<0.0000001)return 1;else return 0;
}
int n;
int main() {int t,cas = 1;scanf("%d",&t);while(t--) {scanf("%d",&n);for(int i = 0; i < n; i++) {scanf("%lf%lf",&node[i].x,&node[i].y);}node[n] = node[0];int tot = 0;p[tot++] = node[0];for(int i = 0; i <= n; i++) {p[tot++] = Node((node[i].x + node[i+1].x) / 2, (node[i].y + node[i+1].y) / 2);p[tot++] = node[i+1];}int a,b;double k1, k2, c;bool ok, flag = false;for(int i = 0; i < n; i++) {ok = true;if( p[i].x == p[i+n].x ) { //如果分母为0,则对称轴垂直于x轴for(int j = 1; j < n; j++) { //对称点 i+j 和 i-j + 2na = (i+j);b = (i-j+2*n);if( (p[a].x + p[b].x)/2 != p[i].x || (p[a].y != p[b].y)) {ok = false;break;}}}else if( p[i].y == p[i+n].y) { //如果分子为0,则对称轴垂直于y轴for(int j = 1; j < n; j++) {a = (i+j);b = (i-j+2*n);if( (p[a].y + p[b].y)/2 != p[i].y || (p[a].x != p[b].x)) {ok = false;break;}}}else{double K,B;K=(p[i].y-p[i+n].y)/(p[i].x-p[i+n].x);B=p[i].y-K*p[i].x;for(int j = 1; j < n; j++) {a = (i+j);b = (i-j+2*n);double k=(p[a].y-p[b].y)/(p[a].x-p[b].x);//y=kx+b  --> b=y-k double xx=(p[a].x+p[b].x)/2,yy=(p[a].y+p[b].y)/2; if(equ(k*K,-1)==0||equ(yy,xx*K+B)==0) {ok = false;break;}}}if(ok) {flag = true;break;}}printf("Case %d: ",cas++);if(flag) {printf("YES\n");}else {printf("NO\n");}}return 0;
}

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

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

相关文章

test 7 3-22 2021省选模拟赛seven

文章目录考试复盘人生赢家黑红兔考试复盘 T1T1T1 subtask1:n≤5subtask1:n\le 5subtask1:n≤5&#xff0c;暴搜点的颜色状态以及边的存在状态 对于一条连接相同颜色点的边&#xff0c;可要可不要&#xff0c;不会提供形态变化的贡献&#xff0c;2edge2^{edge}2edge dpdpdp&…

Shadow Properties之美(一)【Microsoft Entity Framework Core随笔】

最近在做公司的项目的时候&#xff0c;开始把部分程序迁移到EF Core&#xff0c;然后有了一些感触&#xff0c;趁着还没忘却&#xff0c;还是先记录下来。EF Core还在成长中&#xff0c;我写这个的时候&#xff0c;版本是2.2。如果对着已有的EF 5/6来说&#xff0c;还有很多功能…

CF1413C Perform Easily(two pointers)

解析 巧夺天工 可以说是把two pointers玩明白了 把所有的可能减出来的结果升序排列一下 然后一个选取区间合法当且仅当这个区间含有1-n所有数的至少一个可能的差 然后就可以two pointers了 #include<bits/stdc.h> const int N2e5100; const int mod1e97; #define ll lon…

CF1039E-Summer Oenothera Exhibition【LCT,根号分治】

正题 题目链接:https://www.luogu.com.cn/problem/CF1039E 题目大意 给出nnn个数的序列&#xff0c;mmm次询问至少将这个序列分成多少段才能满足每一段的和不超过w−qiw-q_iw−qi​。 1≤n,m≤105,1≤w,ai≤1091\leq n,m\leq 10^5,1\leq w,a_i\leq 10^91≤n,m≤105,1≤w,ai​…

E - Another Postman Problem FZU - 2038

E - Another Postman Problem FZU - 2038 题意&#xff1a; n个点通过n-1个边两两相连&#xff0c;每个边有权值&#xff0c;求对于每个点到其他点的距离和的总和 题解&#xff1a; 我们以下图中的1-2这条边为例子&#xff0c;1-2这条边一共计算了几次&#xff1f; 我们现在…

CF1034E Little C Loves 3 III(神仙构造+FWT_OR卷积)

title 题目 solution 先说很神仙的结论构造&#xff1a;对于aia_iai​&#xff0c;aivi∗4pop_count(i)a_iv_i*4^{pop\_count(i)}ai​vi​∗4pop_count(i)&#xff0c;bbb同理 ci∑j∣kiai∗bjc_i\sum_{j|ki}a_i*b_jci​∑j∣ki​ai​∗bj​&#xff0c;则ansi≡ci4pop_coun…

ASP.NET Core 3.0 项目开始“瘦身”

新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”&#xff0c;其背后的基本思想是&#xff0c;包括一个典型的应用程序所需要的所有东西。但是&#xff0c;如果看看该包的依赖项&#xff0c;对“需要”的定义看起来相…

CF1415D:XOR-gun(异或)

这就是CF 解析 这题真的是… …很妙 qwq 考虑到&#xff0c;如果相邻的连续三个二进制最高位相同&#xff0c;那么把后两个异或一下就可以打成目标 而如果不存在连续打三个二进制最高位相同的数&#xff0c;由于ai≤109a_i\leq10^9ai​≤109&#xff0c;所以n必然不超过60 前…

CF1369F-BareLee【博弈论,SG函数】

正题 题目链接:https://www.luogu.com.cn/problem/CF1369F 题目大意 TTT次游戏&#xff0c;每次给出一个sss和ttt&#xff0c;两个人轮流操作&#xff0c;可以让ss1ss1ss1或者ss2ss\times 2ss2&#xff0c;如果s>ts>ts>t的话那个人就输了。 每次输的人将作为下一次的…

D - Maximum Value Problem FZU - 2037

D - Maximum Value Problem FZU - 2037 题意&#xff1b; 这个序列[1&#xff0c;3&#xff0c;2&#xff0c;4]&#xff0c;maxx0.如果将maxx赋值为最大值需要3次&#xff0c;第一次为maxx1&#xff0c;第二次maxx3&#xff0c;第三次maxx4 给你一个n&#xff0c;求n全排列的…

一个.NET Core开发者的Linux入门学习笔记

用.NET Core开发也有一段时间了&#xff0c;但是由于工作原因一直都是在Windows系统上进行的开发&#xff0c;一直想学习Linux然后把.NET Core开发的程序跑在Linux上&#xff0c;然后把心得体会记录一下发布再博客园&#xff0c;奈何拖延症泛滥&#xff0c;所以只写过一篇《Cen…

CF914G Sum the Fibonacci(FWT模板+子集卷积)

title 题目 solution (sa∣sb)&sc&(sd⊕se)2i,i∈Z;sa&sb0(s_a|s_b)\&s_c\&(s_d⊕s_e)2^i,i∈Z;s_a\&s_b0(sa​∣sb​)&sc​&(sd​⊕se​)2i,i∈Z;sa​&sb​0 令isa∣sb,jsc,dsd⊕seis_a|s_b,js_c,ds_d⊕s_eisa​∣sb​,jsc​,dsd​⊕se…

CF1415E New Game Plus(贪心)

解析 把题目标签写在数据范围上的一道题 由于k过大&#xff0c;显然无法dp 那就只能贪了 一开始被完全带跑偏了… 想的是把序列降序排列然后从后往前划分… 这个思路能很简单的写出nkdp 然后就卡住了… 算看了一半题解吧 看到第一段“考虑分成k组”后退出来了 有了这个线头后…

loj#6518-「雅礼集训 2018 Day11」序列【整体二分,dp,线段树】

正题 题目链接:https://loj.ac/p/6518 题目大意 一个长度为nnn的序列aaa&#xff0c;你可以花费111的代价让一个数111或者−1-1−1&#xff0c;给出mmm个限制形如第kkk个数要是区间[l,r][l,r][l,r]的最大/最小值。 求满足所有限制的最小代价 1≤n≤5000,1≤ai≤1051\leq n\l…

一二三系列之状压DP——Max Correct Set(一)Neko Rules the Catniverse (Large Version)(二)Make It Ascending(三)

文章目录一&#xff1a;CF1463F二&#xff1a;CF1152F2三&#xff1a;CF1342F一&#xff1a;CF1463F Max Correct Set 有一个结论&#xff1a;以xyxyxy为周期排列填充一定是不劣于最后的答案的 令pxy,rn%ppxy,rn\%ppxy,rn%p ⌊np⌋\lfloor\frac{n}{p}\rfloor⌊pn​⌋出现次数为…

C - Log Calculator FZU - 2036

C - Log Calculator FZU - 2036 题意&#xff1a; 已知a和b&#xff0c;满足alog2x&#xff0c;blog2y 求log2(xy) 题解&#xff1a; 因为alog2x&#xff0c;blog2y 所以x2a, yab log2(xy)log2(2a2b)log2(2b(12a-b))blog2(2a-b1) x>32时&#xff0c;blog2(2x1)xb 代码&…

实用帖 | 使用Visual Studio开发.NET Core推荐设置

Visual Studio 一直是.NET程序员的好伙伴&#xff0c;如今虽然.NET Core的开发可以用VSCode等其他环境&#xff0c;但VS依旧有强大的优势。今天来介绍下如何让VS用得更顺手的技能Here We Go!⛷基本配置首先要搞清楚的一点是&#xff0c;并不是所有版本的Visual Studio都支持.NE…

CF1654F-Minimal String Xoration【倍增】

正题 题目链接:https://www.luogu.com.cn/problem/CF1654F 题目大意 给出一个长度为2n2^n2n的字符串sss&#xff08;下标为0∼2n−10\sim 2^n-10∼2n−1&#xff09; 你要找到一个xxx满足tisixorxt_{i}s_{i\ xor\ x}ti​si xor x​&#xff0c;并且ttt的字典序最小。 1≤n≤…

P3642 [APIO2016]烟火表演(左偏树、函数)

解析 感觉是左偏树的神题了. 首先有一个比较显然的结论&#xff0c;一个合法的方案中&#xff0c;两个叶子到它们 lca\text{lca}lca 的距离必须相等. 考虑设计 dp\text{dp}dp &#xff1a; fi,xf_{i,x}fi,x​ 表示 iii 的子树中&#xff0c;所有叶子到它的距离为 xxx 的最小…

2011年全国大学生程序设计邀请赛(福州)

题号题目考点难度APassword table模拟签到BAxial symmetry计算几何代码题CLog Calculatorjava大数DMaximum Value Problem思维题EAnother Postman Problem思维题FPets二分图匹配模板题GTilingHChecker思维题角度很妙&#xff0c;值得多练练IThe Mad MathematicianJSocial Netwo…