这道题前面给了两个公式,其实仔细分析一下,就会发现其实是给了你一堆点的坐标,然后让你求这些点有多少种组合可以形成共线的情况当两个点在一个坐标上时这两个点可以看做是不同的两个点,也就是说如果两个点在一个坐标上,这两个点也算共线我的这道题的解题思路就是先把每一个点的横坐标按从小到大排好序,然后从第一个点开始遍历,当遍历到一个点的时候,以这个点为起点,再向下遍历,记录这个起点和以后每个点的向量,把这个向量化简到最小,用一个map保存起来,最后通过总共有多少个向量数来计算有多少种共线。

  我们便利在当前点坐标要记住有多上重复的(用cnt),然后在遍历与这一点共线(线的数量sum)的每个点(除重复点的外),然后计算重复点能组成best对+与之共线的点(n)与使点构成的组合数=(2^cnt-n-1)+sum*((2^n-1)*(2^cnt-1)).

注意要用 1long long,2要在结果上mod;

以下是代码:

#include<map>
#include<stdio.h>
#include<string>
#include<iostream>
#include<algorithm>
using namespace std;
#define LL long long
#define N 1010
const int mod =1e9+;
map<pair<int ,int >, int> M;
map<pair<int,int>,int>::iterator it;//迭代器
LL n,cnt;
struct T
{
LL x,y;
} point[N];
LL gcd(LL a,LL b) //最大公约数
{
return b==?a:gcd(b,a%b);  
}
bool cmp(T a,T b)
{
if(a.x==b.x)
return a.y<b.y;
return a.x<b.x;
}
LL sm(LL a, LL b)     //快速幂
{
LL ans = ;
a = a%mod;
while (b > )
{
if (b % == )
ans = (ans*a) % mod;
b = b / ;
a = (a*a) % mod;
}
return ans;
}
int main()
{
LL t,i,j;
LL ans;
cin>>t;
while(t--)
{
ans=;
scanf("%lld",&n);
for(i=; i<n; i++)
{
scanf("%lld%lld",&point[i].x,&point[i].y);
}
sort(point,point+n,cmp);
for(i=; i<n-; i++)
{
M.clear();
cnt=;
for(j=i+; j<n; j++)
{
LL x1=point[j].x-point[i].x;
LL y1=point[j].y-point[i].y;
if(!x1&&!y1)
{
cnt++;
continue;
}
LL s=gcd(x1,y1);
M[make_pair(x1/s,y1/s)]++;
}
if(cnt>)
{
ans%=mod;
ans+=sm(,cnt)--cnt;
}
LL ans1=sm(,cnt)-;
for(it=M.begin(); it!=M.end(); it++)
{
int h=it->second;
ans+=(ans1*(sm(,h)-))%mod;
}
i+=cnt-;
}
printf("%I64d\n",ans%mod);
}
return ;
}

多校hdu5738 寻找的更多相关文章

  1. 第四届西安邮电大学acm-icpc校赛 流浪西邮之寻找火石碎片 多体积条件背包

    题目描述 众所周知,由于木星引力的影响,世界各地的推进发动机都需要进行重启.现在你接到紧急任务,要去收集火石碎片,重启西邮发动机.现在火石碎片已成为了稀缺资源,获得火石碎片需要钱或者需要一定的积分.火 ...

  2. 三校联训 【NOIP模拟】寻找

    题面 “我有个愿望,我希望穿越一切找到你.” 这是个二维平面世界,平面上有n个特殊的果实,我从(0,0)点出发,希望得到尽量多的果实,但是出于某种特殊的原因,我的运动方式只有三种(假设当前我在(x,y ...

  3. HZNU第十二届校赛赛后补题

    愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...

  4. 2017.12.10《“剑锋OI”普及组多校联盟系列赛(14)#Sooke#Kornal 的课余时间 》分析报告

    报告内容如下 - - [导语] ------ 太晚了,时间也紧,一切尽量从简吧 PS:本文题目来自剑锋OI 所以废话也不多说,进入正题吧,代码直接跟在题目后边儿,主要分析在代码前,次要的就写在代码后面 ...

  5. Contest2073 - 湖南多校对抗赛(2015.04.06)

    Contest2073 - 湖南多校对抗赛(2015.04.06) Problem A: (More) Multiplication Time Limit: 1 Sec  Memory Limit:  ...

  6. Contest2071 - 湖南多校对抗赛(2015.03.28)

    Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...

  7. Scrapy爬虫框架之爬取校花网图片

    Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所设 ...

  8. KNY团队与“易校”小程序介绍

    一.团队介绍 “KNY”团队是软件工程专业中的一支充满了斗志,充满了自信的队伍,由三人组成,每个队员都在为我们共同一致的目标而努力:我们三个人的小程序的知识都相对薄弱,但我们不甘落后,一直在努力的学习 ...

  9. 2014哈商大ICPC/ACM校赛解题报告

    被debug邀请去參加校赛,哎,被虐..我对不起工大.. 由于本人不搞ACM,算法处于HelloWorld水准.. 虽然题目除了鸟不拉屎星人之外都非常水,但我能做到这个程度,全然是超水平发挥了.. 数 ...

随机推荐

  1. 如何通过sequel pro导入.sql脚本

    1.参考地址     https://zhidao.baidu.com/question/985373253463808219.html

  2. Android--去除EditText边框,加入下划线

    <span style="font-family: Arial, Helvetica, sans-serif;"><?xml version="1.0& ...

  3. python 引用的含义,尤其注意列表跟字典的使用

    a = '12345'b = aa = 'sssss'print('a ===== %s' % a)print('b ===== %s' % b) 结果: a ===== sssss  b ===== ...

  4. Linux常用命令及Vim使用

    1.ls 命令 --------------------------------------------------------------------- ls以默认方式显示当前目录文件列表 ls - ...

  5. hdu4266(三维凸包模板题)

    /*给出三维空间中的n个顶点,求解由这n个顶点构成的凸包表面的多边形个数. 增量法求解:首先任选4个点形成的一个四面体,然后每次新加一个点,分两种情况: 1> 在凸包内,则可以跳过 2> ...

  6. SharePoint服务器端对象模型 之 使用CAML进行数据查询(Part 2)

    (三)使用SPQuery进行列表查询 1.概述 列表查询主要是指在一个指定的列表(或文档库)中按照某些筛选.排序条件进行查询.列表查询主要使用SPQuery对象,以及SPList的GetItems方法 ...

  7. JavaScript跳出iframe框架

    一.window.top top属性返回最顶层的先辈窗口. 该属性返回对一个顶级窗口的只读引用.如果窗口本身就是一个顶级窗口,top属性存放对窗口自身的引用.如果窗口是一个框架,那么top属性引用包含 ...

  8. VMware下安装CentOS

    开始安装VMware 下载CentOS 7.4 镜像 可以去阿里云的镜像站下载:https://opsx.alibaba.com/mirror 来到主页面,点击centos 选择 7.4 版本 选择镜 ...

  9. mysql用户授权以及权限收回

    语法 GRANT privileges [(columns)] ON DATABASE.TABLE TO 'username'@'hostname' [IDENTIFIED BY [PASSWORD] ...

  10. sql语句备份/导入 mysql数据库或表命令

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/30049851