HDU6127 Hard challenge 极角排序|暴力
来源:互联网 发布:新生分班软件 编辑:程序博客网 时间:2024/06/06 06:56
题目链接:HDU6127
题目大意:给你n个点,坐标X,Y,权值val,要求用一条过原点的直线将这些点分成左右两部分,任意两点的权值等于两点的权值乘积,问最大可划分出来的权值为?
题目思路:将所有点按照斜率排序,然后扫一圈即可,说着可能有点抽象,动手画一下图就明白了。每条直线左右点的权值=左边点权值和*右边点权值和。
代码参考:大佬的 代码
AC代码:
/*HDU61272017年8月16日09:59:39极角排序,暴力求解AC */#include <iostream>#include <map>#include <set>#include <string>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <queue>#define PI (acos(-1.0))using namespace std;typedef long long ll;const int maxn=5e4+50;const double eps=1e-8;int dcmp(double x){if(fabs(x)<eps) return 0;return x>0 ? 1 : -1;}struct node{int x,y,val;double theta;bool operator <(const node& b)const{return theta<b.theta;}}a[maxn];int main(){int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);for(int i=1;i<=n;i++){//scanf("%lf%lf%lf",&a[i].x,&a[i].y,&a[i].val);scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].val);if(a[i].x==0) a[i].theta=PI/2.0;//在Y轴上的点else a[i].theta=atan(1.0*a[i].y/(1.0*a[i].x)); } sort(a+1,a+1+n);ll rsum=0,lsum=0;for(int i=1;i<=n;i++){if(a[i].x>0) rsum+=a[i].val;else lsum+=a[i].val;}ll ans=lsum*rsum;for(int i=1;i<=n;i++){if(a[i].x>=0){lsum+=a[i].val;rsum-=a[i].val;}else{lsum-=a[i].val;rsum+=a[i].val;}ans=max(ans,lsum*rsum);}printf("%lld\n",ans);}return 0;}
阅读全文
0 0
- HDU6127 Hard challenge 极角排序|暴力
- hdu6127-!!多校7&极角排序&问题转化-Hard challenge
- hdu6127 Hard challenge 2017多校第七场1008 计算几何 极角排序+双指针
- hdu6127 Hard challenge
- HDU6127-Hard challenge
- hdu6127 Hard challenge
- Hard challenge(HDU6127)
- HDU6127-Hard challenge
- HDU6127-Hard challenge
- HDU6127-Hard challenge
- HDU6127 Hard challenge【几何】
- Hard challenge(hdu6127)
- HDU6127 Hard challenge[计算几何]
- HDU6127(极角排序)
- HDU 6127 Hard challenge【极角排序】
- Hdu6127 Hard challenge(2017多校第7场)
- HDU 6127 Hard challenge(极角排序+模拟)
- HDU 6127 Hard challenge(极角排序+枚举点)
- 代理模式之静态代理
- 微信小程序开发--表单验证
- java中使用json(org.json)
- 有关析构函数和构造函数的几点说明
- HDU6130 Kolakoski(模拟,2017 HDU多校联赛 第7场)
- HDU6127 Hard challenge 极角排序|暴力
- git用法
- JSP页面生成年份下拉框
- AS1.5升级AS2.23后无法正常编译APP到真机
- CSS之flexbox
- golang日志库
- C++调试传入参数
- 文本转化工具dos2unix
- 机器学习算法(二)-随机森林