牛客寒假算法基础集训营2下

简介: 笔记

H 小沙的数数


题意:n个格子,所有格子总和为m,要使得所有格子异或和最大,问情况数。

思路:
  1. 由于异或不会超过原总和数m,所以分析得每个格子都不会有对应二进制下该位同为1的情况
  2. 对于m的每一位1互不影响,都有n种格子放的情况
  3. 答案就是 n^x, (x为m的1的位数)
void solve() {
    int n, m; cin >> n >> m;
    int x = 0;
    while(m) {
        x += 1;
        m -= lowbit(m);
    }
    cout << qmi(n % mod, x) << endl; // n % mod 放进去,不然qmi里*会爆ll
}

I 小沙的构造


pass


J 小沙的Dota


pass


K 小沙的步伐


签到

void solve() {
    string s; cin >> s;
    int res[10] = {0};
    rep(i, 0, s.sz) {
        if(s[i] == '5') continue;
        else res[s[i] - '0'] ++;
        res[5]++;
    }
    rep(i, 1, 10) cout << res[i] << ' ';
    cout << endl;
}

L 小沙的remake(普通版)


pass


M 小沙的remake(竞速版)


pass
相关文章
|
4月前
|
算法 机器人
|
11月前
|
人工智能 算法
|
11月前
|
算法 数据库 C语言
|
11月前
|
机器学习/深度学习 人工智能 算法