zoukankan      html  css  js  c++  java
  • [20181016晚][模拟赛]

    题目

    enter image description here

    思路

    这个题目看了很久没有思路,旁边的大(S)佬(B)不到十分钟就秒了。知道正解之后感觉自己太菜了。

    首先题目意思就是,要找到两个数,使得这两个数中所有的数码都是对应的。也就是x的数码中如果有1,2,3那么y中也必须有1,2,3对个数不做限制。那么就用一个数来表示一些数码组合。比如说123,那么就找一个二进制上1,2,3位都是1的数7来表示由1,2,3组成的数。然后从1扫到n,因为先扫到小的,所以后面可以直接查询,然后修改。

    代码

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    typedef long long ll;
    ll read() {
        ll x = 0,f = 1;char c = getchar();
        while(c < '0' || c > '9') {
            if(c == '-') f = -1;
            c = getchar();
        }
        while(c >= '0' && c <= '9') {
            x = x * 10 + c - '0';
            c = getchar();
        }
        return x * f;
    }
    int now = 0;
    int solve(int x) {
        int now = 0;
        while(x) {
            now |= 1<<(x%10);
            x /= 10;
        }
        return now;
    }
    ll a[10000000];
    int main() {
        int	n = read();
        ll ans = 0;
        for(int i = 1;i <= n;++i)
            ans += a[solve(i)]++;
        cout<<ans;
        return 0;
    }
    

    每篇一言

    罪?那是人类们以自己的标准任意决定的。 ——寄生兽

  • 相关阅读:
    django在admin后台注册自己创建的数据库表
    django的缓存机制
    python中eval函数作用
    falsk之文件上传
    django请求的生命周期
    mongodb高级操作
    mongodb基本操作
    mongodb安装教程
    flask之jinjia2模板(二)
    Maven系列--"maven-compiler-plugin"的使用、Maven之Surefire插件
  • 原文地址:https://www.cnblogs.com/wxyww/p/9801758.html
Copyright © 2011-2022 走看看