• 2017/09/06~2017/09/10:算法练习小记


    2017/09/06

    今天做了7622求排列逆序,半个小时,得到了一个时间超时的结果,但是我不太知道怎么改进了。

    代码如下:

    #include <iostream>
    #include <algorithm>
    using namespace std;
    int num[100002];
    int status[100002];
    long long result = 0;
    int n;
    int cal2(int number){
        int x=0;
        for(int i=number;i<n;i++){
            if(status[i]==1)
                x++;
        }
        return x;
    }
    
    void cal(int number){
        int i=0;
        for(;i<n;i++){
            if(status[i]==0){
                if(number == num[i]){
                    status[i]=1;
                }
    
                if(number > num[i]){
                    break;
                }
            }
        }
        result+=(n-i-cal2(i));
    }
    
    bool cmp(int a,int b){
        return a>b;
    }
    
    int main()
    {
        int x[100002];
        cin>>n;
        for(int i=0;i<n;i++){
            cin>>num[i];
            x[i]=num[i];
            status[i]=0;
        }
        sort(num,num+n,cmp);
    
    
        for(int i=0;i<n;i++){
            cal(x[i]);
        }
        cout<<result<<endl;
        return 0;
    }

    思路是把数组排序好,然后每个对应了标记,用过的就把标记设为1,这样再计算。

    后来发现,确实要循环很多次,有点耗时间。

    然后看看提干,发现有提示说用归并排序,然后我就去查归并排序了。

    后来发现是利用递归,然后把左边排好,右边排号,再合并起来。

    但是我还是不太熟悉,大概是弄懂原理了,还是错了0-0。

    觉得自己周末得花半天来专门练习算法,然后解决这些遗留问题,

    然后每天的算法题如果没做出来,就至少也得写一篇这样的小结文章,反思,嗯啊加油。

    2017/09/07

    今天做了一个动态规划的题目(8780:导弹拦截),之前上课没认真听,感觉是白听了,也没感觉到动态规划到底是个啥东西。

    感觉自己下次得先把老师讲的题目做做再去听课,会有印象一些T-T。

    后来参考了一位童鞋的代码:http://blog.csdn.net/c20190733_zt/article/details/77456620。

    刚开始看这个思路还是能理解,但是后来发现自己弄错了啊,后来发现是它很巧妙地...就把它一环扣一环。

    换个题目自己可能就想不出了- _-,果然还是得好好理解好概念和方法,今天依旧失败。

    不会放弃的( •̀ ω •́ )

    2017/09/08

    今天又是大失败啊,想好好了解了解动态规划,结果最后感觉还是模模糊糊,看到题目不知道怎么下手,最后源码也没看懂。

    明天就是放假了,一定要对自己狠一点练习!!我觉得我必须要要调整好自己的心态,不能因为算法写不出就没有信心学前端了QAQ,

    好咯,今天就先这样吧,明天一定要弄懂。

  • 相关阅读:
    DFS(White-Gray-Black)
    Recursive Depth first search graph(adj matrix)
    TED_Topic1:Why we need to rethink capitalism
    Eng1—English daily notes
    R2—《R in Nutshell》 读书笔记(连载)
    R1(上)—R关联规则分析之Arules包详解
    R1(下)—数据挖掘—关联规则理论介绍与R实现
    R0—New packages for reading data into R — fast
    Tools0—Word2013发布博客到博客园的详细方法介绍
    day6 类
  • 原文地址:https://www.cnblogs.com/rimochiko/p/7487084.html
Copyright © 2020-2023  润新知