当前位置: 首页 > article >正文

整数拼接(哈希表 枚举)

2068. 整数拼接 - AcWing题库

#include <bits/stdc++.h>
using namespace std;

const int N = 1e5 + 10;

int n,k;
int a[N];
int s[11][N]; //因为Ai <= 10^9  10^9 是一个10位数,所以要*10^10 才能拼接

int main()
{
    cin >> n >> k;
    for (int i = 1;i <= n;i++) cin >> a[i];
    
    //预处理s[i][j]数组 表示(Aj * 10^i) % k 为 j 的个数 i从0~10
    for (int j = 1;j <= n;j++)
    {
        int t = a[j] % k;
        
        for (int i = 0;i <= 10;i++)
        {
            s[i][t]++;
            t = t * 10 % k;
        }
    }
    
    long long res = 0;
    
    //枚举Ai , 查有多少个Aj 满足 (Aj * 10 ^ len(Ai) ) % k == -Ai % k
    for (int i = 1;i <= n;i++)
    {
        int t = a[i] % k;
        
        int len = to_string(a[i]).size();
        
        res += s[len][(k-t)%k];
        
        //判重 Ai = Aj 的情况减去
        int r = t;
        while (len--) r = r * 10 % k;
        if (r == (k-t)%k) res--;
    }
    
    cout << res << '\n';
    
    return 0;
}


http://www.kler.cn/a/466226.html

相关文章:

  • 2025年Stable Diffusion安装教程(超详细)
  • 在Linux中,如何查看和修改网络接口配置?
  • conan从sourceforge.net下载软件失败
  • 大数据面试笔试宝典之大数据运维面试
  • 047_小驰私房菜_Qcom 8系列,Jpeg GPU 旋转
  • Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)
  • docker基本概念,docker镜像管理,docker命令
  • zookeeper+kafka
  • 深入剖析MySQL数据库架构:核心组件、存储引擎与优化策略(四)
  • matlab系列专栏-matlab概述
  • xdoj 出现次数最多的数
  • WPF 数据绑定中的通知机制及其性能考虑
  • Android多渠道打包【友盟方式详细讲解版】
  • 《Opencv》基础操作详解(4)
  • python实现,outlook每接收一封邮件运行检查逻辑,然后发送一封邮件给指定邮箱
  • 单片机按键扫描程序,可以单击、双击、长按,使用状态机,无延时,不阻塞。
  • JavaScript中的“==”和“===”有什么区别
  • Docker 容器技术与 K8s
  • 七、Hadoop环境搭建之安装JDK
  • 基于RNN模型的心脏病预测,提供tensorflow和pytorch实现
  • 单元测试3.0+ @RunWith(JMockit.class)+mock+injectable+Expectations
  • 【工具进阶】使用 Nmap 进行有效的服务和漏洞扫描
  • 报考重庆大学计算机研究生有哪些要求?
  • 弧形导轨如何避免生锈?
  • 学AI编程的Prompt工程,豆包Marscode
  • 扩展正则表达式