![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDU
幽静
这个作者很懒,什么都没留下…
展开
-
HDU1233 prim算法
普利姆算法入门题。 贴个水题,入门。 这道题目没有什么要注意的~。 想类似这种算法,一般都是先有个大概的思路,然后按照你想到的思路来写,顺便优化优化,最后总结一下,以后就可以一直按照你的风格来写了。思路最重要,代码只是实现。#include #include #define size 99999999using namespace std;int map[1原创 2013-07-20 11:44:26 · 513 阅读 · 0 评论 -
hdu 2049
这个比较简单,就是错排公式的简单应用。#include using namespace std;long long int fz[25];long long int fm[25];void tofz(){ fz[1]=0; fz[2]=1; for(int i=3;i<=20;i++) fz[i]=(i-1)*(fz[i-1]+fz[i-2]);}原创 2013-08-07 00:13:47 · 1862 阅读 · 0 评论 -
hdu 2048
错排公式的应用。#include #include using namespace std;long long int fz[25];long long int fm[25];void tofz(){ fz[1]=0; fz[2]=1; for(int i=3;i<=20;i++) fz[i]=(i-1)*(fz[i-1]+fz[i-2]); }原创 2013-08-07 00:15:14 · 5561 阅读 · 0 评论 -
hdu 2047
这个递推有点意思,稍微注意一下。#include using namespace std;long long sev[45];void tofind(){ sev[1]=3;sev[2]=8;sev[3]=22; for(int i=4;i<=40;i++) sev[i]=2*(sev[i-1]+sev[i-2]); }int main(){原创 2013-08-07 00:17:03 · 539 阅读 · 0 评论 -
hdu 2036(多边形面积)
水~~,只是里面有个公式还算比较好用,写一下。#include #include #include using namespace std;int x[110],y[110];int main(){ int t; double ans; while(cin>>t,t) { ans=0; for(int i=0;i<t;i++) cin>>x[i]>原创 2013-08-10 00:29:54 · 518 阅读 · 0 评论 -
hdu 1019
值得思考,其题目意思: 给你一堆数 求这些数的最小公倍数~~利用最大公约数来求.gcd函数不要用递归,好像会卡掉#include using namespace std;int gcd (int a,int b){ int r; if(a<b) swap(a,b); while(b) { r=a%b; a=b; b=r; }原创 2013-08-10 11:41:51 · 458 阅读 · 0 评论 -
hdu 1248(完全背包)
http://acm.hdu.edu.cn/showproblem.php?pid=1248入门水题~~#include using namespace std;struct pack{ int v,c;};pack p[5];int f[10010],maxv;void cpack(pack p){ for(int i=p.c;i<=maxv;i++)原创 2013-08-09 23:47:02 · 588 阅读 · 0 评论 -
hdu 1018
大概的意思:给你一个n,输出n!的位数~~ n看到上面的讨论,知道了一个数,它的位数有一个计算公式,n的位数= int (long10(n))+1;从这里来看,n!=1*2*3*4.....*n; =int long10(1*2*3*4.......*n)+1; =int(l原创 2013-08-10 09:39:56 · 543 阅读 · 0 评论 -
hdu 1016
写这题的意义,在于纪念~~#include #include #include using namespace std;const int size=1000;char str[size+10];int s[size];int main(){ int lens,len; bool f; while(cin>>str) { memset(s原创 2013-08-11 22:45:10 · 438 阅读 · 0 评论 -
hdu 2045
稍微想一想,怎么从前面的结果推导出目前的状态。#include using namespace std;long long sev[55];int n;void tofind(){ sev[1]=3;sev[2]=6; sev[3]=6;sev[4]=18; for(int i=5;i<=50;i++) sev[i]=sev[i-1]+sev[i-2]*2;原创 2013-08-07 00:11:46 · 542 阅读 · 0 评论 -
hdu 1023
卡特兰数;资料在收藏夹里#include using namespace std;int a[105][100];int main(){ int n,len; memset(a,0,sizeof(a)); a[1][1]=1; a[1][0]=1; //a[n][0] 保存长度 a[2][1]=2; a[2][0]=1; len=1; for(int原创 2013-08-04 10:07:22 · 571 阅读 · 0 评论 -
hdu 2544 (dijkstra)
复习算法,最短路径。单源点的最短路径问题: 给定的带权有向图G和源点v,求从v到G中其余各顶点的最短路径。dijkstra算法是解决:从某个源点到其余各顶点的最短距离。其实,说明这个是不能,,,,map[x][y]=map[y][x];有向图,带有方向的~~~#include #define size 999999999using namespace std;int原创 2013-07-20 18:17:23 · 407 阅读 · 0 评论 -
hdu 2544(spfa)
新学的spfa算法, spfa算法,就是利用更新的点来更新其他点。被更新的点,放在队列里面,当做其他点到源点的跳板,看看通过被更新的点是否可以缩短到源点的距离~~ #include #include #include const int size=99999999;using namespace std;int n,m;int map[101][1原创 2013-07-22 11:38:09 · 447 阅读 · 0 评论 -
并查集
并查集:是数据结构里面比较简单的一种~~稍微看看,你应该就会懂,现在我来总结一下,并查集,是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。如果忘了,可以看自己的收集的资料~~不多讲述.入门题:hdu 1232 1272 1274 1213 1856现在详细讲解一下,省的到时候忘记了~~hdu 1232 入门题原创 2013-07-23 22:03:28 · 415 阅读 · 0 评论 -
hdu 2502
一个数中1的个数;#include using namespace std;int sev[22];int findone(int n){ int c; for(c=0;n!=0;c++) n&=n-1; return c; }int main(){ int n(1),t,s; memset(sev,0,sizeof(sev));原创 2013-07-31 15:36:09 · 507 阅读 · 0 评论 -
hdu 2522
这个题,不错~挺简单的就是模拟除法至于循序小数,因为分母是一样的,所以要想出现一样的商,分子就会相同把分子标记一下就好了~~值得思考一下,其实一直没有想到循环小数怎么处理,看了别人的解题报告#include using namespace std;const int size=100001;int sev[size+5];bool vis[size+5];int原创 2013-08-01 10:02:09 · 529 阅读 · 0 评论 -
hdu 2527
哈夫曼树的初级应用~~忘记了,可以看看算法导论,里面讲的很详细~~很经典的一个处理方法,利用优先队列来处理。值得思考#include #include #include using namespace std;struct tr{ int t; friend bool operator <(tr a,tr b){ //自定义优先级 return a原创 2013-08-01 16:53:02 · 551 阅读 · 0 评论 -
hdu 1431
素数回文串~有几个要注意的地方:1.最大的回文串比较小(9989899),可以利用减少不必要的运算~2.求是否是回文串的时间要比判断是否是素数的时候要短,先判断是否是回文串。3.数字判断可以注意一下这种写法~ 毕竟一开始都超时~#include #include #includeusing namespace std;bool isprime(int n)原创 2013-08-03 00:29:38 · 580 阅读 · 0 评论 -
hdu 1022
栈学的不是很好,发现现在又不会了,拿这个经典题目来练练手~~这里要注意的就是,i和j的细节控制。#include#includeusing namespace std;int main(){ int n,i,j,k; bool t[1010]; char a[1010],b[1010]; while(cin>>n>>a>>b) { stacktrain原创 2013-08-03 22:22:59 · 606 阅读 · 0 评论 -
poj 3692(二分匹配)
感觉说不上来,二分匹配~~#include using namespace std;const int size=202;bool vis[size];bool g[size][size];int linker[size];int vnum,unum;bool dfs( int u ){ for (int v=1;v<=vnum;v++) { if原创 2013-08-15 20:24:48 · 573 阅读 · 0 评论