CF333E Summer Earnings
一、题目
点此看题
二、解法
一道巧用bitsetbitsetbitset的题,如果要用bitsetbitsetbitset优化,那么可能就是把关键问题转化为010101运算。
从大到小枚举两点之间的距离当做答案(当做边),我们要看是否有一个点满足到这两个点的距离不小于这个距离,把以前枚举的边构建一个邻接矩阵,那么我们要看uuu行和vvv行是否有同为111的,就可以用bitsetbitsetbitset判断。
#include <cstdio>
#include <bitset>
#include <algorithm>
#include <cmath>
using namespace std;
const int M = 3005;
int read()
{int x=0,f=1;char c;while((c=getchar())<'0' || c>'9') {if(c=='-') f=-1;}while(c>='0' && c<='9') {x=(x<<3)+(x<<1)+(c^48);c=getchar();}return x*f;
}
int n,m,ans,x[M],y[M];
bitset<M> bit[M];
struct node
{int u,v,d;bool operator < (const node &b) const{return d<b.d;}
}a[M*M];
int cal(int i,int j)
{return (x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]);
}
signed main()
{n=read();for(int i=1;i<=n;i++)x[i]=read(),y[i]=read();for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)a[++m]=node{i,j,cal(i,j)};sort(a+1,a+1+m);for(int i=m;i>=1;i--){int u=a[i].u,v=a[i].v;bitset<M> t=bit[u]&bit[v];if(t.any()) ans=max(ans,a[i].d);bit[u][v]=bit[v][u]=1;}printf("%.6lf\n",sqrt(ans/4.0));
}
CF333E Summer Earnings相关推荐
- How Nokia both helped and hindered Microsoft's earnings
How Nokia both helped and hindered Microsoft's earnings 诺基亚如何既帮助又阻碍了微软的利益 The Nokia Devices and Serv ...
- 定义留存收益科目(Retained Earnings Account)
定义留存收益科目(Retained Earnings Account) 一.说明 模块:FI. 在SAP系统中,科目表的留存收益科目(RetainedEarningsAccount)需要在维护总帐科目 ...
- 101Echarts - 地理坐标/地图(Prices and Earnings 2012)
效果图 源代码 var geoCoordMap = {"Amsterdam": [4.895168,52.370216],"Athens": [-83.3575 ...
- 要求有一个 abstract 类,类名为 Employee。Employee 类有一个 abstract 方法:public abstract double earnings();
要求有一个 abstract 类,类名为 Employee.Employee 的子类有 YearWorker.MonthWorker.WeekWorker.YearWorker 对象按年领取薪水,Mo ...
- CF 333E Summer Earnings
题目: Summer Earnings ,哈哈,我们今天来看一道稍微复杂一点的题嘛,这是选自codeforce上的一道题,好了,我们一起来看看题意吧: 题目描述是复制的,可能有部分显示不对,我就把题目 ...
- keras 的 example 文件 reuters_mlp.py 解析
该文件是一个文本分类的示例, 数据集采用路透社的新闻,我们可以把其内容解析一下: word_index = reuters.get_word_index() word_index = {k: (v + ...
- ios开发趋势_2020年将成为iOS应用开发的主要趋势
ios开发趋势 Technology has always brought something new with time. And with these ever-changing technolo ...
- 安卓收取费用_作为自由职业者应收取的费用:以价值为基础的定价是否能达到炒作的目的?...
安卓收取费用 by Benek Lisefski 由Benek Lisefski 作为自由职业者应收取的费用:以价值为基础的定价是否能达到炒作的目的? (What to charge as a fre ...
- 过度沉思_从沉思到演出:我如何开始我的自由职业
过度沉思 by Ashley MacWhirter 作者:Ashley MacWhirter 从沉思到演出:我如何开始我的自由职业 (From grit to gigs: how I started ...
最新文章
- Android -- Fragment注意事项
- getRotationMatrix2D 函数
- Delphi - 我的代码之窗体移动
- bzoj3218: a + b Problem
- CentOS 7下使用Gitolite搭建Git私服
- PHP 7.3声称速度比PHP 5快3倍还多,值得更新了!
- 微信公众号中的消息类型
- web04--cookie
- 选课_ctsc1997_ssl1606_树形dp
- 手把手带你深入解析静态分派 动态分派原理 | 原力计划
- Python 紧急修复远程代码执行漏洞
- html页面自动登录,抓取网页时自动登录和自动输入验证码
- php网页背景音乐代码,HTML5背景音乐播放器代码
- SiteMesh详解
- 图文介绍:Winhex的使用教程
- 维修计算机小能人,电脑小能人作文「精选」
- 练习1(华为交换机忘记console口密码)
- 【吃瓜教程】周志华机器学习西瓜书第三章答案
- Elasticsearch-分布式搜索引擎介绍
- ThreadLocal 源码深析及使用示例