摘要: 做acm 需要学的算法转一个搞ACM需要的掌握的算法. 要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来. 适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什么就眼红, 发挥自己的长处,这才是重要的. 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 1.最短路(Floyd、Dijstra,BellmanFord) 2.最小生成树(先写个prim,kruscal要用并查集,不好写) 3.大数(高精度)加减乘除 4.二分查找. (代码可在 阅读全文
posted @ 2013-08-06 21:31 龙腾四海365 阅读(321) 评论(0) 推荐(0)
摘要: 我排第几个时间限制:1000 ms | 内存限制:65535 KB 难度:3描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排列在所有的排列中是第几小的?输入 第一行有一个整数n(0#include int JC(int n){ int i,sum=1; for(i=1;i=0;i--) { ss=JC(i); sum+=a[i]*ss; } printf("%d\n",sum+1); } return 0;}组合数学之康拓展开:公式描述:把一个整数X展开成如下形式X=an*(n-1)!+an-1*(n- 阅读全文
posted @ 2013-08-06 21:15 龙腾四海365 阅读(290) 评论(1) 推荐(0)
摘要: Find a multipleTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 4988 Accepted: 2159 Special Judge DescriptionThe input contains N natural (i.e. positive integer) numbers ( N #define MAX 10100int s1[MAX];int s2[MAX];int main(){ int n; while(scanf("%d",&n)!=EOF) { int i,sum,beg 阅读全文
posted @ 2013-08-06 20:19 龙腾四海365 阅读(197) 评论(0) 推荐(0)