蓝桥杯基础知识2

1.哈希表

map哈希表默认按照升序来排序key,就是map<string,int>中string那一部分,系统排顺序就是依照他的升序

但是基于map实现的unorderede_map就是无序的

2.前缀和

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 2e5 + 10;
ll n, a[maxn], b[maxn];
int main()
{
    cin >> n;
    //预处理b数组
    for(int i = 1; i <= n; i++)
        cin >> a[i], b[i] = b[i - 1] + a[i];
    ll S = 0;
    //O(n)求解S
    for(int i = 1; i <= n; i++)
        S += a[i] * (b[n] - b[i]);
    cout<<S<<endl;
    return 0;
}

3.二分

满足某个条件使得一边均满足,另一边均不满足的,就是二分

4.整数与整除

符号^代表的是同时成立的意思

4.组合数公式

#include<bits/stdc++.h>
using namespace std;

int C(int n, int m)
{
    if (m == 0) return 1;//此时组合数为0
    if (m == 1) return n;//此时组合数为n
    if (n == m) return 1;//此时组合数为1
    else return C(n - 1, m - 1) + C(n - 1, m);
}
int main()
{
    int t, n, m;
    cin >> t;
    while (t--)
    {
        int ans;
        cin >> n >> m;
        ans = C(n, m);
        cout << ans << endl;
    }
    return 0;
}

优先级

前缀和 差分

排序 贪心

标准库

填空

递归

dfs bfs

全部评论

相关推荐

爱喝奶茶的垂耳兔拥抱太阳:感觉项目和实习没有技术亮点和难点,单纯说了自己干了啥
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务