![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDU
shyixiao
这个作者很懒,什么都没留下…
展开
-
HDU2024 C语言合法标识符
#include #include #include int main(){ int n,sign,i,j; char a[100]; scanf("%d", &n); getchar(); while (n--) { sign=0; gets(a); i=strlen(a); if ((a[原创 2015-01-27 15:11:41 · 330 阅读 · 0 评论 -
HDU2037 活动安排 贪心
转:贪心算法就是只要满足我当前利益最大化即可,所以有时候得出的结果不是最优解。一般使用贪心算法要满足两个条件:a.贪心选择性质。b.最优子结构性质。贪心选择性质:这是贪心算法与动态规划的区别。也就是说,我通过局部的最优来达到整体的最优。动态规划一般是以“自底向上的方式解决问题(如数塔问题)”,而贪心是以“自上向下的方式解决问题(如HDU2037(活动安排)“。最优子结构性质:这个性质是转载 2015-01-28 11:20:12 · 605 阅读 · 0 评论 -
HDU2059 龟兔赛跑 动态规划 DP
转:本题的主要思路:先考虑可能在任意一个加油站作为乌龟最后加油的地方。。。然后利用第推的思想卒个求和。。。。比如乌龟可能把第二个加油站作为最后加油的地点。。。由此我们需要依次求出把原点作为前一个加油站到第二个加油站的时间和把第一个加油站作为前一个加油站到第二加油站的时间。。。然后比较两种路径所用时间的多少求出把第二个作为最后加油站所用的最短时间。。。以此类推。。。以后各种情况均可由此法求得。。。。转载 2015-01-28 16:18:16 · 572 阅读 · 0 评论 -
HDU2057 A+B again 十六进制加法
转:解释如下:题目求的是十六进制的加法。刚开始想的是把十六进制转化为十进制,进行加法运算后,再转化为十六进制。所以这题可以直接用十六进制输入,然后进行十六进制的运算(其实不管是什么进制,在计算机中都是以二进制来计算的,只是按输入输出的格式不同,而强制转化为其它的进制),就像十进制的加法一样。这里要注意的是输入小于15位,结果超过了二进制中的32位而小于64位。所以这里用__in转载 2015-01-28 14:59:49 · 421 阅读 · 0 评论 -
HDU2050 折线分割平面
#include #include int main(){ int c,n; __int64 s; scanf("%d", &c); while (c--) { scanf("%d", &n); s=2*n*n-n+1; printf("%I64d\n",s); } return 0;原创 2015-01-28 10:54:01 · 310 阅读 · 0 评论 -
HDU2048 神、上帝以及老天爷
#include #include int main(){ int c,n,i; __int64 d[20]; double p; scanf("%d",&c); d[1]=0;d[2]=1; for (i=3;i<=20;i++) d[i]=(d[i-1]+d[i-2])*(i-1); while (c--)原创 2015-01-27 22:21:43 · 285 阅读 · 0 评论 -
HDU2044 一只小蜜蜂
#include #include int main(){ int n,i,a,b; __int64 m[60]; scanf("%d", &n); while (n--) { scanf("%d %d", &a, &b); m[0]=1;m[1]=1; for (i=2;i<=50;i++)原创 2015-01-27 21:07:00 · 358 阅读 · 0 评论 -
HDU2028 Lowest Common Multiple Plus
求多个数的最小公倍数,利用公式a*b/s,要注意加括号,先算b/s,不然会导致超过32位整数的错误原创 2015-01-27 16:58:16 · 403 阅读 · 0 评论 -
HDU2036 改革春风吹满地
#include #include int main(){ int n,x[100],y[100],i,a1,a2,b1,b2; double s; while (scanf("%d", &n)!=EOF && n!=0) { for (i=1;i<=n;i++) scanf("%d %d", &x[i], &y[i]原创 2015-01-27 19:22:44 · 465 阅读 · 0 评论 -
HDU1003 最大连续子序和 DP
常规DP,但是要记录子序首尾序号#include #include int main(){ int t,a[100003],flag,k; long int n,i,d[100003],t1,t2,max; scanf("%d", &t); k=0; while (t--) { scanf("%ld", &n);原创 2015-01-28 17:58:53 · 295 阅读 · 0 评论