USACO中的语言歧视链

来源: 2022-02-04 17:19:36 [博客] [旧帖] [给我悄悄话] 本文已被阅读:

程序员的世界,是个充满歧视的世界,从操作系统到编程语言,从编辑器到IDE,歧视无处不在。

在system programming,用C的歧视C++,用C++歧视其他

在Enterprise solutions,用Java的歧视C#,用C#的歧视Java

在Web Development,以前是Java歧视C#和Javascript。C#歧视Java和Javascript。现在是Javascript歧视Java和C#

在数据分析,Python歧视R,R歧视Python,SAS歧视SPSS

在USACO,C++歧视Java和Python;而Java只有歧视Python.

下面是我统计的在最具竞赛性的Code jam中每一轮语言的使用律,清楚表明最后胜者基本上都是C++

另外,我总结一下各个Level用到的算法:

铜级:brutal force basic searching and sorting

银级:Prefix Sum,Tree,Graphs,DFS。在这一级searching and sorting,C++展现强大功力,特别是Sets with custom comparators

金级:这一级,重点是dynamic programming, 还有number theory,Hashing。在Graph,用BFS,Disjoint set union,Dijkstra,Bellman-Ford, Floyd-Warshall

白金级:基本无所不包,重点是 Range queries和DP

另外,据我所知,USACO出题人都是用C++,给定的时间也是按照C++来给的。所以同样算法的Java和Python可能不过。 尽管给了Java一倍多的时间,但是我的测试同样算法的C++,Java和Python发现,Java用时是C++的5倍,Python更是15-20倍