2020ICPC上海I - Sky Garden
思维
[I-Sky Garden_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)(重现赛)@hzy0227 (nowcoder.com)](https://codeforces.com/gym/103202/problem/I)
题意
有 \(n\;(1<=n<=500)\) 个同心圆,半径分别为 1,2,3 ... n
有 \(m\;(1<=m<=500)\) 条过原点的直线,把一个圆分为大小相同的 2 * m 部分
圆和直线都是路径,路径长为实际的长度,两两路径会有一个交点,求所有两两交点的最短路之和
思路
\(O(1),O(n),O(n^2),O(n^3)\) 都能写,给出一个 \(O(n^2)\) 的做法
特判!!!,当 m > 1 时两个直线会在圆心有交点,而 m = 1 时圆心没有交点
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef std::pair<int, int> PII;
#define ALL(x) x.begin(),x.end()
#define pb push_back
#define fi first
#define se second
// #define double long double
const double PI = acos(-1.0);
inline ll _read() {
static ll ans;
static unsigned int c;
static bool p;
for (c = getchar(); c != '-' && (c < '0' || c > '9'); c = getchar());
if (c == '-') p = false, c = getchar(); else p = true;
for (ans = 0; c <= '9' && c >= '0'; c = getchar()) ans = ans * 10 + c - '0';
return p ? ans :-ans;
}
ll n, m;
double ans;
int main() {
cin >> n >> m;
for (ll r = 1; r <= n; r++)
{
double tmp1 = 0;
ll cnt = n - r;
//外圈除自身和直径
for (ll i = 1; i < m; i++)
{
double a = min((double)r * 2, PI * i * r / m) + 1;
tmp1 += cnt * a + (cnt - 1) * cnt / 2;
}
tmp1 *= 2;
//外圈直径
ll a = 2 * r + 1;
tmp1 += cnt * a + (cnt - 1) * cnt / 2;
//外圈自身
a = 1;
tmp1 += cnt * a + (cnt - 1) * cnt / 2;
tmp1 *= 2 * m;
//同圈除直径
double tmp2 = 0;
for (ll i = 1; i < m; i++)
tmp2 += 2 * m * min((double)r * 2, PI * i * r / m);
//同圈直径
tmp2 += m * 2 * r;
ans += tmp1 + tmp2;
}
if (m > 1)
ans += (n + 1) * n * m;
printf("%.10lf\n", ans);
return 0;
}
2020ICPC上海I - Sky Garden的更多相关文章
- ASE19团队项目beta阶段Backend组 scrum6 记录
本次会议于12月12日,19:30在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Zhikai Chen, Lihao Ran, Xin Kang 请假人员:Hao Wang 每 ...
- ASE19团队项目 beta阶段 model组 scrum7 记录
本次会议于12月10日,19时30分在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...
- ASE19团队项目 beta阶段 model组 scrum6 记录
本次会议于12月9日,19时30分在微软北京西二号楼sky garden召开,持续20分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...
- ASE19团队项目 beta阶段 model组 scrum5 记录
本次会议于12月6日,19时30分在微软北京西二号楼sky garden召开,持续20分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...
- ASE19团队项目 beta阶段 model组 scrum4 记录
本次会议于12月5日,19时30分在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Lei Chai, Linfeng Qi, Xueqing Wu, Yutong Ling (Z ...
- ASE19团队项目 beta阶段 model组 scrum3 记录
本次会议于12月4日,19时30分在微软北京西二号楼sky garden召开,持续20分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Yuto ...
- ASE19团队项目 beta阶段 model组 scrum2 记录
本次会议于12月3日,19时整在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing W ...
- ASE19团队项目 beta阶段 model组 scrum1 记录
本次会议于12月2日,18时30分在微软北京西二号楼sky garden召开,持续25分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing ...
- ASE19团队项目beta阶段Backend组 scrum8 记录
本次会议于12月17日,19:30在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Hao Wang, Lihao Ran, Xin Kang, Zhikai Chen 每个人的工 ...
- ASE19团队项目beta阶段Backend组 scrum7 记录
本次会议于12月13日,19:30在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Hao Wang, Lihao Ran, Xin Kang 请假人员:Zhikai Chen 每 ...
随机推荐
- notepad++ 配置Java 环境
(1)设计新建文件的类型与编码方式: (2)安装插件NppExec (3)插件配置 (4)编辑并配置命令: 找到Advance Options; 在红中找到Java,点击 (5)运行结果查看: (6) ...
- springboot集成xxl-job问题
Client-error:unknown code for readObject at 0x3c (<) 原因之一是classNotFoundRxception :com.caucho.hess ...
- 堆QAQ
L2-012 关于堆的判断 将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: x is the root:x是根结点: x and y are si ...
- CI2454 低成本高性能SOC产品 遥控产品的绝佳选择
Ci2454 是一款集成无线收发器和 8 位 RISC(精简指令集)MCU 的 SOC 芯 片. 无线收发器特性: 工作在 2.4GHz ISM 频段. 调制方式:GFSK/FSK. 数据 ...
- Spring基本概述
Spring是一个开源框架,官方网站是http://spring.io/,Spring是2003年兴起的一个轻量级的Java开发框架,由lnterface21公司的JavaEE专家RodJohnson ...
- NLog日志 富文本编辑器
NLog日志 NLog是什么 NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码.NLog是一个简单灵活的.NET日志记录类库.通过使用NLog,我们 ...
- 抽取JDBC工具类:JDBCUtils
目的:简化书写 分析: 驱动注册,连接对象创建,其中包括输入驱动,数据库的地址,以及用户名和密码,每次编写代码都需要重复编写,如果每次使用的都是同一个账户的同一个数据库,代码的重复读很高,甚至 ...
- spark structured streaming (结构化流) join 操作( 官方文档翻译)
spark 结构化流 join 连接 结构化流支持将流dataset/DataFrame与静态dataset/DataFrame,或者另一个流数据集-DataFrame连接起来.流式连接的结果是增量生 ...
- JAVA集合框架特征介绍
数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵 ...
- 基于MIPI的高性能成像系统
硬件组件Digilent Genesys ZU × 1 (FPGA平台) Digilent PCAM5 × 1 (MIPI摄像头) 软件组件AMD-Xilinx Vivado 设计套件 介绍从简单的嵌 ...