hdu_acm
文章平均质量分 62
hudatangqi
这个作者很懒,什么都没留下…
展开
-
hdu 1106 排序
其实这道题目很简单,只要注意几个地方就行了。 1.5可以连续 2.结束既可以以5结束,也可以不一5结束。 #include #include #include #include using namespace std; int cmp(con原创 2011-09-18 13:54:49 · 134 阅读 · 0 评论 -
hdu 1251 统计难题
这是我第一次接触字典树,感觉还不是很不熟悉。这是仿照别人的代码写出来的。 但是我还不是理解,为什么要用 #include #define MAX 26 typedef struct TriNode { int count; struct TriNode *next[MAX]; }TriNode; int t=0; TriNode a[1000000];原创 2011-12-17 12:23:49 · 185 阅读 · 0 评论 -
hdu 1166
这道题目就是一道简单的线段树题目。与hdu1754很相似。 #include using namespace std; struct Node { int l,r,mid,sum; }node [500000]; void init(int a,int b,int n) { node[n].l=a; node[n].r=b; node[n].mid原创 2011-11-21 21:55:53 · 530 阅读 · 0 评论 -
hdu 1754
这是一道很基本的线段树题目。 #include using namespace std; struct Node { int l,r,mid,max; }node[600000]; int max(int a,int b) { return a>b?a:b; } void inint(int a,int b,int n) { nod原创 2011-11-21 20:38:51 · 1089 阅读 · 1 评论 -
hdu 4104 Discount
这道题目是很水的题目。不解释。。。。。 #include #include using namespace std; int cmp(const void*a,const void *b) { int *t1=(int *)a,*t2=(int *)b; return *t1-*t2; } int main() { int n,fine,min,sum;原创 2011-10-30 23:54:50 · 496 阅读 · 0 评论 -
hdu Squarefree number
#include #include #include #define nmax 1000001 int prime[nmax], plen; void init() { memset(prime, -1, sizeof(prime)); int i, j; for (i = 2; i < nmax; i++) { if (prime[i]) { for (j = i + i; j转载 2011-10-23 12:05:00 · 186 阅读 · 0 评论 -
hdu Self Numbers
这一题很简单,但是要注意mark数组开的范围应该大于1000000. #include #include using namespace std; bool mark[1010001]; int change(int n) { int ans=0; whil原创 2011-10-06 16:51:59 · 136 阅读 · 0 评论 -
hdu 1078 FatMouse and Cheese
这题我原来使用暴力,超时了。。 超时代码: #include #include #include int map[102][102],dp[102][102]; int dri[4][2]={{0,-1},{1,0},{0,1},{-1,0}}; int num,k原创 2011-08-29 16:13:25 · 219 阅读 · 0 评论 -
hdu 1081 To The Max
题意: 求n*n矩阵子矩阵,使他的和最大。 这题是一个最大子序列和的一个变形,我们可以将每个子矩阵的序列表示出来,再求子矩阵序列的最大子序列和。 代码: #include #include #include int n,map[101][101]; int a[10原创 2011-08-29 11:18:47 · 177 阅读 · 0 评论 -
hdu 1055 Color a Tree
刚开始做这道题目的时候完全没思路,参考了一下别人的代码,还是有一点弄不懂:为什么 node[node[pos].prarent].w=(double)node[node[pos].prarent].c/node[node[pos].prarent].t;???有哪位大牛能帮忙解原创 2011-08-26 16:13:31 · 688 阅读 · 1 评论 -
hdu 1041 Computer Transformation
其实这道题目就是考查大数的乘法和加减法而已。。。 这道题目的规律可以找出来: if(n&1) { a[n]=2*a[n-1]-1; } else a[n]=2*a[n-1]+1; 我的ac代码: #include #include #include原创 2011-08-24 18:47:03 · 406 阅读 · 0 评论 -
hdu 1035 Robot Motion
这题其实很简单,但是我还是花了很长的时间,原因在于我没有考虑一种特殊的情况:从开始位置出发,再回到出发位置。。。 所以dfs开始的时候要从1开始,而不是0.。。。 #include #include #include char map[15][15]; i原创 2011-08-24 12:06:12 · 183 阅读 · 0 评论 -
hdu 3555 Bomb
典型的数位dp,也是最简单的数位dp,为了弄懂什么事s数位dp我真的纠结了很久,终于让我弄明白了一点了,只是有一点眉目。这两天下来,我发现其实数位dp用dfs实现的代码其实就是一个模板,只要弄懂模板就可以解决大部分问题了。(这要读者自己去慢慢体会。。。)最重要的dp数组中(dfs转载 2011-08-23 22:37:19 · 61 阅读 · 0 评论 -
hdu 1114 Piggy-Bank
这题就是完全背包。 注意要判断背包是否背满。 初始化的时候要用dp[ ]=INF,dp[0]=0;#include #include using namespace std; #define INF 0x7ffffff int dp[10000]; int end; in原创 2011-09-20 00:00:46 · 199 阅读 · 0 评论 -
hdu 1284 钱币兑换问题
这题主要是运用如下结论: 设标记P(n, m)表示正整数n的所有不同划分中,最大加数不大于m的划分个数。 [ 1 m = 1; P(n, m) = [ P(n, n) n原创 2011-09-19 21:41:51 · 378 阅读 · 0 评论 -
hdu 1163 Eddy's digital Roots
这道题目只是考察基本的乘法运算:a*b就是将a的每位上的数字同乘以b就是结果。 #include using namespace std; int change(int n) { int ans=0; while(n) { ans+=n原创 2011-09-19 14:24:57 · 120 阅读 · 0 评论 -
hdu 1162 Eddy's picture
这道题目就是考察的最小生成树。 用prim算法即可轻松解出这道题目。 #include #include #include #include using namespace std; #define MAX 10000000 struct Node { dou原创 2011-09-18 20:40:28 · 180 阅读 · 0 评论 -
hdu 1247 Hat’s Words
这一题也是用字典树做,思路比较简单,就是分两部分查找。左边一部分,右边一部分。 这一题最主要的就是要注意结束条件。在Insert时候,要标记Insert单词的最后一个字母,一次来方便后面的search。 #include using namespace std; #define MAX 26 typedef struct Trie { int count;原创 2011-12-18 20:51:44 · 241 阅读 · 0 评论