HDU
文章平均质量分 52
北狗最光阴1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 1050 Moving Tables
这道题是自己刚开始接触ACM的时候z原创 2014-11-25 14:36:55 · 454 阅读 · 0 评论 -
HDU 1027 Ignatius and the Princess II
这题我使用DFS来解决的,但是每次我写DFS的时候总是坑在递归结束的条件上,每次都要纠结,这次也不例外。不过总算解决了。#include#include#include#include#include#includeusing namespace std;const int N=1005;int ans[N];bool visited[N];int n,m;bool df原创 2015-01-25 16:49:44 · 569 阅读 · 0 评论 -
HDU 1009 今年暑假不AC
本题算是贪心中的基础题。#include #include #include #include using namespace std;const int N=102;struct time{ int s,e;}data[N];int n;bool cmp(time a,time b){ if(a.e==b.e) return a.s<b.原创 2015-02-21 10:50:48 · 726 阅读 · 0 评论 -
HDU 1102 Constructing Roads
这题很显然用最小生成树来做。不过要稍微变化一下,一开始我打算用一个布尔数组来标记哪些村庄之间已经用道路连接,可是我发现写起来有点费劲,于是突然想到如果把已经修建的道路想象成0是不是就可以呢,仔细想了一下,貌似真的可以,提交之后果然过了。#include#include#include#include#include#includeusing namespace std;const原创 2015-02-03 20:50:31 · 550 阅读 · 0 评论 -
HDU 1087 Super Jumping! Jumping! Jumping!
动态规划题目做的真的很少,自己也不太熟练,这题也是连蒙带猜才弄出来。dp[i]表示以data[i]结尾的最大分数,那么状态转移方程为:dp[i]=max(dp[j]+data[i],data[i])(0#include#include#include#include#include#include#includeusing namespace std;const int N原创 2015-02-04 22:17:11 · 479 阅读 · 0 评论 -
HDU 1097 A hard puzzle
这道题其实挺简单的,因为只看最后一位,所以就讨论最后一位的情况就可以了。而最后一位显然是有周期性的。#include#include#include#include#includeusing namespace std;int main(){ int a,b,mode[12]; while(scanf("%d%d",&a,&b)!=EOF) {原创 2015-02-04 17:48:34 · 564 阅读 · 0 评论 -
HDU 1338 Game Prediction
这题我用的是贪心算法,我的理解是这样的:要求我最少能赢的次数,就是求别人最多能赢的次数。首先把我的牌先升序排序,然后我从小开始出,对于我出的牌,别人应该尽可能的压,而且用他们比我大的最小的那张牌;如果他们不压,那么他们后面这张牌就很有可能用不上,就少赢一次。#include#include#include#include#include#includeusing namespa原创 2015-02-03 21:25:52 · 643 阅读 · 0 评论 -
HDU 1098 Ignatius's puzzle
这题刚开始看的时候,的确被吓了一跳,13次方,这也太大了,而且还是任意的x,有点麻烦,但是仔细分析之后,发现有点窍门:65|f(x),不妨设5*x^13+13*x^5+k*a*x=m*65,于是可以得到:x*(5*x^12+13*x^4+k*a)=m*65,继续得到:x*(5*x^12+13*x^4+k*a)/65=m,因为是对于任意的x均成立,所以(5*x^12+13*x^4+k*a原创 2015-02-04 16:35:57 · 489 阅读 · 0 评论 -
HDU 1051 Wooden Sticks
这题就是贪心算法,先对length升序排列,如果length相等,再按weight升序排列;反之亦可。然后根据题目要求进行选择即可。不过我在写排序函数的时候出了一点问题,害得我还一度以为我的贪心策略是错的。#include#include#include#include#include#includeusing namespace std;const int N=5005;原创 2015-02-02 21:14:28 · 529 阅读 · 0 评论 -
HDU 1031 Jungle Roads
这题就是最小生成树的模板题,可是这题的数据给的有点坑。首先我不清楚给出的村庄是否就是按照从A开始的字母顺序排列,所以我就用一个exist布尔数组来标记这个村庄是否存在;在者就是两个村庄之间可能有多条路,所以存储的时候应该存储最小的,可是题目没有这样的例子,哎!#include#include#include#include#include#includeusing name原创 2015-02-01 23:41:48 · 645 阅读 · 0 评论 -
HDU 2080 夹角有多大II
简单题,不解释,不过,貌似我现在也就能做做简单的数学题了。#include#include#include#includeconst double pi=acos(-1.0);using namespace std;void f(double &angle,double x,double y){ if(x<0&&y<0) angle+=180.0;原创 2015-01-12 21:23:36 · 575 阅读 · 0 评论 -
HDU 3262 Seat taking up is tough
这题其实挺简单,可是自己就是被坑了很长时间,究其原因,脑袋短路了。本来排完序之后,应该把结果按照未排序之前的顺序输出,结果我就直接输出了,而题目给的例子正好是按顺序给的,输出没有问题,哎,果然够坑。以后再也不能相信题目给的例子了。#include#include#include#include#include#includeusing namespace std;int seat原创 2015-01-30 15:01:23 · 498 阅读 · 0 评论 -
HDU 2056 Rectangles
这题就是简单的几何题,刚接触ACM做这题时,不会写,当时想的太复杂了,把矩形的各种情况组合都考虑到了,结果发现这样太复杂就放弃了。今天做这道题时,我突然发现既然题目给的是对角线的坐标,为什么不用对角线之间的关系来判别矩形之间的位置关系呢?于是思路就很简单的涌现出来了。只要画个图,就能明白两者之间对角线的关系。#include#include#includedouble _max(doub原创 2015-01-12 18:55:16 · 1502 阅读 · 0 评论 -
HDU 1022 Train Problem I
这题我的想法使用栈的思想去解决的,就是根据进站的序列加入栈中,若和出站最开始的序号相同,则出栈;然后继续进行此操作,和下一个出站的火车序号相比较。这样操作完后看看栈是否为空,就可以判断了。#include#include#include#include#include#includeusing namespace std;int main(){ char s1[10],原创 2015-01-26 14:27:29 · 452 阅读 · 0 评论
分享