acm竞赛的算法总共有那些范围?求大牛概括.

mintz2022-10-04 11:39:543条回答

已提交,审核后显示!提交回复

共3条回复
表妹13 共回答了21个问题 | 采纳率85.7%
初级:
一.基本算法:
(1)枚举.(poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295)
(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.图算法:
(1)图的深度优先遍历和广度优先遍历.
(2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3)最小生成树算法(prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4)拓扑排序 (poj1094)
(5)二分图的最大匹配 (匈牙利算法) (poj3041,poj3020)
(6)最大流的增广路算法(KM算法).(poj1459,poj3436)
三.数据结构.
(1)串 (poj1035,poj3080,poj1936)
(2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299)
(3)简单并查集的应用.
(4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)
(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)哈夫曼树(poj3253)
(6)堆
(7)trie树(静态建树、动态建树) (poj2513)
四.简单搜索
(1)深度优先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
(2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
(3)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)
五.动态规划
(1)背包问题.(poj1837,poj1276)
(2)型如下表的简单DP(可参考lrj的书 page149):
1.E[j]=opt{D[i]+w(i,j)} (poj3267,poj1836,poj1260,poj2533)
2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列)
(poj3176,poj1080,poj1159)
3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题)
六.数学
(1)组合数学:
1.加法原理和乘法原理.
2.排列组合.
3.递推关系.
(POJ3252,poj1850,poj1019,poj1942)
(2)数论.
1.素数与整除问题
2.进制位.
3.同余模运算.
(poj2635,poj3292,poj1845,poj2115)
(3)计算方法.
1.二分法求解单调函数相关知识.(poj3273,poj3258,poj1905,poj3122)
七.计算几何学.
(1)几何公式.
(2)叉积和点积的运用(如线段相交的判定,点到线段的距离等).(poj2031,poj1039)
(3)多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)
(poj1408,poj1584)
(4)凸包.(poj2187,poj1113)
1年前
潜水猫咪 共回答了1个问题 | 采纳率
数论 图 数据结构
1年前
明透妤骁 共回答了2个问题 | 采纳率
1.图论
2.数据结构
3.搜索
4.动态规划
5.模拟
6.数学
7.计算几何
8.博弈论
9.字符串
1年前

相关推荐

ACM竞赛中谈到AC了题,
下一个奇迹1年前2
ping78912 共回答了18个问题 | 采纳率83.3%
AC是accepted的简称,表示这题所有测试点通过
参加acm竞赛需要学数论、图论、组合数学,这三门课在组合数学中有吗?
参加acm竞赛需要学数论、图论、组合数学,这三门课在组合数学中有吗?
我学软件工程的新生,有一门acm竞赛的选修,这门选修其中要学数论、图论,组合数学.但是我们以后会有一门必修课离散数学,数论、图论,组合数学会在离散数学中学吗?选修老师只说“离散数学中会有一部分数论、图论,组合数学的知识”,我有必要学这门选修吗?谢谢~
shdp991年前1
jetholly 共回答了15个问题 | 采纳率86.7%
离散里面有一部分的
不过主要的还是自己去学
我也是软件的 1年前走上了ACM这条不归路...
数学、C语言问题(ACM竞赛题)
数学、C语言问题(ACM竞赛题)
火车上列车员卖鸡腿,一共来两次,第一次A元可以买到B个鸡腿,第二次C元可以买到D个,你有M元,最多能买几个鸡腿?
比如,你有5元,列车员第一次来卖3元3个,第二次来4元1个,你可以第一次用3元买到3个;你有3元,他第一次卖1元2个,第二次2元5个,你可以第一次用1元买两个,第二次用2元买5个,一共7个.
求详细解答.不会C语言的只要吧计算过程写出来就可以了,会C语言的最好帮忙编一下,谢谢!
原题:
Almost everybody have ever taken the train,but have you taken
a long-distance train? There are some salesmen on the long-distance
train saling their food or souvenirs,and MouGe is one of them.
Suppose you were on a train , and now MouGe comes again with some
chicken legs, he will pass through your seat twice,and each time
the price he sales his chicken legs is different. When MouGe come
,the price is A yuan for B chicken leg(s) and when he goes it is
C yuan for D chicken leg(s).You have M yuan,how many chicken legs
can you buy most?(Suppose MouGe has infinite chicken legs)
Input
The first line contains an integer T, which indicates the number of
test cases.Each test case contains an integer M(0
abenny1年前1
我是xxNOW 共回答了20个问题 | 采纳率95%
不需要算单价:
E=A; A便宜不动
Z=C;
if(A>=C)
{E=C;
Z=A;
L=D;
D=B;
B=L;
} C便宜,AC互换,B,D也互换.
E=M/E; 算出最多要算几次(都买便宜价格不会超出上限,涵盖所有情况)
for(i=0,F=0;iF) F=G;
}
为什么小学就有ACM竞赛啊
我家的oo数不清1年前1
曼拉 共回答了23个问题 | 采纳率87%
5、概率论——竞赛是以黑箱来判卷的,这就是说你几乎不能动使用概率算法的ACM好像学校都有培训啊 而且是组队参赛 但课题相当艰巨 做好准备! ACM