• 【算法·Algorithms】算法目录


    3. Dynamic Programming

    links

    dp 分类:
    LIS | LCS
    区间dp( OI 区间dp | dp区间入门)
    segment tree


    Sum: k n 问题

    int waysOfSumGreater(int n,int k){
        int dp[n+2][n+2];
        memset(dp,0,sizeof(dp));
        for(int i=1;i<n+1;i++){
            dp[i][i]=1;
            for(int j=i-1;j>=1;j--){
                dp[i][j]=dp[i][j+1]+dp[i-j][j];
            }
        }
        return dp[n][k];
    }
    int waysOfSumLess(int n,int k){
        int dp[n+1][n+1];
        memset(dp,0,sizeof(dp));
        for(int j=0;j<n+1;j++){
            dp[0][j]=1;
        }
        for(int i=1;i<n+1;i++){
            dp[i][0] = 0;
            dp[i][1] = 1;
            for(int j=2;j<n+1;j++){
                if(j>i)
                    dp[i][j] = dp[i][i];
                else
                    dp[i][j] = dp[i][j-1]+dp[i-j][j];
            }
    
        }
    //    for(int i=0;i<n+1;i++){
    //        for(int j=0;j<n+1;j++)
    //            cout<<dp[i][j]<<" ";
    //        cout<<endl;
    //    }
        return dp[n][k];
    }
    

    4. Greedy

    vector<string> splitString(string s,string delimiter){
        size_t pos=0;
        vector<string> result;
        while((pos=s.find(delimiter))!=std::string::npos){
            string token = s.substr(0,pos);
            result.push_back(token);
            s.erase(0,pos+delimiter.size());
        }
        //"1,2,3" last without token
        result.push_back(s);
        return result;
    }
    vector<string> splitString(string s,string delimiter){
        auto start = 0U;    //unsigned integer
        auto end = s.find(delimiter);
        vector<string> result;
        while(end!=std::string::npos){
            string token = s.substr(start,end-start);
            result.push_back(token);
            start = end+delimiter.size();
            end = s.find(delimiter,start);
        }
        //"1,2,3" last without token
        result.push_back(s.substr(start,end));
        return result;
    }
    

    5. Backtrack

    from Chu
  • 相关阅读:
    asp.net web生命周期
    图的数据结构1
    最长公共子串
    内部排序

    棋盘覆盖问题
    队列
    矩阵连乘问题
    图的数据结构2
    旅行售货员问题
  • 原文地址:https://www.cnblogs.com/chubuyu/p/15137618.html
Copyright © 2020-2023  润新知