题目很水。睡过了迟到了一个小时,到达战场一看,俩队友AC五个了。。

就只贴我补的几个吧。

B - Breaking Biscuits Gym - 101606B

旋转卡壳模板题。然后敲错了。

代码是另一种做法:对于每条边,枚举两边的所有点到直线的距离,分别取最大值,然后加起来。

#include <bits/stdc++.h>
#define FOPI freopen("in.txt", "r", stdin);
#define FOPO freopen("out.txt", "w", stdout);
using namespace std;
typedef long long LL;
const double esp = 1e-;
const int maxn = + ; struct Point
{
double x, y;
Point() {}
Point(double _x, double _y) { x = _x, y = _y; }
Point operator - (const Point &b) const
{
return Point(x-b.x, y-b.y);
}
double operator * (const Point &b) const
{
return x*b.x + y*b.y;
}
double length() { return hypot(x, y); }
};
typedef Point Vector; double cross(Vector a, Vector b) { return a.x*b.y - a.y*b.x; }
double dist(Point p, Point a, Point b)
{
return cross(p-a, b-a) / (b-a).length();
} Point a[maxn];
int n;
int main()
{
scanf("%d", &n);
for (int i = ; i <= n; i++) scanf("%lf%lf", &a[i].x, &a[i].y); double ans = 1e50;
for (int i = ; i <= n; i++)
for (int j = i+; j <= n; j++)
{
double left = 1e50, right = -1e50;
for (int k = ; k <= n; k++)
{
left = min(left, dist(a[k], a[i], a[j]));
right = max(right, dist(a[k], a[i], a[j]));
}
ans = min(ans, right-left);
} printf("%.7f\n", ans);
}

F - Flipping Coins Gym - 101606F

dp[i][j] 表示 翻了 j 次后,有 i 个正面朝上的概率。

每次翻面一定优先翻反面朝上的硬币。

那么dp[i][j]的概率可以更新 dp[i+1][j+1] 和 dp[i]j+1]。

特别的,对于 i == n, dp[i][j] 更新的是dp[i-1][j+1] 和 dp[i][j+1]

#include <bits/stdc++.h>
using namespace std;
const int maxn = + ; int n, k;
double dp[maxn][maxn]; int main()
{
scanf("%d%d", &n, &k); dp[][] = ;
for (int j = ; j < k; j++)
for (int i = ; i <= n; i++)
{
if (i == n)
{
dp[i-][j+] += 0.5*dp[i][j];
dp[i][j+] += 0.5*dp[i][j];
}
else
{
dp[i+][j+] += 0.5*dp[i][j];
dp[i][j+] += 0.5*dp[i][j];
}
} double ans = ;
for (int i = ; i <= n; i++) ans += dp[i][k] * i; printf("%.7f\n", ans);
}

L - Lizard Lounge Gym - 101606L

对于每一个人求出他和中点的斜率来,然后约分后分类,分别求LIS。

WA了一次是因为求成最长不降升子序列了。估计场上急眼了的话不好查错。

pair还是很好用的。

#include <bits/stdc++.h>
#define FOPI freopen("in.txt", "r", stdin);
#define FOPO freopen("out.txt", "w", stdout);
using namespace std;
typedef long long LL;
const int maxn = 1e6 + ;
typedef pair<int, int> prInt;
typedef pair<double, int> prDouble; int sx, sy;
int n;
int x[maxn], y[maxn];
int k[maxn];
map<prInt, int> M;
vector<prDouble> a[maxn]; int LIS(vector<prDouble> &a)
{
int tot = ;
for (int i = ; i < a.size(); i++)
{
int l = , r = tot, x = -;
while(l <= r)
{
int mid = (l+r)/;
if (k[mid] >= a[i].second) x = mid, r = mid-;
else l = mid+;
}
if (x == -) x = ++tot;
k[x] = a[i].second;
}
return tot;
} int main()
{
scanf("%d%d", &sx, &sy);
scanf("%d", &n);
int cnt = ;
for (int i = ; i <= n; i++)
{
int x, y, h;
scanf("%d%d%d", &x, &y, &h);
x -= sx, y -= sy;
int g = __gcd(abs(x), abs(y));
prInt p = prInt(x/g, y/g);
if (!M.count(p)) M[p] = ++cnt;
a[M[p]].push_back(prDouble(hypot(x, y), h));
} int ans = ;
for (int i = ; i <= cnt; i++)
{
sort(a[i].begin(), a[i].end());
ans += LIS(a[i]);
}
printf("%d\n", ans);
}

2017 United Kingdom and Ireland Programming(Gym - 101606)的更多相关文章

  1. Codeforces Gym101606 A.Alien Sunset (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017) 寒假第一次组队训练赛,和学长一起训练,题目难度是3颗星,我和猪队友写 ...

  2. 2019.04.11 第四次训练 【 2017 United Kingdom and Ireland Programming Contest】

    题目链接:  https://codeforces.com/gym/101606 A: ✅ B: C: ✅ D: ✅ https://blog.csdn.net/Cassie_zkq/article/ ...

  3. [寒假集训第一场]gym101606 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)

    3星场 难度在于英文题面太难读懂了QAQ 看样例猜题意的我 博客园的c++主题真丑 A Alien Sunset \(description\) 有\(n\)个星球,每个星球自转时间不一样,所以一天的 ...

  4. 2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)

    A. Alien Sunset 暴力枚举答案即可. #include<cstdio> int n,i,mx; struct P{ int h,r,t; bool night(int x){ ...

  5. Codeforces Gym101606 C.Cued In (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    C Cued In 这个题是打球的.都忘了写的什么了... 代码: 1 #include<iostream> 2 #include<cstring> 3 #include< ...

  6. Codeforces Gym101606 J.Just A Minim (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    J Just A Minim 超级无敌大水题,但是被精度卡了一手,输出要精确到小数点后6位,我直接输出的... 代码: 1 #include<iostream> 2 #include< ...

  7. Codeforces Gym101606 I.I Work All Day (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    I I Work All Day 这个题就是取模找最小的. 代码: 1 #include<iostream> 2 #include<cstdio> 3 #include< ...

  8. Codeforces Gym101606 E.Education (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    E Education 这个题有点意思,就是找满足条件的最小价格里的最大值的人数,有点贪心的思想吧,一开始写错了,人群的那个不能排序,而且是最小价格里找能住下人最多的部门,让这个部门去住这个房间.在循 ...

  9. Codeforces Gym101606 D.Deranging Hat (2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017))

    D Deranging Hat 这个题简直了,本来想的是冒泡排序然后逆着输出来的,后来发现不对,因为题目上求的是最优解,而且冒泡的话,输出结果有的超出10000行了,所以就是把一开始的,排好序的字母标 ...

随机推荐

  1. Josn转换

    也是搬的,大家勿喷,贴出来只为了自己记忆查找 需要引用 System.Web.Extensions.dll 这个类库 命名空间: System.Web.Script.Serialization 数据结 ...

  2. iOS开发ReactiveCocoa学习笔记(一)

    学习 RAC 我们首先要了解 RAC 都有哪些类 RACSignal RACSubject RACSequence RACMulticastConnection RACCommand 在学习的时候写了 ...

  3. 有关 C# 命名参数和可选参数

    有关 C# 命名参数和可选参数 #1.命名参数: 所谓“命名参数 ( Named Arguments )”,是指方法中定义了一些“有名字”的参数. 给方法参数命名之后,在调用方法时就可以直接根据参数名 ...

  4. koa2实现文件上传服务

    使用方法 方法一: 使用中间介 koa-body 方法二: 自己写个借口去接收数据流并保存 方法三: 使用 koa-body 接受文件,自己写个接口做文件保存或处理等操作 这里简单记录方法三 app. ...

  5. 怎么旋转PDF文件的方向并保存成功

    http://jingyan.baidu.com/article/59a015e39d7802f79488651e.html PDF格式的文档是非常普遍的一种阅读电子书格式,基本上非常好用了,不过有时 ...

  6. 如何在SAP Server Side JavaScript里消费destination

    在SAP云平台里打开SAP HANA Web-Based Development Workbench进行服务器端JavaScript的开发. 创建一个新的package: 创建一个新的applicat ...

  7. World Wind Java开发之十四——添加WMS地图服务资源(转)

    数据是GIS的核心,没有数据一切无从谈起,Internet上有很多在线WMS地图服务资源,我们可以好好利用这些数据资源,比如天地图.必应地图.NASA.OGC数据服务等等. 在我们国家常用的还是天地图 ...

  8. 进程加载与segment

    elf文件是一组结构体和数据的组合. elf文件是一种文件格式,这种格式定义了进程加载器如何读取elf文件的内容. elf文件的程序头或者segment对如何加载(读取)做了说明.

  9. 动态规划专题(四)——单调队列优化DP

    前言 单调队列优化\(DP\)应该还算是比较简单容易理解的吧,像它的升级版斜率优化\(DP\)就显得复杂了许多. 基本式子 单调队列优化\(DP\)的一般式子其实也非常简单: \[f_i=max_{j ...

  10. python_49_三种编程方式及面向过程与面向函数区别.py

    ''' 三种编程方式:1.面向对象 (类:class)2.面向过程 (过程:def)3.函数式编程(函数:def) 编程语言中函数的定义:函数是逻辑结构化和过程化的一种编程方法 过程与函数的区别,过程 ...