自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 2019 hdu 多校 M.Code 计算几何判断两个点集的凸包是否相交

hud 6590 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6590 题目大意为,已知的点中,是否存在一条直线将所有的每行输入第三位为-1 和1 的点分开。可转化为两个点集的凸包是否相交。 输入n个点。每个点输入 3个整数 从第3个判断点集合,将所有点集合别存放到vector中,分别求2个点集的凸包,在判断凸包有没有相交即可。 #i...

2020-08-22 10:34:15 449

原创 HDU6701:Make Rounddog Happy 启发式分治 RMQ st表

题意:给定数组a[],求区间个数,满足区间的数各不同,而且满足maxval-len<=K; 思路:一看就可以分治做,对于当前的区间,从max位置分治。 对于这一层,需要高效的统计答案,那么对短的一边开始统计。 (这个过程很像启发式的逆过程,所以叫做启发式分治 1,对于数不同,这个可以预处理前缀和后缀的最大区间长度pre[ ],nex[ ]。 2,st表得到区间最大值位置,然后就可以搞...

2020-08-22 10:33:54 140

原创 hdu6697 Closest Pair of Segments 线段与线段的最小距离

首先最容易想到的就是N2暴力枚举所有线段去找最小值,但是这样会做了许多无用功。我们可以先对线段排序,使得线段最左侧的端点按照x轴y轴排序,然后我们可以限定在这个线段的矩形框内的所有线段才有可能产生最小值,每次查询对于第i条线段的最近距离,如果第j条线段的最左侧点的x与第i条线段的最右侧点的x差值大于ans,那么可以直接break,之后枚举是没有任何意义的,一定会大于ans,所以加了这部分剪枝复杂度...

2020-08-22 10:33:36 354

原创 hdu 6635 Nonsense Time 暴力求最长上升子序列LIS

题意: 现在给你n个随机的成排序的数ai(注意是随机的!),现在他们都是隐藏的,然后再给你一个n的排序bi,每次你要依次把bi这个位置上的数依次显现,问你每次操作之后的最长上升序列数LIS是多少。 做法: 考虑时间倒流,看作一个完整的排列按照一定顺序依次删除每个数,然后每次需要计算LIS 的长度。 首先在 O(n log n) 的时间内求出 L...

2020-08-22 10:33:13 218

原创 半平面交模板,多边形内核面积模板

判断内核 //poj3335 半平面交 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; const double eps = 1e-8; const int maxn = 105; int ...

2020-08-22 10:32:16 111

原创 Poj 2826

An Easy Problem?! Time Limit:1000MS Memory Limit:65536K Total Submissions:7837 Accepted:1145 Description It's raining outside. Farmer Johnson's bull Ben wants some rain to wa...

2020-08-22 10:29:45 135

原创 Removing Stones RMQ st表

题意:给定N,表示N堆石子,每堆石子数为a[],问多少个区间,可以满足“石子总和若为偶数,那么可以两两取来自不同堆的石子,直到取完; 如果为奇数,那么排除其中一个,然后可以两两取来自不同堆的石子,直到取完”。 思路:结论是,如果一个区间的区间和大于等于区间最大值的两倍,则这个区间合法。 考虑分治,我们首先找到区间最大值(为了不重复统计,多个最大值时,统一取最左边的,这个可以ST表示实现),然后考...

2020-08-22 10:29:25 137

原创 几何模板

#include<iostream> #include<cmath> #include<cstdlib> #include<cstring> #include<cstdio> #include<vector> #include<algorithm> #include<bits/stdc++.h> #...

2020-08-22 10:29:01 126

原创 ZOJ 3537 Cake 凸包+区间dp

题意:给出一些点表示多边形顶点的位置(如果多边形是凹多边形就不能切),切多边形时每次只能在顶点和顶点间切,每切一次都有相应的代价。现在已经给出计算代价的公式,问把多边形切成最多个不相交三角形的最小代价是多少。 题目链接:https://vjudge.net/problem/23543/origin #include<bits/stdc++.h> #define ll lon...

2019-08-02 16:12:52 159

原创 hdu 6603 Azshara's deep sea

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6603 题目大意是:给你n个点,g的圆 圆给的是圆心。然后在这n个点求一个凸包,在凸包不相邻的两点并且与圆不相交找到直线。 找到凸包上所有不相交直线的最大数。 这里判断直线和圆的关系使用了面积判断,画个图就知道了。 #include<bits/stdc++.h> #define ...

2019-07-30 10:27:07 193

原创 2019牛客多校 第三场 G.Removing Stones

对于已知长度为n的数组选取一个区间,所有的区间的选法为n*(n+1)/2。 这是我们所有能过选取的区间个数,对于所有点区间我们固定其端点为i为最大,右端点为r,对于不满足的即为ans -= (r-i+1) ,即为区间i-i ,i-i+1,......,i-r。均为不满足的区间。 #include<bits/stdc++.h> using namespace std; ...

2019-07-26 14:52:25 178

原创 hdu 6602 Longest Subarray 尺取法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6602 题目大意为:找一个最大区间,其中区间出现的数的次数大于等于k。 所有我们只需要记录一下每个数出现的次数,在所有的数组中出现小于k次的肯定不在区间内。然后分别枚举区间左右端点,以出现的次数作为优化。 #include<bits/stdc++.h> #define ll l...

2019-07-26 09:45:58 194

原创 hdu 6592 Beauty Of Unimodal Sequence

hdu 6592 Beauty Of Unimodal Sequence 首先前后各跑一遍LIS ,然后即可找到最长的子序列长度和中间值,对于中间值两边的直接选取和用单调栈来实现字典序 #include<bits/stdc++.h> #define ll long long using namespace std; const int inf = 0x3f3f3f...

2019-07-25 10:39:40 242

原创 线性基 求区间异或和最大值

线性基 求区间异或和最大值 http://acm.hdu.edu.cn/showproblem.php?pid=6579 对于ii我们记录[1,i][1,i]每个基底最靠近ii的位置和这个位置的值,然后查询时看rr这个位置记录的每个基底的位置是否大于等于ll,如果大于等于那么[l,r][l,r]内一定有一个位置可以贡献这个基底,然后比较答案大小即可。 本题和https://codeforce...

2019-07-23 16:50:26 1549

原创 2019 hdu多校第一场 D.Vacation

hdu 6581Vacation 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6581 O(n)直接贴代码了 #include<bits/stdc++.h> using namespace std; long long s[100005],l[100005],v[100005]; int main(){ long ...

2019-07-23 10:15:19 159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除