Codeforces 1137E 凸包】的更多相关文章

题意:有一辆火车,初始只有一个车厢,权值为0.有3种操作: 1:在火车头前面加若干辆车 2:在火车车尾加若干辆车 3:每个车的权值加上b + (i - 1) * s,其中i是指这节车厢是从头算的第几个车厢. 每次操作后,询问离火车头最近的权值最小的车厢. 思路:看这篇博客就行了,实现方式比较巧妙. 代码: #include <bits/stdc++.h> #define db long long #define LL long long using namespace std; const i…
题目大意: 要完成两种属性p,q的需求,给定n个双属性物品及其单位个物品中含有的属性,要求选择最少的物品来达成属性需求.(可以选择实数个物品) 题解: 实际上是一种属性混合问题 我们知道对于两种双属性物品,按照一定比例融合 可以配置出的物品的属性在二维平面上的分布一定是一条直线 而这条直线由最初的双属性物品所对应的点坐标所确定 扩展到三个物品,我们发现所有可配置的物品构成了一个三角形 扩展到n个物品,我们发现这n个点构成的凸包内的物品一定都可以配置 所以我们求出凸包来 然后我们从原点想我们的需求…
题目链接:http://codeforces.com/contest/70/problem/D Once a walrus professor Plato asked his programming students to perform the following practical task. The students had to implement such a data structure that would support a convex hull on some set of…
题目链接:http://codeforces.com/problemset/problem/70/D 本题关键:在log(n)的复杂度内判断点在凸包 或 把点插入凸包 判断:平衡树log(n)内选出点所属于的区域 插入:平衡树log(n)内选出点所属于的区域, 与做一般凸包的时候类似,分别以该点向左右两边进行维护, 一直删除不满足凸包的点,直到所有点满足凸包为止. 水平序: 可以用2个平衡树分别维护上下2个半凸包,具体实现时可以把其中一个半凸包按y轴对称以后,那么2个半凸包的维护就是同一种方法,…
地址:http://codeforces.com/problemset/problem/70/D 题目: D. Professor's task time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Once a walrus professor Plato asked his programming students to perf…
题目链接:http://codeforces.com/gym/101350/problems 给定n个墙,每个墙有一个高度,要支持动态修改墙的高度和查询这个“容器”能盛多少水. (队友)观察发现,能盛的水的体积就等于这个容器的“凸包”的体积减去墙的体积.所以要做的就是动态的维护凸包. 由于只有墙上升的操作,所以只需要用一个区间覆盖区间求和的线段树维护每个位置的凸包上界就可以了. 维护凸包的关键在于最大值的位置,具体见代码. #include<bits/stdc++.h> using names…
https://codeforces.com/contest/1143/problem/F 题意 有n条形如\(y=x^2+bx+c\)的抛物线,问有多少条抛物线上方没有其他抛物线的交点 题解 \(y=x^2+bx+c=>y+x^2=bx+c\),转换为点\((x,y+x^2)\)在bx+c的直线上 两个点确定一条抛物线,同时也确定了一条直线 需要选择最上面那些点相邻确定的抛物线,所以维护一个上凸包即可 维护上凸包,当前点在前进方向左边需要向后退,cross(a,b)>=0 代码 #inclu…
Codeforces Round #113 (Div. 2) 题目链接:Polygons You've got another geometrical task. You are given two non-degenerate polygons \(A\) and \(B\) as vertex coordinates. Polygon \(A\) is strictly convex. Polygon \(B\) is an arbitrary polygon without any sel…
求一个多边形是否完全在另一个凸多边形内. 乍一看,好像要判点在多边形内,但复杂度不允许,仔细一想,可以把两个多边形的点混起来求一个共同的凸包,如果共同的凸包依旧是原来凸包上的点,说明是. #include <iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<stdlib.h> #include<vector> #include<cm…
Problem A. AerodynamicsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=86821#problem/A Description Bill is working in a secret laboratory. He is developing missiles for national security projects. Bi…