随笔分类 - 数据结构————二分和哈希
POJ 3525 Most Distant Point from the Sea (半平面交向内推进+二分半径)
摘要:题目链接题意 : 给你一个多边形,问你里边能够盛的下的最大的圆的半径是多少。思路 :先二分半径r,半平面交向内推进r。模板题 1 #include 2 #include 3 #include 4 #include 5 const double eps = 1e-10 ; 6 ...
阅读全文
Codeforces Round #262 (Div. 2) A B C
摘要:题目链接A. Vasya and Sockstime limit per test:2 secondsmemory limit per test:256 megabytesinput:standard inputoutput:standard outputVasya hasnpairs of soc...
阅读全文
2014 微软 编程之美初赛第一场 题目3 : 活动中心
摘要:题目链接题目3 : 活动中心时间限制:12000ms单点时限:6000ms内存限制:256MB描述A市是一个高度规划的城市,但是科技高端发达的地方,居民们也不能忘记运动和锻炼,因此城市规划局在设计A市的时候也要考虑为居民们建造一个活动中心,方便居住在A市的居民们能随时开展运动,锻炼强健的身心。城市规...
阅读全文
ZOJ 3603 Draw Something Cheat
摘要:点我看题目题意 : 给你n个字符串,让你找出在每个字符串中出现的字母,按字典序输出来。思路 :一开始想差了,以为记录下每个字符出现次数,然后找次数大于1的,可是我忘了可能在一个字符串中有AA,而另一个字符串中一个A都没有的情况。稍微改一下就是出现过的标记一下次数,然后存到另一个数组里,反正就才26个字母,因为有可能出现我说的A的那种情况,但最后就只能输出一个A,所以每次都比较一下,找出字符串里出现次数最少的。#include #include #include #include #include #include #define INF 99999999using namespace std;
阅读全文
HDU 1025 Constructing Roads In JGShining's Kingdom(DP+二分)
摘要:点我看题目题意 :两条平行线上分别有两种城市的生存,一条线上是贫穷城市,他们每一座城市都刚好只缺乏一种物资,而另一条线上是富有城市,他们每一座城市刚好只富有一种物资,所以要从富有城市出口到贫穷城市,所以要修路,但是不能从富有的修到富有的也不能从贫穷的修到贫穷的,只能从富有的修到贫穷的,但是不允许修交叉路,所以问你最多能修多少条路。题意 :这个题一开始我瞅了好久都没觉得是DP,后来二师兄给讲了一下才恍然大悟。其实就是用到了DP中的那个最长上升子序列,把题中贫穷城市的坐标当成数组的下标,跟其相连的富有城市的坐标当作数组的值,这样的话,因为不能有交叉,所以只能一直往右,这就好比找最长上升子序列,因为
阅读全文
POJ 2892 Tunnel Warfare || HDU 1540(树状数组+二分 || 线段树的单点更新+区间查询)
摘要:点我看题目题意 :N个村子连成一条线,相邻的村子都有直接的地道进行相连,不相连的都由地道间接相连,三个命令,D x,表示x村庄被摧毁,R ,表示最后被摧毁的村庄已经重建了,Q x表示,与x直接或间接相连的村庄有多少个,当然包括他自己。思路 :这是一道用线段树,树状数组,还有STL都可以做的题。。。。...
阅读全文
POJ 3007 Organize Your Train part II(哈希链地址法)
摘要:http://poj.org/problem?id=3007题意 :给你一个字符串,让你无论从什么地方分割,把这个字符串分成两部分s1和s2,然后再求出s3和s4,让你进行组合,看能出来多少种不同的形式。思路 :记得以前的时候就听他们讨论这道题,说是用map做会超时,所以我直接就没用map。。。。但是做这道题实在是太波折了,昨天晚上改了一晚上都不对,就是不知道哪里出了问题,今早上又改,改来改去才知道原来我new node后边缺了个括号,我很懵懂,我记得不用括号也行啊,而且我看到一个AC的代码就是没用括号,但是不加就不对,终于用了链地址法改对了能运行了,交上去因为数组开小了就越界了.......
阅读全文
POJ3122Pie(二分)
摘要:http://poj.org/problem?id=3122题意 :这个题最主要的就是审题要仔细,翻译不要漏句子。题目讲的是我要过生日,要给好友分馅饼(还有自己也想要一块),怕引起不公,所以每个人大小要一样,形状可以不一样,还有一句很重要,就是第一段最后那里,每个人得到的pie应该是馅饼的一块,而不是很多块零零碎碎的那种,因为那样的话就变成求平均值了 。思路:这个理解了题意之后,就猜得到用二分了。表示一开始真的以为是求平均值来着,实际上不是,举个例子,1,2,3,三块馅饼,若每人分得的大小为2,则第一块小于2,丢弃,第二块正好等于2,第三块剩下一个1,丢弃,所以不要理解成求平均值,这个的上下界
阅读全文
POJ1905Expanding Rods(二分)
摘要:http://poj.org/problem?id=1905题意 :在两堵实心墙中间有一根杆,长度为L,然后给它加热,温度是n,则两墙之间的杆会弯曲,长度会变为L'=(1+n*C)*L,求前后两个状态杆的中心位置的距离思路 :一部分几何加上最主要的二分 。这个我发现小优姐写的特别好,分析的也很完美,我就不再多解释了,发一下链接吧http://blog.csdn.net/lyy289065406/article/details/6648562#include#include#include#includeusing namespace std ;const double eps = 1e
阅读全文
POJ3258River Hopscotch(二分)
摘要:http://poj.org/problem?id=3258题意:有一条很长很直的河距离为L,里边有n块石头,不包括起点和终点的那两块石头,奶牛们会从一个石头跳到另外一个,但因为有的石头隔得太近了,所以需要删除m块石头,来增大石头之间的最小距离。求删掉m块石头之后的其中两块石头的最小距离 。思路 :这个题的和3273思路代码都很像,不过这个可能难理解一点,也是二分的思路。#include#include#include#includeusing namespace std ;int main(){ int l,n,m ; while(scanf("%d %d %d",&am
阅读全文
POJ3273Monthly Expense(二分)
摘要:http://poj.org/problem?id=3273题意: 农夫约翰给出了n天的每天花费 ,让你将这n天分成m组,每组中存在的天数必须是连续的,然后让每组里花费的总和尽量的小,最后将花费最大的那个费用输出 。思路 :分在数学计算方法里的这4个题好像都是二分吧,这个题也是用的二分。#include#includeusing namespace std ;int a[110000] ;int main(){ int n ,m; while(scanf("%d %d",&n,&m)!=EOF) { int low = 0,high = 0 ,sum = 0
阅读全文