![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
文章平均质量分 77
sujian19900703
这个作者很懒,什么都没留下…
展开
-
hdu 1217 Arbitrage
思路:floyd算法 #include#includeusing namespace std;double map[50][50];string ar[50],s,e;int n;int search(string a){ int i; for(i=0;in;i++) if(a==ar[i])原创 2012-11-07 13:04:41 · 266 阅读 · 0 评论 -
hdu 1220 Cube
先求每一层的个数,然后求不在同一层的pairs:#includeint n;int get(int x){//求同一层的pairs int i,j; int Count=0; int t=x*x; for(i=0;i Count+=t-3; j=0; t--; for(j=1;j { Count+=t-3; t--; } Count+=t-原创 2012-11-07 13:04:44 · 132 阅读 · 0 评论 -
hdu 1225 Football Score
简单的排序:此代码是用vector和map做的,用tries应该还快一些#include#include#include#include#include#includeusing namespace std;struct team{ char name[100]; int score; int kicked; int lost;}ar[2000];int n,now原创 2012-11-07 13:04:46 · 177 阅读 · 0 评论 -
hdu 1277 全文检索
描述见 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1277 刚开始的想法是KMP算法,因为字符串匹配差不多这个已经是很多的了。。。。但是看着题目中说的关键字最多有10000个,每个字符长度最大60,原文最多有10000个。那么按照KMP算法的时间复杂度,最差的情况下时间复杂度是O(10000*(60+10000))。可想而知,超时那原创 2012-11-07 13:05:49 · 273 阅读 · 0 评论 -
hdu 1710 Binary Tree Traversals
本题的考点是告诉你二叉树的前序遍历和中序遍历,求后序遍历。我的思路是:因为前序遍历是先遍历祖先在遍历儿子,所以第一个(前序遍历)点一定是根节点。后边依次加入前序遍历中的点,沿着根往下建立,如果待加入的节点的值出现的顺序(中序遍历)在本节点的前面,那么这个点在本节点的左边,否者在右边,知道节点为空,加入节点。后面以此类推,就建立了一棵二叉树。接着后序遍历就可以了……代码如下:#include原创 2012-11-07 13:05:36 · 165 阅读 · 0 评论 -
hdu 1216 Assistance Required
简单的模拟,用数组更简洁:#include#define Max 40005int n,num[3000];struct point{ int x; int next;}ar[Max];int x;int D(){ int sum=0,t,k,h; h=x; t=ar[x].next; k=ar[x].x; x=ar[x].next; while(t!=-1原创 2012-11-07 13:04:39 · 188 阅读 · 0 评论 -
hdu 1755 A Number Puzzle
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1755 刚开始看到这个题的时候,看到这个8,于是想到的是8!很小才4万多,不过加上询问次数,就很不乐观了。。。。这个题有点水,可以用暴力过,这个题没有极限数据。。。也就是复杂度为O(8!*2000)。如果我们这么想的话,那么题目中给出K的范围就没有实际意义了(有时候我就喜欢看数据范围,原创 2012-11-07 20:50:08 · 579 阅读 · 0 评论