Poj 2002 Squares(二分&&STL)

政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题?.docx 政府科技管理者在推动科技成果转化过程中,如何解决科研成果与市场需求脱节的问题? 立即下载
Squares
Time Limit: 3500MS Memory Limit: 65536K
Total Submissions: 17554 Accepted: 6678

Description

A square is a 4-sided polygon whose sides have equal length and adjacent sides form 90-degree angles. It is also a polygon such that rotating about its centre by 90 degrees gives the same polygon. It is not the only polygon with the latter property, however, as a regular octagon also has this property.

So we all know what a square looks like, but can we find all possible squares that can be formed from a set of stars in a night sky? To make the problem easier, we will assume that the night sky is a 2-dimensional plane, and each star is specified by its x and y coordinates.

Input

The input consists of a number of test cases. Each test case starts with the integer n (1 <= n <= 1000) indicating the number of points to follow. Each of the next n lines specify the x and y coordinates (two integers) of each point. You may assume that the points are distinct and the magnitudes of the coordinates are less than 20000. The input is terminated when n = 0.

Output

For each test case, print on a line the number of squares one can form from the given stars.

Sample Input

4
1 0
0 1
1 1
0 0
9
0 0
1 0
2 0
0 2
1 2
2 2
0 1
1 1
2 1
4
-2 5
3 7
0 0
5 2
0

Sample Output

1
6

1

大意为,给定一些点,问能组成多少正方形(square)

此题用到了,已知两点如何去找正方形的另外两点。

有如下推导:

(图片来源:http://m.blog.youkuaiyun.com/blog/u013480600/39500427)

已知两点,可求他们之间的向量,利用所求的向量充当边,来进行旋转移动此边。看所移动到的边所战有的点是否在原来的点集中。

主要是找到,要找的两个点。则利用上边的推导可得出。(PS:已知向量为 u:(x2-x1,y2-y1)延逆时针转动后为v:(y1-y2,x2-x1),可以利用向量的乘积=0求得 ,

然后,再计算下一个可能有的点dian3=dian2+v)。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;

int n,m;
struct node
{
    int a,b;
} q[1100];

int op(node x,node y )//
{
    if(x.a==y.a)
        return x.b<y.b;
    else
        return x.a<y.a;
}

int main()
{
    int i,j,k;
    while(scanf("%d",&n)!=EOF&&n)
    {
        for(i=0; i<n; i++)
            scanf("%d%d",&q[i].a,&q[i].b);
        sort(q,q+n,op);//先将输入的点进行排序
        int ans=0;
        for(i=0; i<n-1; i++)
        {
            for(j=i+1; j<n; j++)
            {
                node f1,f2;
                f1.a=q[j].a+q[i].b-q[j].b;
                f1.b=q[j].b+q[j].a-q[i].a;
                if(!binary_search(q,q+n,f1,op))
                    continue;
                f2.a=q[i].a+q[i].b-q[j].b;
                f2.b=q[i].b+q[j].a-q[i].a;
                if(!binary_search(q,q+n,f2,op))//求出来了下边的点,不用改变向量,只需要此向量的出发点即可得到另一个点
                    continue;
                ans++;
            }
        }
        printf("%d\n",ans/2);//由于没有考虑顺序问题,所以要除2
    }
}


科技中介服务机构如何实现技术需求的智能挖掘与精准推送?.docx 科技中介服务机构如何实现技术需求的智能挖掘与精准推送? 立即下载

相关推荐

隔离型全桥LLC谐振变化器建模及参数设计资料【仿真+设计报告+计算书】

内容概要:本文档系统性地提供了隔离型全桥LLC谐振变换器的建模与参数设计全套资料,涵盖Simulink、Plecs和PSIM等多种主流仿真平台的实现模型,配套完整的闭环控制设计报告与Mathcad计算书。内容深入聚焦LLC谐振变换器的核心技术环节,包括软开关实现机制、变频与移相混合控制策略、闭环稳定性分析、谐振参数优化设计及软启动过程建模等关键方面。资料不仅包含典型拓扑结构的仿真验证,还整合了多相交错、双向CLLC、恒压恒流双闭环等进阶控制方案,辅以详细的数学推导与工程设计流程,全面支撑从理论分析到实际电源系统开发的全过程。; 适合人群:面向具备电力电子、自动化或电气工程等相关专业背景,从事开关电源、新能源变换系统、高效率DC-DC转换器研发的工程师、高校研究生及科研人员。; 使用场景及目标:① 深入掌握全桥LLC谐振变换器的工作原理与精确建模方法;② 学习并实践基于多平台的闭环控制系统仿真与动态性能优化;③ 借助Mathcad计算书完成实际工程中谐振腔参数、磁性元件与开关频率的系统化设计;④ 支持高水平科研论文撰写、学位课题研究或工业级电源产品的开发与验证。; 阅读建议:建议结合仿真模型、设计报告与计算书三位一体同步研习,重点剖析控制策略的实现逻辑与参数敏感性分析,动手运行并修改仿真文件以深入理解系统动态响应,同时可参照文档中丰富的电力电子拓扑案例进行横向对比与技术拓展。

BNUOJ 弱校联萌十一大决战之强力热身B Carries(二分)

frog has n integers a1,a2,…,an, and she wants to add them pairwise.   Unfortunately, frog is somehow afraid of carries (进位). She defines \emph{hardness} h(x,y) for adding x and y the numb

Grit_ICPC的博客 1103

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的全桥LLC谐振变换器闭环仿真模型,采用变频与移相混合控制策略,实现高效电能转换与系统稳定运行。该模型涵盖主电路建模、闭环控制环路设计、关键参数整定及动态响应分析等核心环节,重点突出通过闭环反馈机制提升输出精度、负载适应能力与系统鲁棒性。同时,模型充分体现了软开关技术(如零电压开关ZVS)的实现原理,有效降低开关损耗,提高电源效率。配套提供的参数设计报告与仿真文件有助于深入理解LLC谐振变换器的工作机理及其在实际工程中的设计流程与优化方法。; 适合人群:适用于电力电子、电气工程及其自动化等相关领域的高校本科生、研究生,以及从事高频开关电源、新能源变换器研发的工程技术人员,具备电路理论基础和Simulink仿真经验者更佳。; 使用场景及目标:①掌握全桥LLC谐振变换器的建模与闭环仿真方法;②深入理解变频控制与移相控制相结合的混合调制策略在高效率电源中的应用优势;③用于科研项目、学位论文或毕业设计中的高性能DC-DC变换器研究;④作为教学案例展示高频软开关电源的动态特性与闭环控制实现方式; 阅读建议:建议结合所提供的设计报告与仿真模型同步操作,逐步调整控制器参数(如PI参数、频率范围、移相角等),观察系统在不同负载与输入条件下的动态响应,从而深化对谐振频率调节、软开关实现条件、闭环稳定性判据等关键技术要点的理解。

POJ 1845 Sumdiv (快速幂+质因数+约数和公式+同余模)

Sumdiv Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 16109   Accepted: 3992 Description Consider two natural numbers A and B. Let S be the sum of all natural

Grit_ICPC的博客 920

基于大模型的围术期谵妄防控系统研究报告

围术期谵妄是一种急性脑功能障碍综合征,通常发生在手术前后一段时间内。患者会出现意识障碍、注意力不集中、认知功能紊乱、睡眠 - 觉醒周期失调等症状,严重者甚至会出现幻觉、妄想和攻击行为 。这种病症不仅会给患者自身带来极大的痛苦,还会对其术后康复产生严重的负面影响。从患者角度来看,围术期谵妄会显著延长患者的住院时间,增加患者的医疗费用负担。有研究表明,发生谵妄的患者住院时间平均比未发生者延长 2 - 3 天。长时间的住院不仅会影响患者的生活质量,还可能导致患者错过最佳的康复时机,影响身体机能的恢复。同时,谵妄还

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1071

MacBook 本地化部署 Dify 指南

dify 怎么安装部署 有哪些坑 !

weixin_44542598的博客 1524

POJ 3258 River Hopscotch(二分求最小中的最大)

Description Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement takes place on a long, straight

Grit_ICPC的博客 810

python采集keep运动数据

我国2009年确立“全民健身日”;2012年,“广泛开展全民健身运动”写入十八大报告;到2014年上升为国家战略,全民健身的分量越来越重。推动全民健身和全民健康深度融合,通过全民健身实现全民健康。 全民健身运动在我国越来越普及,每天清晨和傍晚时分,城市的广场上、公园里,到处是运动健身的人们,跑步、打球、跳舞、游泳、打太极拳等运动项目十分丰富,人们在运动中获得越来越多的幸福感。 随之诞生出了很多运动app,例如keep,咪咕,微信等,大家可以通过app随时记录自己的运动数据,特别是对于很多的减肥人群来说,通过

Z_suger7的博客 5657

HDOJ 5432 Pyramid Split(二分)

题目大意:T组数据,有每组数据有n个椎体,以下2行分别时n个椎体的高和宽. 求解横着切椎体使得切得的所有的椎体上下两部分的体积相同. #include #include #include #include #define LL long long #define esp 1e9 using namespace std; double h[100010],k[100010],v[

Grit_ICPC的博客 687

Latex参考文献中大写字母编译后自动变成了小写,如何保持原字母大写形式

bib文件参考文献中大写自动变为小写,如何保持原大写问题。Latex: 保持参考文献大小写,overleaf文献编译后,原大写字母自动变成了小写字母,如何保持原字母大写

我的个人博客 5806

LangChain实战:用FAISS搭建本地文档问答系统(含Word文件处理避坑指南)

本文详细介绍了如何利用LangChain框架和FAISS向量数据库构建本地化智能文档问答系统,特别针对Word文档处理中的技术难点提供实用解决方案。通过模块化设计、本地化支持和多格式兼容,实现高效文档处理与精准问答,满足企业对数据隐私和安全的需求。

o4p5q6r7s的博客 409

ZOJ Missile 3460 (最大流+二分)

题目大意:给定n,m,t1,t2,v分别代表n个导弹发射器,m个物体,发射前的准备时间t1秒,每个导弹发射器发射后经t2分钟才能分社下一个炮弹,速度为v,然后m+n行为m个物体坐标,n行为导弹发射器的坐标.问最后摧毁所有的目标需要的时间是多少。思路:很明显是最大流的问题。因此还是建图的问题。每个导弹发射器攻击目标可能之前发射了0,1,…m-1次导弹,所以把每个导弹发射器拆成m个,所以共有n*m个发射

Grit_ICPC的博客 669

【漏洞复现】CVE-2024-44902 Thinkphp反序列化漏洞

Thinkphp v6.1.3至v8.0.4版本中存在反序列化漏洞,攻击者可利用此漏洞执行任意代码。

渗透之路,攻防之间皆学问 6709

HDU 2899 Strange fuction(二分||三分)

题目大意:给定一个方程并且给定x的取值范围,什么时候可以求得最小值法一:二分 思路:求x,所以直接二分x对应的F(x)那么就需要求导数的极小值,然后和端点比较就可以。(注意二分区间可以不必在循环里找到一个停止枚举的条件)#include<map> #include<queue> #include<cmath> #include<iostream> #include<cstdio> #include

Grit_ICPC的博客 553

Python爬虫技术应用:体育赛事直播数据抓取与分析

Web爬虫(Web Crawling)是一种通过模拟浏览器行为从网站获取数据的技术。发送请求:发送HTTP请求(通常是GET或POST请求)获取目标网页的HTML内容。解析网页:使用解析工具(如lxml)从HTML中提取出所需要的信息。存储数据:将抓取到的数据存储到数据库、文件或数据结构中,供后续分析和使用。数据分析与展示:使用数据分析工具(如PandasMatplotlib)对数据进行处理、清洗和可视化,生成有价值的报告和图表。Requests:用于发送静态网页的HTTP请求并获取响应。

2201_76125261的博客 1309

37、半导体硅材料中的缺陷与吸杂技术解析

本文系统解析了半导体硅材料中的缺陷形成机制及其对电子器件性能的影响,重点探讨了生长和工艺诱导缺陷、表面与内部微缺陷的起源与特征。文章详细阐述了吸杂技术的原理、过程及在集成电路和太阳能电池制造中的应用,强调通过氧行为调控和热处理优化实现缺陷控制。同时介绍了吸杂效果的评估方法,并展望了未来新型吸杂技术的发展趋势,为提升半导体器件性能和制造良率提供理论支持和技术路径。

mongodb5scout的博客 164

POJ 3273 Monthly Expense (二分最值)

题目大意:在n个连续序列中找到m个分块使得,m块中的最大值(和的max)最小。思路:直接以max(a【i】)为下届,sum(a[0~n])为上界去二分。当分的组数大于m时,应该将当前的mid变大。#include<map> #include<queue> #include<cmath> #include<iostream> #include<cstdio> #include<stack> #incl

Grit_ICPC的博客 534

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Pie POJ 3122(二分找最值)

题目大意:给定n,f分别为Pie的数量和朋友的数量,接下来是Pie的半径,求在每个朋友只能拿一块蛋糕的条件下,能分得的最大体积的Pie是多少。思路:直接二分体积,(PS:注意二分之后枚举区间的移动l=mid,r=mid!不要写成没有精度问题时的l=mid+1,PI=acos(-1.0)). 判断枚举区间的位置依据条件当前的体积可以够多少人分的。 #include<map> #include<queu

Grit_ICPC的博客 530

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ 1064 Cable master(二分-精度)

题目大意:n段电缆,要分为m段,问如何才能分成并且每段等长&&长度>=1思路:二分最大长度,注意有精度问题可以变成整形的。 #include<map> #include<queue> #include<cmath> #include<iostream> #include<cstdio> #include<stack> #include<cstring> #include<algorithm> #de

Grit_ICPC的博客 507

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LightOJ 1138 - Trailing Zeroes (III)(二分&阶乘末尾0的个数)

大意:给定一个数的阶乘的零的个数,输出最小这个数(不是这个数的阶乘)思路:二分枚举这个数的范围判断这个数结成后零的个数。/*#include<map> #include<queue> #include<cmath> #include<iostream> #include<cstdio> #include<stack> #include<cstring> #include<algorithm> #de

Grit_ICPC的博客 504

HDU 4004 The Frog's Games (二分)

题目大衣:给定长度为L,n个石头在河中,至少跳m次。求出青蛙最少能够每次最少跳多少才能过河。思路:二分枚举青蛙的跳越的长度,然后记录当前的步数,和步数上界比较一下即可,注意如果最后一块石头和岸边的距离还是大于当前能够跳的能力的话,就需要枚举右侧。否则减小能力看是否满足。VG$"+y #include<algorithm> #include<cmath> #include<queue> #includ

Grit_ICPC的博客 497

SDUT 2157 Greatest Number (二分) 2010年山东省第一届ACM大学生程序设计竞赛

大意:找出不多于四个数的和是<=m的。思路:二分,我们可以按一个数被用到的次数将他们放到数组里。1.n个数中<=m的数 2.n个数中任意两个数的和<=m的然后暴力0-cnt在其中再找到对应两外0-2个数(对应数组的和)。#include<map> #include<cmath> #include<queue> #include<cmath> #include<string> #include<cs

Grit_ICPC的博客 478

HDU 2141 Can you find it?(二分)

题目大意:有a,b,c三个数,接下来分别代表a,b,c集合中的元素然后又有m行询问,问能不能在a,b,c每行取一个数组成x。思路:肯定是二分,但是注意在二分的时候应该二分a[i]+b[j]的值因为和会有500*500个,然后再在外边套循环,并且要用LL! #include<map> #include<queue> #include<cmath> #include<ios

Grit_ICPC的博客 454

【leetCode-DP】300. 最长上升子序列

给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。 定义dp[i]为截止数组的第i个位置的最长上升序列,定义转移方程: for(int i = 0;i < len-1;i++) { for(...

Grit_ICPC的博客 294
上一篇: Poj 1840 Eqs(哈兮+复杂度)
下一篇: POJ 2442 Sequence (STL优先队列)
Grit_ICPC
博客等级 码龄11年 58粉丝 614原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值