zoukankan      html  css  js  c++  java
  • Code Jam Kickstart 2018 Round G 题解

    这轮kickstart是自己认真参加的,但是一题也没做出T T;讲道理每次的第一题是最简单的,应该可以作出,但是这次的题目,还是算法写错了,没关系,赛后复盘总结下;

    Problem A : Product Triplets

    https://code.google.com/codejam/contest/5374486/dashboard#s=p0&a=0

    题意:

    即在一个数组中找到至少满足下面三个条件之一的三元组(x,y,z)

    • Ax = Ay × Az, and/or
    • Ay = Ax × Az, and/or
    • Az = Ax × Ay

    分析:

    是一道搜索题,暴力搜索O(n^3)

    我的算法使用set记录,O(n^2),但是有的case没通过;错的原因应该是没有考虑清楚重复的情况,比如数值相同,但下标不同,也算不同的三元组的情况;

    另外我没想到可以先排序

    解法:

    因为会存在重复的数,那么可以使用map来记录重复的数,可以把时间复杂度降低到o(n^2)

    伪代码:

  • 相关阅读:
    博弈论基础与习题(未完)
    三视图求最多方块数
    二维前缀和应用
    卡特兰数
    UVa 11806 Cheerleaders(容斥定理)
    逃出升天
    求排列的逆序数
    求2进制下1的个数
    字符串哈希基础与应用
    网络流基础与应用
  • 原文地址:https://www.cnblogs.com/shawshawwan/p/9828657.html
Copyright © 2011-2022 走看看