首页 > 其他分享 >P8712 [蓝桥杯 2020 省 B1] 整数拼接

P8712 [蓝桥杯 2020 省 B1] 整数拼接

时间:2023-04-06 21:22:05浏览次数:55  
标签:P8712 15 pw int ll 蓝桥 2020

P8712 [蓝桥杯 2020 省 B1] 整数拼接

https://www.luogu.com.cn/problem/P8712
这题想多了一步。。不需要求逆元,因为最多9位数,所以直接 \(O(10n)\) 记录乘积的模值
注意不能用map

#include <bits/stdc++.h>
#define ll long long

using namespace std;
const int N = 1e5 + 5;
ll a[N], b[N], n, k, cnt, a0;
ll pw[15];

int main () {
    pw[0] = 1;
    for (int i = 1; i < 15; i++)   pw[i] = pw[i-1] * 10;
    scanf ("%lld%lld", &n, &k);
    unordered_map<ll, int> mp[15];
    for (int i = 1; i <= n; i++) {
        scanf ("%lld", &a[i]);
        b[i] = to_string (a[i]).size ();
        a[i] %= k;
        for (int j = 0; j <= 10; j++)    mp[j][pw[j]%k*a[i]%k]++;
    }    
    //for (int i = 1; i <= n; i++)    cout << a[i] << ' ' << b[i] << endl;
    for (int i = 1; i <= n; i++) {
        cnt += mp[b[i]][(k-a[i])%k];
        if ((pw[b[i]] % k * a[i] + a[i] % k) % k == 0)    cnt --;
    }
    printf ("%lld\n", cnt);
    return 0;
}

//mod k == 0
//(bx+a)%k=0
//bx=k-a(mod k)
//x=(k-a)*bb (mod k)
//求逆元的时候注意特判0

//费马小定理求逆元只适用于模数是质数
//不要求逆元!!!!

标签:P8712,15,pw,int,ll,蓝桥,2020
From: https://www.cnblogs.com/CTing/p/17294238.html

相关文章

  • 蓝桥杯——解码
       输入样例:H3el5o2题解:#include<bits/stdc++.h>usingnamespacestd;chars[110];stringres;intnum;intmain(){scanf("%s",s);for(inti=0;i<strlen(s);){if((i+1<strlen(s))&&(s[i+1]>='0�......
  • 蓝桥杯——整除数列
     题解:#include<bits/stdc++.h>usingnamespacestd;intmain(){longlongn;cin>>n;while(n>0){cout<<n<<"";n=n/2;}}......
  • 蓝桥杯——整数拼接
    整数拼接   测试用例:421234题解:#include<bits/stdc++.h>usingnamespacestd;longlonga[100010];longlongf[11][100010];//余数数组,表示a[i]*10^r%k的个数longlongres;intmain(){longlongn,k;cin>>n>>k;for(inti=0;i<......
  • 蓝桥杯——走方格
       题解:#include<bits/stdc++.h>usingnamespacestd;intf[40][40];intn,m;intmain(){cin>>n>>m;f[0][1]=1;for(inti=1;i<=n;i++){for(intj=1;j<=m;j++){if(i%2==0&&j%2==0......
  • Exp4-恶意代码分析 20202211王宏韬
    目录1.实验后回答问题(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。2.实验总结与体会......
  • 4/5总结备战蓝桥杯
    在今天清明节,放假一天,我早上准备了蓝桥杯,下午也学习了蓝桥杯,然后出去吃了一顿饭,回到宿舍已经10点,然后又学习了蓝桥杯。我学习了以下题:刷题:#include<iostream>#include<bits/stdc++.h>usingnamespacestd;intmain(){ longlonga,b,n; cin>>a>>b>>n; intsum=0; ......
  • 蓝桥杯4天冲刺3
     这道题其实并不难,做出来的关键是理解题意答案(来自网络)——#include<iostream>#include<vector>usingnamespacestd;typedeflonglongLL;LLn,ma,mb,ans,temp,key;vector<LL>nums_a;vector<LL>nums_b;intmain(){scanf("%lld%lld",&n,&ma);//......
  • 蓝桥-卡片
    #include<bits/stdc++.h>//包含所有常用的头文件usingnamespacestd;inta[10];//定义一个数组a,存储每个数字出现的次数intmain(){memset(a,0,10);//将数组a的所有元素初始化为0for(longlongi=1;;i++){//从1开始遍历整数strings=to_......
  • 蓝桥-单词分析
    https://www.lanqiao.cn/problems/504/learning/?page=1&first_category_id=1&sort=students_count&second_category_id=3#include<bits/stdc++.h>//包含所有常用的头文件usingnamespacestd;intmain(){map<char,int>m;//定义一个map,用于存储字符和出现次数的......
  • 蓝桥杯4天冲刺2
    爱丽丝要完成一项修剪灌木的工作。有N棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌木,让灌木的高度变为0厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。直到修剪了最......