随笔分类 - ACM
摘要:How many prime numbersProblem DescriptionGive you a lot of positive integers, just to find out how many prime numbers there are.InputThere are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of
阅读全文
摘要:约定:x%y为x取模y,即x除以y所得的余数,当x1) {//一直计算,直到指数小于或等于1 if((p%2)!=0) {// 如果指数p是奇数,则说明计算后会剩一个多余的数,那么在这里把它乘到结果中 odd*=main; //把“剩下的”乘起来 } main*=main; //主体乘方 p/=2; //指数除以2 } return main*odd; //最后把主体和“剩下的”乘起来作为结果}够完美了吗?不,还不够!看出来了吗?main是没有必要的,并且我们可以有更快的代码来判断奇数。要...
阅读全文
摘要:这题在DFS的同时必须考虑剪枝,,给出三个别人的代码,一个耗时7秒多,一个2秒多,最后一个只有46MS,相差甚大,都是剪枝的功劳。 1 #include 2 #include 3 const int MAX =1002; 4 bool flag = false; 5 bool vist[MAX][MAX]; 6 int s,e,map[MAX][MAX]; 7 int dir[5][3]={{1,0},{0,1},{-1,0},{0,-1}}; 8 void DFS(int x,int y,int cnt,int d) 9 {10 if(cnt>2||vist[x][y]||fla...
阅读全文
摘要:深度优先算法入门的一道非常好的题目,还考虑到了剪枝http://acm.hdu.edu.cn/showproblem.php?pid=1010 1 //这个代码是没有考虑任何剪枝的 2 //将所以情况都遍历了一遍, 3 //提交的时候是会超时的 Time Limit Exceeded 4 #include 5 #include 6 using namespace std; 7 8 #define MAX 10 9 char mapz[MAX][MAX];10 int N,M,T;11 int dx, dy;12 bool escape;13 14 void dfs(int sx, int ..
阅读全文
摘要:FILE* pfile=fopen("dict.txt","r"); while (!feof(pfile)){fscanf(pfile,"%s",name[i]);++i;}这里的 feof是一个函数feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。feof(file stream )文件指针到达文件末尾!feof(fp) 表示没有到达末尾 FILE* pfile=fopen("dict.txt","r");//这里先用fopen打开一个文件 whil
阅读全文
摘要:#include#include#include#include#include#include#include#include#include#define INF 99999999using namespace std;const int MAX=110000+10;char s[MAX*2];int p[MAX*2];int main(){ while(scanf("%s",s)!=EOF){ int len=strlen(s),id=0,maxlen=0; for(int i=len;i>=0;--i){//插入'#' s[i+i...
阅读全文
摘要:当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。 使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 函数名:freopen 声明:FILE *freopen( const char *path, const char *mode, FILE *stream ); 所在文件: stdio.h 参数说明: path: 文件...
阅读全文
摘要:首字母变大写Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22837Accepted Submission(s): 12603Problem Description输入一个英文句子,将每个单词的第一个字母改成大写字母。Input输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。Output请输出按照要求改写后的英文句子。Sample Inputi like acmi want to get an accepted
阅读全文
摘要:数列有序!Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33624Accepted Submission(s): 14335Problem Description有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。Input输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。Ou
阅读全文
摘要:第一次写解题报告,仔细研究一道题的感觉很不错。呵报告的内容:1.计算大数乘法的朴素版本“传说”中的x位一存是什么意思,怎么来的。2.四位一存3.九位一存4.五位一存(仅适用此题的最快版本)5.大数乘法模板(9位一存)1. 一位一存,下面那些版本的根源,建议大家先把这个程序的过程理解明白,欲速则不达啊,呵呵~运行结果见代码下面:#include <stdio.h>#include <string.h>int main(){ int a[40000],c[40000];//10000^10000也就40001位,10000!可以估计出是30000多位,所以开40000大小的
阅读全文
摘要:偶数求和Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33607Accepted Submission(s): 14534Problem Description有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。Input输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。Output对于每组
阅读全文
摘要:水题,,没解释,一遍必须过,青年歌手大奖赛_评委会打分Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34596Accepted Submission(s): 16819Problem Description青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。Input输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个
阅读全文
摘要:嘿嘿,这个水题目确实水,一遍AC了,总算是不坑爹了。。。蟠桃记Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25745Accepted Submission(s): 19517Problem Description喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵^-^当时的情况是这样的:
阅读全文
摘要:今天确实坑爹,,这么简单的题目都WA好多次,,,都是细节上的错误,直接导致崩盘,,额。。。好吧,这个完全就是素数判断,没什么好说的 ,,就是注意flag标记和判断是否符合条件,,其他就是输出的格式注意就好了。素数判定Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 53829Accepted Submission(s): 18412Problem Description对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-
阅读全文
摘要:这两天有点不在状态,不知道搞什么,今天max sum WA 了无数次,,,就是找不到哪里出问题了。。郁闷。索性去后面拿一道简单的题目来做,就选了这一题,。。。一遍就AC了,就是顺着题目的意思来写,写代码的时候有些地方没考虑清楚,耗了一点时间,不过写完之后还是一遍AC了,,发工资咯:)Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 22007Accepted Submission(s): 12473Problem Description作为杭电的
阅读全文
摘要:Uniform GeneratorTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12638Accepted Submission(s): 4969Problem DescriptionComputer simulations often require random numbers. One way to generate pseudo-random numbers is via a function of the formseed(x+1)
阅读全文
摘要:昨天写了这题,一开始以为非常简单,结果直接用整型变量来写,写完还以为轻松AC,结果去WA了,后来才发现,这题的positive integer,可能是很大的数,所以用字符数组来存了,,现在唯一没有搞明白的就是,,,,为什么可以一位一位往后移来做。后来好像明白了,是我题目意思还是没有完全弄清楚题意:给你一个数,让你把他的各个位相加,直到把得到一个个位数为止。比方说9542这个数,9+5+4+2 = 20,20还不是一个个位数,那么2+0 = 2是个个位数,则输出2所以可以用前面的两位两位一直往后面推,推到最后一位就OK了。所以用数组存放没有任何问题。刚开始写的WA代码,,直接当成数来做,完全没有
阅读全文
摘要:u Calculate eTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23177Accepted Submission(s): 10216Problem DescriptionA simple mathematical formula for e iswhere n is allowed to go to infinity. This can actually yield very accurate approximations of e
阅读全文
摘要:下午回来写HDOJ 1008,一看题目觉得真的很简单,,写着写着,,写完了突然发现AC不了,,调试之后发现还是没问题,但就是AC不了。无奈之下看了别人写的代码,原来是自己题目理解错误了,题目的意思是到了该楼层再停,,我误以为是每层都停下来,,所以写错了。。。。这题确实是一道水题。。http://acm.hdu.edu.cn/showproblem.php?pid=1008ElevatorTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 32135
阅读全文
摘要:今天早上起来写1004,看了题目知道是统计字符串的,没有什么难度,,意味写一遍就可以AC了。结果写出来怎么都AC不了。。。后来上完课回来,想了想,,才发现是flag没有清零,,又犯了这种低级错误。。Let the Balloon RiseTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 54265Accepted Submission(s): 19616Problem DescriptionContest time again! How exci
阅读全文

浙公网安备 33010602011771号