ACM
光速跑者21
天行健,君子与自强不息;地势坤,君子以厚德载物
展开
-
2012年蓝桥杯决赛最后一题
蓝桥杯已经过去很久了,很要一年了,回想起来还是蛮有意思的。第一次参加这么大型的比赛,当然去北京感觉特别激动,觉得自己这么几年的努力没有白费,大一暑假的汗水没有白流。其实开始学习编程的时候并没有把参加这个比赛作为目标,这是为了ACM而奋斗的,在学习编程的过程中逐渐的喜欢上了做题,每一次AC带给我的不只是喜悦,更是对自己信心的提升。蓝桥杯是个转折点,它大大激发了我对程序的兴趣,大三的上学期几乎是在不断原创 2013-02-04 18:22:05 · 895 阅读 · 2 评论 -
hdu 2083
刷水题啊,哈哈哈,这是道中位数题目,给你几个点求取哪个点,使得其他点到这点的距离总和最小这个点就是排序后的中位数点,想想为什么?1 2 3 4 5 6 7这7个点中,中位数为4,当选取的点不在4时,如选5,则1~4个点到中心点的距离都要增加1,5~7的距离要减少1,4个增1,3个减一,显然就是中位数最小啦#include#includeint cmp(const void *a原创 2013-04-22 11:22:27 · 726 阅读 · 0 评论 -
hdu 1162
这道题看似简单但是真正做起来却费了不少时间在调试上面。。。。# include# include# includeint ev[6000],eu[6000],id[6000],p[105];double x[105],y[105],ew[6000];double distance(int i,int j){ return (x[i]-x[j])*(x[i]-x[j])+(y[i原创 2012-11-12 20:00:01 · 493 阅读 · 0 评论 -
hdu 1233
上午上课之前做了一下最小生成树题目,本来想是用来练练手的,预计20分钟一定可以OK的,哪知道让我纠结了一上午啊。。。这是一道很普通的ACM题目,没想到并查集数组定义出错了,原来设定的是从0开始的,可是题目中村子确实从1开始的,提交后出错了好多次都是数组越界,真是蛋疼啊。。。又一次成功的栽在了初始化0和1的问题上面,也望过来人注意一下,要明确其对应关系。# include# inclu原创 2012-11-14 15:19:16 · 570 阅读 · 0 评论 -
hdu 3336
一道KMP题目折腾了我一天了,开始的时候怎么也想不到和KMP有什么联系,看了网上的大神解法后恍然大悟,题意是,给一串字符串,问这串字符串所有的前缀总共在这个字符串中出现了几次。已经有了next数组,next[i]=j表示最大的j使得0~j==i-j~i,因此,对于样例abab,则有0 1 2 3Problem : 3336 ( Count the string ) Judg原创 2012-11-15 20:04:56 · 603 阅读 · 0 评论 -
迟到的ACM
今天是我第一次写打开自己的CSDN博客,以前都是读的各位大神的算法博客,如今也是大三的学长了,接触ACM已经快有3年了,感觉自己的水平一直停留在很低的层次,没有达到质的飞跃。学习ACM也是学学停停,并未一直坚持不懈的学下去,想到这里心里总是酸酸的。大三了,这是我最后的ACM生涯了,也是还有最后一次机会参加ACM比赛,不想接触了三年的ACM一点东西都没有留下,所以为了勉励自己,同时也希望与各位ACM原创 2012-11-12 19:52:45 · 591 阅读 · 0 评论 -
hdu 2069
做了一下母函数的题目,发现也可以用动态规划来解决,倍感兴奋。。。。代码如下#include#includeint dp[5][101][255];int cash[5] = {1,5,10,25,50};int ans[255];void work() //转移方程 dp[i][j][k] = dp[i-1][j][k] + dp[i原创 2013-04-22 11:14:35 · 870 阅读 · 0 评论 -
hdu 1198
这道题其实相当水,只是一个简单的并查集就可以了,但是悲惨的是本人居然花了两天才把它给K了,真是不容易啊,一个致命的错误就是输入时str[i][j]中j最小为0,到下面就稀里糊涂的写成j从1开始了,发现时还真是撕心裂肺啊,脑子短路了。。。。# include# includeint p[3000];int find(int x){ if(x!=p[x]) { p[x]=f原创 2012-11-14 09:18:04 · 411 阅读 · 0 评论 -
hdu 2504
#include#define MAXN 1000int c[MAXN],p[MAXN],n;int prime(){ int i,j; memset(c,0,sizeof(c)); for(i = 2;i < MAXN;i++) { if(c[i] == 0) { for(j = 2*i;j < MA原创 2013-04-18 16:47:36 · 668 阅读 · 0 评论 -
Bruteforce
Problem DescriptionGiven three arraies A[],B[],C[], each contains N non-negative integers.You are asked to maxmize the vale:V=max(A[i]+B[j]+C[k]), where 0InputEach case contains 4 lines,原创 2012-12-08 16:57:48 · 628 阅读 · 0 评论