2021牛客暑期多校训练营7

I

题意

给定x和s,你需要计算有多少个y满足

思路

分解成二进制形式然后逐位考虑

坑点:正整数 位运算优先级

solution

#include <bits/stdc++.h>
#define sc(x) scanf("%lld", &(x))
#define pr(x) printf("%lld\n", (x))
#define rep(i, l, r) for (int i = l; i <= r; ++i)
using namespace std;
typedef long long ll;
const int N = 1e5 + 7;
const int mod = 1e9 + 7;
bool binx[35], bins[35];
int div(ll x, bool d[]) {
    int len = 0;
    while (x) {
        d[++len] = x % 2;
        x /= 2;
    }
    return len;
}
signed main() {
    ll x, s, y;
    sc(x), sc(s);
    int lenx = div(x, binx);
    int lens = div(s, bins);
    ll ans = 1;
    rep(i, 1, lenx) {
        if (binx[i] && !bins[i])
            return puts("0"), 0;
        else if (binx[i] && bins[i])
            ans *= 2;
    }
    if ((x | 0) == s) --ans;
    pr(ans);
    return 0;
}

H

题意

有一个长度为n的数列,他想知道有多少个三元组满足

思路

  1. 首先桶一下
  2. 然后单独处理1的数量,因为
  3. 然后考虑1和其他任意元素的组合,因为
  4. 然后开始从2考虑,暴力即可

solution

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 7;
int n;
ll a[N];
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0), cout.tie(0);
    cin >> n;
    for (int i = 1, x; i <= n; ++i) cin >> x, ++a[x];

    ll ans = a[1] * a[1] * a[1];
    if (a[1])
        for (int i = 2; i < N; ++i) ans += a[1] * a[i] * a[i] * 2;

    for (ll i = 2; i < N; ++i)
        if (a[i]) {
            if (i * i >= N) break;
            ans += a[i] * a[i] * a[i * i];
            for (ll j = i + 1, x; j < N; ++j)
                if (a[j]) {
                    x = i * j;
                    if (x >= N) break;
                    if (a[x]) ans += a[i] * a[j] * a[x] * 2;
                }
        }
    cout << ans << '\n';
    return 0;
}
全部评论

相关推荐

01-23 14:54
同济大学 Java
热爱敲代码的程序媛:给你提几点【专业技能】这个模块里面可优化的地方:1.【具备JVM调优经验】可以去b站上搜一下JVM调优的视频,估计一两个小时凭你的学习能力就能掌握JVM调优的实践方面的技能。2.【MySql优化】MySql这一栏,你去b站或者找个博客看看MySql优化,学一下,如果你本身比较熟悉MySql语句的话,那基本半天时间凭你的学习能力MySql语句优化方面的技能你也能掌握个差不多。以上1,2两点主要是因为我看你专业技能大部分都说的是偏理论,没有写应用。再就是最后,你结合你的项目,想一想你的项目中哪些sql语句是可以用MySql优化的,到时候你面试的时候也好结合着说一下。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务