《挑战程序设计竞赛》题解 | shu_mj 的博客



  • 1 / 1 Problem A POJ 2386 Lake Counting
    A 是例题啊,就直接 dfs 就好了,注意是 8 连块。
  • 1 / 1 Problem B POJ 1979 Red and Black
    B 就直接 dfs 数有多少个联通块。
  • 1 / 1 Problem C POJ 3009 Curling 2.0
    C 题算法也简单,可是实现麻烦。我是一步一步模拟的,并且用了"迭代深搜"。如果之前的搜索是可以最优化剪枝的,那直接每次设置最优解就好了,第一次找到的解就是最优的。直接 bfs 也是可行的,只不过需要记录整张图。迭代深搜看似好写,但是在深度过大时,可能会超时。
  • 1 / 2 Problem D POJ 3669 Meteor Shower
    这一题我看了 POJ 的 discuss,很多同学认为数据有问题,其实不然。数据是正确的,人的活动范围是第一象限,输入的坐标最多是 (300, 300),也就是最多会影响到 301,那么数组开到 303,就可以过了。
  • 1 / 1 Problem E POJ 2718 Smallest Difference
    后面几道题目都是枚举的了。这个直接全排列枚举,如果不符合数字规范就 continue 掉。直接认为前一半是一个数字,后一半是一个数字,这是贪心,可以证明。如果是奇数个数字,就认为前一半少一个数字,可以证明不丢失最优解。
  • 1 / 2 Problem F POJ 3187 Backward Digit Sums
    暴力枚举了,我发现下面一行的数字对原数组的使用其实跟组合数有关。所以我先算了一个组合数,然后全排列枚举原数组,对每个排列,O(n) 计算结果。我觉得这个是可以二分的,不深究了。
  • 1 / 1 Problem G POJ 3050 Hopscotch
    这题为什么我觉得是 DP 呢?反正我是 DP 解的,DP[i][j][k],表示在 (i, j) 位置,长度为的 k 的串的集合。 DP[i][j][k] = U{ DP[与 (i, j) 相邻][k - 1] }。最终答案为 U{ DP[ALL][6] } 的元素个数。

  • Read full article from 《挑战程序设计竞赛》题解 | shu_mj 的博客


    No comments:

    Post a Comment

    Labels

    Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

    Popular Posts