首页 > 其他分享 >Codeforces Beta Round 10 C

Codeforces Beta Round 10 C

时间:2023-12-04 20:01:48浏览次数:30  
标签:10 int Codeforces while Beta 枚举 now

111
发现d(x)只有0-9的值
我们可以把按d(x)来分类
发现要只计算
我们就可以枚举d(C)d(a)d(b)贡献就是 这三个任选
要是有前面限制呢 我打了一下表 发现要是AB=C 那么肯定满足后面
这样我们就只用枚举C然后算他有多少对因子即可
然后发现C是1-n 连续的 可以直接枚举因子A 就可以快速算出有多少对

void solve(){
    int n;cin>>n;
    vector<int>d[10],D[10];
    for(int i=1;i<=81;i++){
        int x=i;
        while(x>=10){
            int now=0;
            while(x)now+=x%10,x/=10;
            x=now;
        }
        D[x].push_back(i);
    }
    vector<int>mp(n+1);
    for(int i=1;i<=n;i++){
        int x=i;
        while(x>=10){
            int now=0;
            while(x)now+=x%10,x/=10;
            x=now;
        }
        d[x].push_back(i);
        mp[i]=x;
    }
    long long ans=0;
    for(int i=1;i<=n;i++){
        ans-=n/i;
    }
    for(int i=0;i<=9;i++){
        for(auto j:D[i]){
            if(j>81)break;
            for(int l=1;l<=9;l++){
                if(j%l)continue;
                int r=j/l;
                if(r>=10)continue;
//                cout<<i<<" "<<l<<' '<<r<<endl;
//                cout<<(int)d[l].size()*(int)d[r].size()*(int)d[i].size()<<endl;
                ans+=(long long)d[l].size()*(long long)d[r].size()*(long long)d[i].size();
            }
        }
    }
    cout<<ans<<endl;
}

标签:10,int,Codeforces,while,Beta,枚举,now
From: https://www.cnblogs.com/ycllz/p/17875800.html

相关文章

  • Codeforces Round 912 (Div. 2) - sol
    CodeforcesRound912(Div.2)-solCodeforcesRound912(Div.2)一直是因为晚上打太晚了就没有打过cf,所以只能vp了。/kk四道题有关位运算——不好评价。A.HalloumiBoxes给出\(n\)个数\(a_1,\dots,a_n\),和一个数\(k\)。问是否能通过任意次翻转\(\lek\)的连......
  • Codeforces Round 910 (Div. 2)
    CodeforcesRound910(Div.2)A.MilicaandStringwa麻了,,,不知道自己在干什么#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;voidsolve(){intk,n;strings;cin>>n>>k>>s;in......
  • Codeforces Round 909 (Div. 3)
    CodeforcesRound909(Div.3)A#include<bits/stdc++.h>#defineintlonglong#defineendl'\n';usingnamespacestd;intn;voidsolve(){cin>>n;for(inti=1;i<=10;i++){if(i&1){if(n%3==0)n++;......
  • Codeforces Round 911 (Div. 2)
    CodeforcesRound911(Div.2)A.CoverinWater,,,mc无限水#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;voidsolve(){intn;strings;cin>>n>>s;s=""+s+......
  • Codeforces Round 912 (Div. 2)
    CodeforcesRound912(Div.2)什么位运算专场A.HalloumiBoxes#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;inta[110];intn,k;voidsolve(){cin>>n>>k;for(inti=0;i<n;i++)cin&......
  • Educational Codeforces Round 158 (Rated for Div. 2)
    EducationalCodeforcesRound158(RatedforDiv.2)AEDU的题总是感觉写起来怪怪的#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;inta[101];voidsolve(){intn,x;cin>>n>>x;intans=0;......
  • 洛谷 P1044 [NOIP2003 普及组] 栈 题解
    洛谷P1044[NOIP2003普及组]栈题解Sol本题通过分析可得:假设现在进行\(12\)次操作,我们把push认为是在地图上向右走,pop向上走,那么其中一个合法的步骤可以是(\(p1\)代表push,\(p2\)代表pop):\(p1,p1,p2,p1,p2,p2,p1,p1,p2,p2,p1,p2\)。而且我们发现,他最终会......
  • Codeforces Round 912 (Div. 2)补题B、C、D1
    CodeforcesRound912(Div.2)B.StORageroom思路\(a_i\)=\(M_i\)\(_1\)&\(M_i\)\(_2\)&\(M_i\)\(_3\)&...&\(M_i\)\(_n\)\((i!=j)\)ac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong......
  • TS5210F系列
    设备特点:自主研发的多通道测量系统,精度高、速度快、稳定可靠;可匹配多种规格的探针板连接器,兼容各型号标准探针版;采用高精度X/Y运动模组,选配旋转平台,可满足不同产品的加工要求;配置同轴视觉对位功能,提高加工精度及操作便利性;配置自动上下料机构,提高批量生产效率;调阻软件支持修调方案......
  • Day10 数组
    1.数组声明//方法一:首选dataType[]arrayName;//方法二:非首选,像c++dataTypearrayName[];2.数组创建2.1动态初始化//不初始化,大小自行决定dataType[]array=newdataType[arraySize];如果动态初始化会赋予该类型元素的默认值:0,0.0,false可以指定数组长度,其中数组......