题目链接:hdu_5738_Eureka

题意:

这题感觉说不清楚,坑点有点坑,一不小心就会推出错误的公式,然后最重要的是你还不知道你推错了

题解:

这里贴一个官方的题解

Eureka

xjb推导一下可以知道best set一定是一些共线的点, 于是问题变成问有多少个子集共线. 首先, 把所有点按照(x,y)(x,y)双关键字排序, 然后枚举最左边的点ii, 那么其他点jj一定满足j > ij>i. 把在这个点右边的点都做下极角排序(按照\frac{1}{gcd(dx, dy)}(dx, dy)​gcd(dx,dy)​​1​​(dx,dy)排序), 统计下共线的就好了. 需要注意下对重点的处理.

我没有排序,用的Hash来统计直线

 #include<cstdio>
#include<cstring>
#include<algorithm>
#define F(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
typedef long long LL;
int t,n,mod=1e9+;
const int M=(<<)-,N=1e3+;
struct E{int a,b,cnt;E *nxt;}*g[M+],pool[N],*cur=pool;int vis[M+],T;
void init_Hash(){T++,cur=pool;}
inline void ins(int a,int b,int cnt,E *p=NULL){
int u=(a*+b)&M;
if(vis[u]<T)vis[u]=T,g[u]=NULL;
for(p=g[u];p;p=p->nxt)if(p->a==a&&p->b==b){p->cnt+=cnt;return;}
p=cur++,p->a=a,p->b=b,p->cnt=cnt,p->nxt=g[u],g[u]=p;
}
struct point{int x,y;}p[];
int pw[];
int main(){
int t;
scanf("%d",&t);
pw[]=;
F(i,,)pw[i]=(pw[i-]<<)%mod;
while(t--){
scanf("%d",&n);
F(i,,n)scanf("%d%d",&p[i].x,&p[i].y);
LL ans=;
F(i,,n-){
int ct=;
init_Hash();
F(j,i+,n){
if(p[i].x==p[j].x&&p[i].y==p[j].y)ct++;
else{
int ax=p[i].x-p[j].x,ay=p[i].y-p[j].y,gd=__gcd(abs(ax),abs(ay));
ax/=gd,ay/=gd;
if(ax<)ax=-ax,ay=-ay;
if(ax==||ay==)if(ax==)ay=;else ax=;
ins(ax,ay,);
}
}
int seg=;
F(j,,M)if(vis[j]==T)
for(E *p=g[j];p;p=p->nxt)ans=(ans+pw[p->cnt+ct]-)%mod,seg++;
ans-=(1LL*(seg-)*(pw[ct]-))%mod;
ans=(ans+mod)%mod;
}
ans=(ans+mod)%mod;
printf("%lld\n",ans);
}
return ;
}

hdu_5738_Eureka(脑洞)的更多相关文章

  1. PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题

    本人刚参加PHP基础班培训第一天,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在 ...

  2. 「脑洞」图片转HTML(支持动画)

    也许是受到很久以前看到的这玩意儿的原因:The Shapes of CSS 现在开脑洞写了个自动转换,顺便支持了动画……嗯,纯 CSS (:з」∠) 主要步骤就是用 Python 读图片,然后把像素全 ...

  3. 【BZOJ-4592】脑洞治疗仪 线段树

    4592: [Shoi2015]脑洞治疗仪 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 69  Solved: 38[Submit][Status] ...

  4. 图论(KM算法,脑洞题):HNOI 2014 画框(frame)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABPoAAANFCAIAAABtIwXVAAAgAElEQVR4nOydeVxTV/r/n9ertaJEC4

  5. BCTF Web Code–考脑洞,你能过么?

    BCTF Web Code–考脑洞,你能过么? 1)打开链接,是一张图片 根据URL特点推断可能是有文件包含漏洞 2) 将jpg参数修改成index.php,查看源代码,发现base64编码后的代码 ...

  6. UVA1103-Ancient Messages(脑洞+dfs)

    Problem UVA1103-Ancient Messages Accept: 1176  Submit: 6103 Time Limit: 3000 mSec Problem Descriptio ...

  7. 【题解】Luogu P4344 [SHOI2015]脑洞治疗仪

    原题传送门:P4344 [SHOI2015]脑洞治疗仪 前置芝士:珂朵莉树 窝博客里对珂朵莉树的介绍 没什么好说的自己看看吧 珂朵莉树好题啊 我一开始一直Re65 后来重构代码就ac了,或许是rp问题 ...

  8. hdu 5308 (2015多校第二场第9题)脑洞模拟题,无语

    题目链接:http://acm.hdu.edu.cn/listproblem.php?vol=44 题意:给你n个n,如果能在n-1次运算之后(加减乘除)结果为24的输出n-1次运算的过程,如果不能输 ...

  9. 【BZOJ4592】[Shoi2015]脑洞治疗仪 线段树

    [BZOJ4592][Shoi2015]脑洞治疗仪 Description 曾经发明了自动刷题机的发明家SHTSC又公开了他的新发明:脑洞治疗仪--一种可以治疗他因为发明而日益增大的脑洞的神秘装置. ...

随机推荐

  1. AccessToMySql数据库的导入以及java生成.exe文件

    一.AccessToMySql 最近做了一个Access数据库导入MySql的小工具,期间遇到诸多问题,这里小计一下. 表名为cur_rec,共有5个字段 比较奇葩的是这个表居然是四个字段的联合主键, ...

  2. ios压缩图片

    /** *  压缩图片到指定文件大小 * *  @param image 目标图片 *  @param size  目标大小(最大值) * *  @return 返回的图片文件 */ - (NSDat ...

  3. 有关webapplicationcontext的初始化

    ApplicationContext是Spring的核心,Context我们通常解释为上下文环境,我想用“容器”来表述它更容易理解一些,ApplicationContext则是“应用的容器”了:在We ...

  4. Python基础学习笔记---5.输入\输出 I\O文件操作目录

    在很多时候,你会想要让你的程序与用户(可能是你自己)交互.你会从用户那里得到输入,然后打印一些结果.我们可以分别使用 raw_input 和 print 语句来完成这些功能.对于输出,你也可以使用多种 ...

  5. Ajax应用-Ajax传输JSON数据实例

    ———————————————————— <script type="text/javascript">            var client;          ...

  6. LeetCode OJ 199. Binary Tree Right Side View

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  7. Anaroid WebView详解大全

    资源描述: 1.android提供了webView控件专门用来浏览网页.然后在程序中装载webView控件,设置属性,比如:颜色.字体.要访问的网址等.通过loadUrl方法设置当前webView需要 ...

  8. bind启动时提示953端口被使用

    部署DNS的时候遇到个奇葩的问题,总是提示 couldn't add command channel 0.0.0.0#953: address in use 实际上系统上并没有进程使用953端口.查询 ...

  9. nginx proxy优化

    常用优化要点 当nginx用于反向代理时,每个客户端将使用两个连接: 一个用于响应客户端的请求,另一个用于到后端的访问: 如果机器是两核CPU,例如: 1 2 $ grep ^proces /proc ...

  10. JQuery获取input type="text"中的值的各种方式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...