zoukankan      html  css  js  c++  java
  • 模板【二分】

    PART1(算法思想简介)

    1.实现

    2.时间复杂度

    3.特别优势

    4.适用情况

    5.需要注意的点

    6.函数、变量名的解释+英文

    7.dalao分析

    PART2(算法各种类型(并附上代码))

    #include <iostream>
    using namespace std;
    const int N = 1e3 + 9;
    const int inf = 0x3f3f3f3f;
    int n, k, a[N];
    bool Check(int x)
    {
        int now = 0, cnt = 0;
        for(int i = 0; i < n; i++)
        {
            if(now + a[i] > x)
            {
                ++cnt;
                now = a[i];
            }
            else
            {
                now += a[i];
            }
        }
        return cnt <= k;
    }
    
    int BinarySearch(int l, int r)  //找到满足条件的最小值
    {
        while(l < r)
        {
            mid_;
            if(Check(mid))
            {
                r = mid;//(找到最大值和这个是不一样的写法)
            }
            else
            {
                l = mid + 1;
            }
        }
        return l;
    }
    /*
    下面这种写法也是可以的,而且更快
    int BinarySearch(int l, int r)  //找到满足条件的最小值
    {
        while(l <= r)
        {
            mid_;
            if(Check(mid))
            {
                r = mid-1;//(找到最大值和这个是不一样的写法)
            }
            else
            {
                l = mid + 1;
            }
        }
        return l;
    }
    */
    int main() { int ma = -inf, sum = 0; cin >> n >> k; for(int i = 0; i < n; i++) { cin >> a[i]; ma = max(ma, a[i]); sum += a[i]; } cout << BinarySearch(ma, sum) << endl; return 0; }

    PART3(算法的延伸应用)

    PART4(对算法深度的理解)

    PART5(与其相关的有趣题目)

     

    好文要顶 关注我 收藏该文

  • 相关阅读:
    mysql字符集设置
    mysql解压版服务启动方式
    html的表格边框为什么会这么粗?
    通过js获取tinymce4.x的值
    bzoj 3083 树链剖分
    bzoj 1143 二分图最大独立集
    bzoj 2303 并查集
    可持久化数据结构讲解
    bzoj 1072 状压DP
    bzoj 2741 可持久化trie
  • 原文地址:https://www.cnblogs.com/bear-xin/p/15047799.html
Copyright © 2011-2022 走看看