上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 39 下一页
  2013年11月24日
摘要: http://poj.org/problem?id=2187题意 :有一个农场有N个房子,问最远的房子相距多少距离 。思路 :凸包,旋转卡壳,通过寻找所有的对锺点,找出最远的点对。#include #include #include #include #include using namespace std ;typedef long long ll ;const int maxn = 50000 ;struct point{ int x ; int y ;}p[maxn],ch[maxn] ;int det(int x1,int y1,int x2,int y2 )//叉积{ ... 阅读全文
posted @ 2013-11-24 12:45 枫、 阅读(219) 评论(0) 推荐(0) 编辑
  2013年11月23日
摘要: http://codeforces.com/problemset/problem/279/B题意 :Valera 有很多的空闲时间,所以他决定看书,给出n本书,编号1到n,和看每本书需要的时间,他看书是随机的,然后是连续的,从第 i 本开始看,看完了会看第i+1本,然后是第i+2本,问他在时间 t 内最多能看多少本书。思路 :一开始没看明白题意,以为把时间排序,从小开始往里加,后来才发现人家要求的是连续的。这个就是循环从头开始加,如果时间超了,就从第一本开始往外删。#include #include #include using namespace std ;int book[101000] 阅读全文
posted @ 2013-11-23 21:43 枫、 阅读(432) 评论(0) 推荐(0) 编辑
摘要: http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2527思路 :以前的结训比赛,当时不会做,比完了也没去看,真是悲剧了。这次还是没做出来,因为很多细节问题并没有处理好。输入的时候要注意输入别的时候都是一个字符,但偏偏10不是,也因此容易产生错误,所以就要按字符串输入,然后再仔细一点这题就差不多了。#include #include #include #include using namespace std ;char ch[110] ;int sh[110] ;int main(){ int 阅读全文
posted @ 2013-11-23 21:16 枫、 阅读(193) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1020题意 :给定一个字符串,只包含大写字母,如果字符串中又连续相同的字母,个数大于1的话,就输出该字母连续出现了几个,再加上这个字母,如果只出现一次的话就输出该字母即可。例如ABBCCC,A只出现了一次,就输出A,B出现了两次,就输出2B,C出现了三次,就输出3C。思路 :本来我想用哈希来着,结果想想不对,不用那么麻烦,又改了,因为字符串不是很长,所以从头开始找就行。一定要是连续的,ABAG,输出ABAG。//HDU1020#include #include #include using namespace 阅读全文
posted @ 2013-11-23 09:59 枫、 阅读(228) 评论(0) 推荐(0) 编辑
  2013年11月22日
摘要: http://poj.org/problem?id=2635题意 :给你一个大数,它是两个素数的乘积,再给你一个数L,如果这两个素数中较小的那个比L小,就输出BAD和这个小的素数,反之就输出GOOD 。思路 :所谓的高精度取模+同余模定理,表示真的不会。。。看的题解,才知道原来还可以是1000进制,很多人用了10000进制不对,原因是因为余数可能会超范围,而10进制估计会超时吧。http://blog.csdn.net/lyy289065406/article/details/6648530#include #include #include #include using namespace 阅读全文
posted @ 2013-11-22 21:37 枫、 阅读(231) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1942题意 :在一个n*m的矩形上有n*m个网格,从左下角的网格划到右上角的网格,沿着边画,只能向上或向右走,问有多少条不重复的路 。思路 :这种问题记得高中的时候就做过,学组合数的时候讲的,反正就是向上向右走,加起来要走的路必定为n+m条,选择n条向上,必定剩下的m为向右的,所以这个题就转化求C(n,m+n),或者是C(m,m+n),不过个人建议用m,n中小的那个数去做,因为省时。因为这个数据较大,所以求组合的时候就要注意以防超时,如果还像1850那样用杨辉三角就容易超时了,就要用另一种方法去求组合数,我以前整理过4种求组合数的方法,正好 阅读全文
posted @ 2013-11-22 20:03 枫、 阅读(175) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1850题意 :给定字符串,系统是用字符串组成的,字符串是按字典序排的。编码系统有三条规则,1这些的单词的长度是由小到大的,2相同长度的按字母在字典序的顺序排的,3 a-1,b-2,.....z-26,ab-27,..........,az-51,bc-52,............,vwxyz - 83681,.................。输入的是长度不超过10的全为小写英语字母的字符串,让你输出对应的数字,如果并没有按照顺序,则输出0 。思路 :http://hi.baidu.com/lxyzmnwvhokptur/item/18c 阅读全文
posted @ 2013-11-22 18:33 枫、 阅读(261) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1205思路 :吃糖的话要从数量最多的那种开始吃,如果碰到某些情况就会吃不完,就像你把少的糖先吃了,就没法将多的糖隔开了。例如5 1 1 1 1,你先从5开始吃就能吃完,但是如果你从1开始吃就吃不完。而如果5块糖就只需要4块其他的糖进行分隔就吃得完,所一就要判断最多的那个数sum-max+1>=max就可以了 。//HDU1205#include #include #include using namespace std ;__int64 a[10000100] ;int main(){ int T ; 阅读全文
posted @ 2013-11-22 16:24 枫、 阅读(200) 评论(0) 推荐(0) 编辑
  2013年11月16日
摘要: http://poj.org/problem?id=2739题意 :一个正整数能够表示为一个或多个连续素数和,给你一个正整数,让你求,有多少个这样的表示。例如:整数53有两种表示方法,5+7+11+13+17和53,41有三种表示方法,2+3+5+7+11+13,11+13+17还有41,而整数20没有这样的表示方法。思路 :因为取值到10000,所以先素数打表,然后枚举所有的表示方法中连续的素数里最小的那个即可。#include using namespace std;const int maxp = 2000,n = 10000 ;int prime[maxp],total = 0 ;bo 阅读全文
posted @ 2013-11-16 21:16 枫、 阅读(239) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/300/A题意 :给你n个数字,让你分成3组,第一组各个数之积要小于0,第二组要大于0,第三组要等于0,符合要求的答案可能会有很多种,输出其中一种。思路 :表示一开始以为要把n个数分成3组,第一组里的数都大于0这样子,所以一直卡在这儿。。。。因为这个题也相当于special judge了吧,所以要找一个最不容易出错的输出,把n个数排序,最小的肯定是负的(题目保证至少有一个正确答案),所以直接把它分在第一组就行,然后如果然后最大的数分在第二组,当然了,如果最大的数也不大于0,这时候就要把第二个第三个放在一起,这样乘 阅读全文
posted @ 2013-11-16 19:54 枫、 阅读(242) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 39 下一页