上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 39 下一页
  2013年11月7日
摘要: http://poj.org/problem?id=3122题意 :这个题最主要的就是审题要仔细,翻译不要漏句子。题目讲的是我要过生日,要给好友分馅饼(还有自己也想要一块),怕引起不公,所以每个人大小要一样,形状可以不一样,还有一句很重要,就是第一段最后那里,每个人得到的pie应该是馅饼的一块,而不是很多块零零碎碎的那种,因为那样的话就变成求平均值了 。思路:这个理解了题意之后,就猜得到用二分了。表示一开始真的以为是求平均值来着,实际上不是,举个例子,1,2,3,三块馅饼,若每人分得的大小为2,则第一块小于2,丢弃,第二块正好等于2,第三块剩下一个1,丢弃,所以不要理解成求平均值,这个的上下界 阅读全文
posted @ 2013-11-07 00:58 枫、 阅读(327) 评论(1) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-11-07 00:12 枫、 阅读(164) 评论(0) 推荐(0) 编辑
  2013年11月5日
摘要: 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 阅读全文
posted @ 2013-11-05 21:51 枫、 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 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 阅读全文
posted @ 2013-11-05 17:08 枫、 阅读(185) 评论(0) 推荐(0) 编辑
  2013年11月3日
摘要: http://poj.org/problem?id=1002题意:是说很多公司用了容易记住的电话号码,例如有英文字母的或者是用了很多连字符或没有连字符的。每个电话号码都有标准模式,而为了统计有没有重复的电话号码,就要统计有多少的电话号码是重复的,只要是有重复的就输出他的标准模式,如果所有的字符串都没有重复的,就输出No duplicates.思路:这个题就用了普通的枚举,用的是cin输入的,结果是超时了,后来改成scanf就A了。这个题还可以用map去做,以及在排序的时候转换成整型会省更多的时间,后两种方法,第一种方法用时1454ms,第三种方法用时574ms,至于map我还没写,夜实在是深了 阅读全文
posted @ 2013-11-03 01:02 枫、 阅读(190) 评论(0) 推荐(0) 编辑
  2013年11月2日
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3123题意:!代表阶乘,0的阶乘为1,求(0! + 1! + 2! + 3! + 4! + ... + n!)%m的结果。思路:一开始想的复杂了,因为题中n的范围太大了,所以想用大数乘法来着,结果因为阶乘的和还要加起来取余,所以以为还要大数加,再来一个n(a + b) % p = (a % p + b % p) % p这个公式就差不多了,但是想的太多了,真的很复杂,其实没有那么复杂,就是判断一下n和m 的大小,因为如果n比m大的话,从m!+(m+1)!....n!这一些对m取余都是0,所以就不需考虑了,而剩下 阅读全文
posted @ 2013-11-02 20:07 枫、 阅读(300) 评论(0) 推荐(0) 编辑
  2013年10月31日
摘要: http://poj.org/problem?id=2031题意:你是空间站的一员,太空里有很多球形且体积不一的“小房间”,房间可能相距不近,也可能是接触或者甚至是重叠关系,所有的房间都必须相连,这样的话宇航员才能从这个房间走到另一个房间,而宇航员从一个房间走到另一个房间,只要满足三个条件中的一个即可:1两个房间是接触的,2两个房间是重叠的,3两个房间之间有走廊相连。也因此若是没有接触的两个小房间就要有走廊连接,忽略走廊的宽度,花费与长度成正比,所以当然是花费越少越好,而球与球之间的距离只接触到两球的表面即可,因为两球的表面相距最近,因此你的工作就是算给出的几个小房间中要达到相连的状态需花费的 阅读全文
posted @ 2013-10-31 23:38 枫、 阅读(536) 评论(0) 推荐(0) 编辑
  2013年10月29日
摘要: 题意:输入很多字符串,以星号结束。判断每个字符串是不是“Surprising Strings”,判断方法是:以“ZGBG”为例,“0-pairs”是ZG,GB,BG,这三个子串不相同,所以是“0-unique”,“1-pairs”是ZB,GG,这两个也是不同的,所以是“1-unique”,“2-pairs”是ZG,所以是“2-unique”;综合起来是“Surprising Strings”。思路:用map就可以,做的时候手欠用了暴搜,结果发现竟然0ms过了,不科学。而用map花了16ms非常的不科学。用暴搜的话就是for循环枚举即可,用一个数组标记一下两个字符的和,就行。map的代码:#in 阅读全文
posted @ 2013-10-29 20:23 枫、 阅读(450) 评论(0) 推荐(0) 编辑
  2013年10月25日
摘要: 这是我从网上看模板的时候看的一个不完整的代码,然后想弄成一个完整的代码,结果错误特别多,好不容易在ZN还有二货的帮助下弄出来,主要是运算符重载,还有类模板#include#includeusing namespace std;template//类模板是类的抽象,类是类模板的实例,就是说T可以换成任... 阅读全文
posted @ 2013-10-25 21:10 枫、 阅读(136) 评论(0) 推荐(0) 编辑
  2013年10月19日
摘要: http://poj.org/problem?id=1265题意 : 给你一个点阵,上边有很多点连成的多边形,让你求多边形内部的点和边界上的点以及多边形的面积,要注意他每次给出的点并不是点的横纵坐标,而是相对于上一个点的横纵坐标离开的距离dx,dy,所以你还要求一下每个点的坐标,然后再进行别的操作就可以了思路 :先用GCD函数求出边界上的点,用Pick公式求出边界多边形内部的格点数Pick公式:给定顶点坐标均是整点的简单多边形,有:面积=内部格点数目+边上格点数目/2-1;#include#include#include#include#includeusing namespace std ; 阅读全文
posted @ 2013-10-19 21:07 枫、 阅读(414) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 39 下一页