博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu5032 点和查询分别按极角排序 离线做+树状数组
阅读量:7235 次
发布时间:2019-06-29

本文共 1546 字,大约阅读时间需要 5 分钟。

1 #include
2 #include
3 #include
4 using namespace std; 5 struct jie{ 6 double k; 7 int x,v; 8 }dian[1000005],xian[100005]; 9 long long c[1005],ans[100005];10 bool cmp(jie a,jie b)11 {12 return a.k
0) {18 ret=ret+c[x];19 x-=(x&-x);20 }21 return ret;22 }23 void add(int x,int d)24 {25 while (x<=1000){26 c[x]=c[x]+d;27 x+=(x&-x);28 }29 }30 int main()31 {32 int cnt=0,i,j,T,t,n,A,B,x1,y1,x2,p,d;33 for (i=1;i<=1000;i++)34 for (j=1;j<=1000;j++)35 {36 cnt++;37 dian[cnt].k=1.0*j/i;38 dian[cnt].x=i; dian[cnt].v=j;39 }40 sort(dian+1,dian+cnt+1,cmp);41 scanf("%d",&T);42 for (t=1;t<=T;t++)43 {44 memset(c,0,sizeof(c));45 scanf("%d%d",&A,&B);46 scanf("%d",&n);47 for (i=1;i<=n;i++)48 {49 scanf("%d%d%d",&x1,&y1,&x2);50 xian[i].k=1.0*y1/x1;51 xian[i].x=x2; xian[i].v=i;52 }53 sort(xian+1,xian+n+1,cmp);54 p=1;55 for (i=1;i<=n;i++)56 {57 while (dian[p].k<=xian[i].k&&p<=cnt) {58 d=(dian[p].x+A)*(dian[p].v+B);59 add(dian[p].x,d);60 p++;61 }62 ans[xian[i].v]=sum(xian[i].x);63 }64 printf("Case #%d:\n",t);65 for (i=1;i<=n;i++) printf("%I64d\n",ans[i]);66 }67 }

转载于:https://www.cnblogs.com/xiao-xin/articles/3995409.html

你可能感兴趣的文章
Perl重命名当前目录下的文件
查看>>
Struts+DAO+Hibernate搭建完成!(源码)
查看>>
WPF 附加属性
查看>>
【原创】.NET读写Excel工具Spire.Xls使用(2)Excel文件的控制
查看>>
arm-linux-gcc/ld/objcopy/objdump参数总结【转】
查看>>
20款Web开发者必备的jQuery插件,超赞!
查看>>
fedora live usb创建时的问题
查看>>
MFC 常用控件
查看>>
iOS开发-照片选择
查看>>
Java刷题知识点之泛型概念的提出、什么是泛型、泛型在集合中的应用、泛型类、泛型方法、泛型接口、泛型限定上限、泛型限定下限、 什么时候使用上限?泛型限定通配符的体现...
查看>>
android ANR
查看>>
DotNetNuke中Membership Provider机制
查看>>
银狐云服务架构V0.1
查看>>
sui.js和workflow2.js内容详解
查看>>
如何安装python
查看>>
Android系统手机端抓包方法
查看>>
【Java学习笔记之十三】初探Java面向对象的过程及代码实现
查看>>
【POI xls Java map】使用POI处理xls 抽取出异常信息 --java1.8Group by ---map迭代 -- 设置单元格高度...
查看>>
Ubuntu 14.04 安装VMware 12
查看>>
Hbase多版本的读写(Shell&Java API版)
查看>>