训练20191009 2018-2019 ACM-ICPC, Asia East Continent Finals
2018-2019 ACM-ICPC, Asia East Continent Finals
总体情况
本次训练共3小时20分钟,通过题数4。
解题报告
D. Deja vu of … Go Players
题意
\(A,B\)博弈,\(A\)有\(N\)堆石子,第\(i\)堆数量\(a_i\); \(B\)有\(M\)堆石子,第\(i\)堆数量\(b_i\)。每次每个人可以从自己拥有的石子堆中选取任意一堆并拿走任意正整数个石子。先拿完的人赢。求胜负情况。$N,M \leq 100, $ $a_i,b_i \leq 10^9, $ \(T \leq 100\)
题解
很显然贪心跑得快,只和堆数有关。根据\(N,M\)的大小关系决定胜负。
L. Eventual … Journey
题意
有\(n\)个点,\(m\)条双向边长度都是\(1\),同时点被分为两类,每类点可以花费\(1\)的代价到任何一个自己同类的点。对所有\(i\),求
\]
数据范围\(n,m \leq 10^5\)
题解
我们设\(d_i\)为点\(i\)与不同于自己类别的点直接相连的数量。设\(a_i\)为点\(i\)的类别,取值\(0\)或\(1\)。设\(s_i\)为第\(i\)类点的数量。设\(c_i\)为第\(i\)类点中有多少个点与另一类点有边直接相连。
对于任意的\(i\),如果
- \(d_i > 0\),那么显然点\(i\)可以花费\(1\)的代价到任何一个自己同类的点,以及任何一个与自己直接相连的不同类的点,其余的点代价为\(2\),于是答案为
\]
- \(d_i = 0\),那么显然点\(i\)可以花费\(1\)的代价到任何一个与自己同类的点,花费\(2\)的代价到另一类点中与\(i\)所在类别点集有边直接相连的点,花费\(3\)的代价到其余的点。于是答案为
\]
时间复杂度 \(O(n+m)\)
F. Interstellar … Fantasy
题意
给出三维欧几里得空间中两个点的坐标,求不经过一个给定球体的最短路长。
题解
稍作思考,发现如果两点连线段与球体不相交则为线段长,若相交,则答案必然为两线段和一弧的和。保留原来的线段并不是最优解,很容易发现,当两线段与球相切时最优。更准确地,整条路经一定在给定三个点确定的平面上,并且平面与球交出的圆与两条线段相切时就是最优解。
利用点积叉积和矢量定比分点讨论一下即可。
P3 delt=p-q;
db len=delt.abs();
db d=(cross(p-c,q-c).abs())/(len);
if(d<r) {
db d1=(p-c).abs(), d2=(q-c).abs();
db l1=sqrt(d1*d1-r*r), l2=sqrt(d2*d2-r*r);
db theta = acos(dot(p-c,q-c)/(d1*d2)) - acos(r/d1) - acos(r/d2);
if(abs(((sqrt(d1*d1-d*d)+sqrt(d2*d2-d*d)))*d - (cross(p-c,q-c).abs()) ) < 1e-5) {
if(d<1e-5) {
if(dot(p-c,q-c)>0) cout<<setiosflags(ios::fixed)<<setprecision(10)<<len<<endl;
else cout<<setiosflags(ios::fixed)<<setprecision(10)<<r*theta + l1 + l2<<endl;
}
else cout<<setiosflags(ios::fixed)<<setprecision(10)<<r*theta + l1 + l2<<endl;
}
else cout<<setiosflags(ios::fixed)<<setprecision(10)<<len<<endl;
}
else cout<<setiosflags(ios::fixed)<<setprecision(10)<<len<<endl;
训练20191009 2018-2019 ACM-ICPC, Asia East Continent Finals的更多相关文章
- 2019 ACM/ICPC Asia Regional shanxia D Miku and Generals (二分图黑白染色+01背包)
Miku is matchless in the world!” As everyone knows, Nakano Miku is interested in Japanese generals, ...
- 2018-2019 ACM-ICPC, Asia East Continent Finals I. Misunderstood … Missing(dp)
题目链接: http://codeforces.com/gym/102056/problem/I 题意: 人物有l两个属性分别是$A,D$ 每个回合人物$A\pm D$ 每个回合有三个选择分别是: 1 ...
- 2018-2019 ACM-ICPC, Asia East Continent Finals部分题解
C:显然每p2个数会有一个0循环,其中22 32 52 72的循环会在200个数中出现,找到p2循环的位置就可以知道首位在模p2意义下是多少,并且循环位置几乎是唯一的(对72不满足但可能的位置也很少) ...
- 2018-2019 ACM-ICPC, Asia East Continent Finals Solution
D. Deja vu of … Go Players 签. #include <bits/stdc++.h> using namespace std; int t, n, m; int m ...
- 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp
QSC and Master Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online
Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...
- (二叉树)Elven Postman -- HDU -- 54444(2015 ACM/ICPC Asia Regional Changchun Online)
http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limit: 1500/1000 MS (Java/Others) ...
- 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】
Elven Postman Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...
随机推荐
- CVE-2019-1388 Windows UAC提权
漏洞简述 该漏洞位于Windows的UAC(User Account Control,用户账户控制)机制中.默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示——Secure Desk ...
- List和DataTable互转
/// <summary> /// List和DataTable互转 /// </summary> static class ListUtility { /// <sum ...
- C#中System.ServiceProgress报错
场景 在C#中检索本地计算机所有服务时,使用 System.ServiceProcess.ServiceController[] services = System.ServiceProcess.Se ...
- HDU1070 - Milk
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1070 解题思路:主要考察C结构体排序. #include <bits/stdc++.h> ...
- Docke-ce 安装
Docker-ce 的安装 安装系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 添加docker镜像源 yum-con ...
- Java第二节课总结
Java的基本运行单位是类.类由数据成员和函数成员组成.变量的类型之间可以相互转换.String是一个类.static代表静态变量. 运行结果: false false ...
- 程序里面带有浮点数,默认会自动转换为double类型存储
带有浮点数,默认会转换为double类型存储. #include "common.h" #include <stdio.h> #include <stdlib.h ...
- jQuery中校验时间格式的正则表达式小结
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- C# WPF计算器界面(Calculator Design With Animations)
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- 1、微服务--为什么有consul,consul注册,心跳检测,服务发现
一.为什么有consul? 在微服务,每1个服务都是集群式的,订单服务在10台服务器上都有,那么用户的请求到达,获取哪台服务器的订单服务呢?如果10台中的有的订单服务挂了怎么办?10台服务器扛不住了, ...