如何准备Facebook黑客杯?

Facebook黑客杯是由Facebook组织的年度算法编程竞赛。无论是学生、专业人士还是专家,它都吸引着来自世界各地的众多编程爱好者。顶尖竞争者有资格获得Facebook的软件开发者职位面试电话。

null

how to prepare for facebook hackercup

过程是什么?

Facebook黑客杯以其不同的评判环境和各种各样的问题而闻名。它在许多回合中进行,算法挑战的难度不断增加。

注册链接

奖品是什么?(每年可能有所不同)

25名入围者将获得以下奖项(美元):

  • 第一名:20000美元
  • 第二名:10000美元
  • 第三名:5000美元
  • 第四名:3000美元
  • 第五名:1000美元
  • 第6-10名:500美元
  • 第11-15名:300美元
  • 第16-25名:200美元

组织于年月 一月 Facebook黑客杯分四轮进行:

  1. 资格赛: 是最简单的一轮,其中至少有一个问题需要成功解决才能进入下一轮。这一轮持续72小时。
  2. 第一轮: 被选中的候选人参加为期24小时的第一轮比赛,必须获得至少一定数量的分数(每年据此决定),才能有资格参加第二轮比赛。这一轮比资格赛相当困难。
  3. 第二轮: 从第一轮中选出的候选人将提前参加第二轮,并参加3小时的形式竞赛。前200名参与者晋级第三轮,前500名参与者将获得Hackercup T恤。
  4. 第三轮: 前200名参赛者参加这场3小时的比赛,前25名有资格进入现场决赛。从现在开始,习题集变得很难。
  5. 现场决赛: 来自世界各地的前25名参与者在Facebook总部争夺Facebook黑客杯的冠军和奖杯。这些问题非常具有挑战性,足以让参赛者汗流浃背。

而领导层的第一人获得了头衔,并沐浴在荣耀之中。

格式与环境

Facebook黑客杯的评选形式与ACM-ICPC或IOI等其他年度编程比赛截然不同。

  • 比赛开始时,用户需要登录网站。
  • 登录后,他们会看到问题集。在你认为你已经解决了一个问题并且确信它的正确性之后,你必须 下载 输入测试文件。
  • 一旦输入测试文件被下载,一个6分钟的计时器就开始了,在这段时间内,你需要在你的代码上运行输入测试文件并形成一个测试文件。在6分钟内,您需要提交代码和输出文本文件。
  • 您可以多次提交,只有最后一次正确提交的内容才会用于评估。
  • 一旦计时器过期,您将无法再次提交该问题的解决方案。时间惩罚是问题提交次数的总和。

如何准备?

Facebook Hacker cup以其创新性和令人挠痒的算法挑战而闻名。更倾向于数学和各种概念的组合黑客杯通过不同的回合测试知识、实现、准确性、速度、概念性和几乎所有东西。

你需要快速才能在接下来的回合中生存,需要创新才能在最初的长时间回合中生存。

这些都是应该彻底解决的主要问题,因为问题通常来自一个以上的主题。

数论

  1. 欧几里德算法和扩展欧几里德算法
  2. 模算术与模逆
  3. 黄金一代( 滤器 分段筛 )
  4. 费马定理
  5. 欧拉函数
  6. 米勒-拉宾素性检验
  7. 中国剩余定理
  8. 卢卡斯定理。

贪婪算法

  1. 活动选择问题
  2. Kruskal算法
  3. 普里姆算法。

二进制搜索

  1. TopCoder二进制搜索
  2. 二进制搜索
  3. 无处不在的二进制搜索 –掌握离散和连续二进制搜索。

数据结构

  1. 链表
  2. 二叉搜索树
  3. 二叉索引树或Fenwick树
  4. 分段树 ( RMQ , 范围和 惰性传播 )
  5. 红黑树
  6. 散列

广泛的数据结构列表

图算法

  1. 广度优先搜索(BFS)
  2. 深度优先搜索(DFS)
  3. 从源到所有顶点的最短路径**Dijkstra**
  4. 从每个顶点到其他顶点的最短路径**Floyd Warshall**
  5. 最小生成树**Prim**
  6. 最小生成树**Kruskal**
  7. 拓扑排序
  8. 约翰逊算法
  9. 图中的关节点(或切割顶点)
  10. 图中的桥

全图算法

字符串算法

学习字符串的库函数实际上非常有用(C++:参见 , Java中的字符串 ).

  1. KMP算法
  2. 拉宾·卡普
  3. Z算法
  4. Aho字符串匹配
  5. 后缀数组
  6. 有限自动机

动态规划

  1. 动态规划——极客
  2. 动态编程——Codechef

动态规划非常重要,可以与其他各种主题结合使用。一些不同类型的DP概念包括:

经典DP

  1. 最长公共子序列
  2. 子序列
  3. 编辑距离
  4. 最小分割
  5. 保持距离的方法
  6. 矩阵中的最长路径
  7. 子集和问题
  8. 游戏的最佳策略
  9. 0-1背包问题
  10. 装配线调度

所有DP算法

计算几何

  1. 凸包算法
  2. 几何算法

总而言之,Facebook黑客杯是一场极具挑战性的比赛,一个人需要大量的训练和毅力,所有的标准话题都需要刻划和理解。

练习是唯一的方法!

额外要点:

  1. 练习 联合部队 (特别是 健身房 (a)及 TopCoder竞技场 .这将真正有助于基本理解。
  2. Facebook黑客杯的问题与Codeforces和Topcoder有不同的风格,最好的比较可能是 谷歌全球编程挑战赛 他们有相似的格式。
  3. 浏览之前的Facebook–HackerCup问题,熟悉竞赛的形式。

本文由 Yash Kodesia与极客团队合作 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享