题意: 给你n个点,m个横着的线段.你能够横移这些线段,可是这些线段的相对位置不能改变.假设一个点,在它的正上方和和正下方都有线段(包含线段的终点).则这个点被视为被"屏蔽".问通过随意平移我们能够遮住最多的点的数量. 解题思路: 首先把全部的点向右平移1000000个单位.然后那些线段位置不变,我们開始平移这些点,这样我们保证点向左移动的距离肯定是一个正数,方便处理. 这样我们仅仅要求出每一个点向左移动的距离后能够满足题目条件的集合W.然后在求出某个距离值在全部的集合中出现最多次数的…
Summer WarsTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=88994#problem/J Description The mafia is finally resting after a year of hard work and not so much money. Mafianca, the little mascot of the…
题意: n 只哥布林,每只哥布林都有一个位置坐标. m 个炮台,每个炮台都有一个位置坐标和一个攻击半径. 如果一个哥布林在任何一个炮台的攻击范围内,都会被杀死. 求最后没有被杀死的哥布林的数量. 这题暴力加一些小小的优化可以爆过去...然后场上并不敢试. 标算是扫描线.炮台攻击范围内的每个横坐标都拉一个扫描线,把线的两端的点和哥布林的点一起加进一个数组. 然后排序,就会发现能被杀死的哥布林的点在一根线的两个端点之间. 直接扫一遍统计答案就可以了.注意存点的数组要开够. 另外就是...排序的时候…
题意: 给你一个串,问你他的每个前缀的最小重复单元,其中单元是可以重叠的,最后按顺序输出即可.比如样例中abaabaa的最小重复单元为abaa,所以相应输出为4. 样例: input : abaabaababa output:1 2 3 4 5 3 4 5 3 10 3 kmp过程就不用多说了,现在我们利用next数组的性质来对问题进行求解. 我们首先用一个ans[maxn]数组来记录最后的答案,且我们的字符串下标从0开始,显然,我们ans[i]的最大值为i+1,我们因此也用此值对其进行初始化.…
[CERC2017]Intrinsic Interval https://www.luogu.org/blog/ywycasm/solution-p4747# 这种“好的区间”,见得还是比较多的了. mx-mi=r-l 比较经典的题是统计这样的区间个数.可以分治+大力分类讨论mx,mi的位置 但是这个题是一个询问. 先观察一些显而易见的性质: 1.好的区间的交也是好的区间 2.好的区间的并也是好的区间 所以,考虑对于一个询问,如果往后固定r找到了一个[L,R]的L左边最靠后的l,使得[l,r]是…
这题如果用二维树状数组,则会直接爆内存. 那么可以运用扫描线的思路. 就是,它同时被x和y限制了,那么可以在查询的时候,确保x先满足了,(把x按小到大排序) 然后就相当于是关于y的一个一维bit了, 注意同一个点它询问两次. 82 21 11 21 31 41 52 10 121 1 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <al…
题目分析:本题开始一直在考虑如何将每一个节点通过一种合适的数据结构存储起来(一对多的关系),最后发现借助并查集的思想可以用一个数组p,p[i]存放i节点的父节点,每次查询编号为i的节点属于第几层且判断是否有以该点位父元素的节点(判断该点是否为叶子节点,是则floor[对应层数]++)由于本题的图不存在环路,则借助这个p数组则能十分巧妙将整棵树存储下来,本题还借助了vis[]数组存放某个节点是否出现过(因为N个节点并不一定是有序出现的),mat数组存放下标为i时是否是叶子节点,floor[]数组i…
Walk in the Park 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2222 Descriptionww.co You are responsible for inspecting the trees located in a park, to make sure they remain health…
Weird Advertisement Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=18802 Description 2DPlaneLand is a land just like a huge 2D plane. The range of X axis is 0 to 109 and the range ofY axis…
简要题意:二维平面上n个点,点之间有一些连线,连线不在点之外的地方相交,将平面分为若干个区域.给出一些询问点对,问从这个点所在的区域走到另一个点所在的区域的最小代价. 题解:这道题首先可以把平面图转对偶图,这一点比较容易发现.然后对于从左指向右的线段,运用扫描线的思想,扫到左端点加入平衡树,扫到右端点从平衡树中删除.因为两线互不相交,所以相对位置不变.然后建立平面直角坐标系,y轴可以随意左右平移.对于每一条线段,我们使右端点正好在y轴上,然后选择两线段左端点x坐标比较大的作为比较直线,计算这条直…