zoukankan      html  css  js  c++  java
  • 做题经验(个人瞎扯淡)

    分类

            一、小数据范围,需要枚举,求最大或最小值

               搜索,for循环枚举

            二、数据较大,也有枚举特征,或等差序列

               动态规划

            三、题目比较长,题中有对流程的描述

             模拟

            四、看起来像数学中的找规律题

               数论,想不出公式就递推

            五、给了一个图,找最短路径

               最短路算法

            六、给了一个图,判断图的连通性并在连通时求大或最小

            生成树

               七、在一段区间里修改或求和

            线段树、树状数组、模拟

               八、最大值最小或是最小值最大或判断一个数成不成立

            二分答案

        九、素数的判断

       枚举到根号a。

        十、中位数与最小值

       均分纸牌问题。

       十一、网络流的限流

       新建一个汇点,连一条流量为限制流量的边。

       十二、把一个数的每一位拼成一个整数

    for(int i=t1;i>=1;i--)
    {
        tot=tot*10+ori[i];
    }

        十三、带权二分图最大匹配

       源点到左边点流量为1,费用为0;左边点到能匹配的右边点流量为1,费用为边权;左边点到汇点流量为1,费用为0。

       十四、平面图染色

       颜色=2时,如果n是基数则方案数为0,n是偶数则方案数为2。

       十五、询问一些序列中最多重复的个数

       做一个统计序列,在序列的左端点+1,右端点-1,然后做这个序列的前缀和。

       十六、bitset神器

       这玩意所占空间是相同元素个数的bool数组的1/8,运行时间是1/32(32位系统)或1/64(64位系统)。

        十七、cctype库函数

        

        

       十八、堆的复杂度计算

        log(堆的大小),与输入数据的规模无关。

       十九、nth_element(first,kth,last)函数

        使第k大元素处于第k位置,并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后,但不能保证他们是有序的。

        二十、long double类型函数

       在一般的cmath函数后面加一个l,否则即使传参是long double,计算的结果也是double。输入/出long double最靠谱的方式是用double类型输入/出然后转成            long double。

       二十一、位运算^

       如果a^b==2,那么a^2==b。

       二十二、数对个数

         可重:n(n-1)。不可重:n(n-1)/2。

       二十三、优先队列的comp

         大小于号方向与元素大小相反

       

    #include <queue>
    #include <iostream>
    
    using namespace std;
    
    struct cmp {
        bool operator()(int i, int j) {return i < j;}
    };
    
    int main() {
        priority_queue<int, vector<int>, cmp> q;
        for (int i = 0; i < 5; i++) {q.push(i);}
        for (int i = 0; i < 5; i++) {cout << q.top() << ' '; q.pop();}
        return 0;
    }

    暂时这些,想到在更。

  • 相关阅读:
    Codeforces 903F Clear the Matrix
    Codeforces 899D Shovel Sale
    Codeforces 898E Squares and not squares
    Codeforces 899B Months and Years
    Codeforces 854B Maxim Buys an Apartment:贪心
    BZOJ 1198 [HNOI2006]军机调度:dfs
    BZOJ 1196 [HNOI2006]公路修建问题:二分 + 贪心生成树check(类似kruskal)
    BZOJ 1193 [HNOI2006]马步距离:大范围贪心 小范围暴搜
    BZOJ 1192 [HNOI2006]鬼谷子的钱袋:二进制 砝码称重问题
    BZOJ 1191 [HNOI2006]超级英雄Hero:二分图匹配 匈牙利算法
  • 原文地址:https://www.cnblogs.com/SpeedZone/p/7223897.html
Copyright © 2011-2022 走看看