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

2024-03-02 11:36
文章标签 2020 蓝桥 拼接 整数 b1

本文主要是介绍[蓝桥杯 2020 省 B1] 整数拼接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、题目描述

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

二、题目简析

我们选两个数 a a a b b b,用 f ( a , b ) f(a, b) f(a,b) 表示 a a a 在前、 b b b 在后的拼接,即 f ( a , b ) = a ∗ 1 0 b . s i z e + b f(a, b) = a * 10^{b.size} + b f(a,b)=a10b.size+b。要满足 k ∣ f ( a , b ) k~|~f(a, b) k  f(a,b),则

f ( a , b ) ≡ 0 ( mod  k ) a ∗ 1 0 b . s i z e + b ≡ 0 ( mod  k ) a ∗ 1 0 b . s i z e ≡ − b ( mod  k ) \begin{split} f(a,b) &\equiv 0~(\text{mod}~k) \\ a * 10^{b.size} + b &\equiv 0~(\text{mod}~k) \\ a * 10^{b.size} &\equiv -b~(\text{mod}~k) \\ \end{split} f(a,b)a10b.size+ba10b.size0 (mod k)0 (mod k)b (mod k)


三、AC代码

#include <bits/stdc++.h>using namespace std;const int MAX = 1e5 + 3;
typedef long long ll;
typedef pair<ll, int> P;P A[MAX];
int n, k, R[13][MAX], fact[13];
ll ans; P quickin(void)
{ll ret = 0;int cnt = 0;bool flag = false;char ch = getchar();while (ch < '0' || ch > '9'){if (flag == '-')    flag = false;ch = getchar();}while ('0' <= ch && ch <= '9' && ch != EOF){cnt++;ret = ret * 10 + ch - '0';ch = getchar();}if (flag)    ret = -ret;return P(ret, cnt);
}ll quickme(ll x, ll n, ll m)
{ll ret = 0;while (n > 0){if (n & 1)    ret = ret * x % m;x = x * x % m;n >>= 1;	}return ret;
}int main()
{#ifdef LOCALfreopen("test.in", "r", stdin);#endifcin >> n >> k;for (int i = 0; i < n; i++){A[i] = quickin();// 预处理 -b mod k int res = (-A[i].first) % k;if (res < 0)    res += k;R[A[i].second][res]++;}fact[1] = 10 % k;for (int i = 2; i <= 10; i++)fact[i] = fact[i - 1] * 10 % k;for (int i = 0; i < n; i++){int t = (-A[i].first) % k;if (t < 0)    t += k;for (int j = 1; j <= 10; j++){// 求 a * 10^b.size mod k int L = A[i].first * fact[j] % k;// 判重 if (A[i].second == j && t == L)ans += R[j][L] - 1;elseans += R[j][L];}}cout << ans << endl;return 0;	
}

这篇关于[蓝桥杯 2020 省 B1] 整数拼接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/765987

相关文章

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_s

单精度浮点数按存储格式转为整数的程序

///#include<cstdio>//-----------------union int_char{unsigned char ch[4];float i;};void out_put(union int_char x)//x86是小端对其模式,即最数据的最低位存储在地址的最低位上。{printf("单精度浮点数值为:%f\n",x.i,x.i);printf("存储位置从左到右

js操作Dom节点拼接表单及ajax提交表单

有时候我们不希望html(jsp、vm)中有创建太多的标签(dom节点),所以这些任务都由js来做,下面提供套完整的表单提交流程,只需要在html中添加两个div其余的都由js来做吧。下面原生代码只需略微修改就能达到你想要的效果。 1、需要创建表单的点击事件 <a href="javascript:void(0);"onclick="changeSettleMoney('$!doctor.do

【语句】如何将列表拼接成字符串并截取20个字符后面的

base_info = "".join(tree.xpath('/html/head/script[4]/text()'))[20:] 以下是对这个语句的详细讲解: tree.xpath('/html/head/script[4]/text()')部分: tree:通常是一个已经构建好的 HTML 文档树对象,它是通过相关的 HTML 解析库(比如 lxml)对 HTML 文档进行解

用异或交换两个整数的陷阱

前面我们谈到了,可用通过异或运算交换两个数,而不需要任何的中间变量。 如下面: void exchange(int &a, int &b) {     a ^= b;     b ^= a;     a ^= b; } 然而,这里面却存在着一个非常隐蔽的陷阱。 通常我们在对数组进行操作的时候,会交换数组中的两个元素,如exchang(&a[i], &b[j]),

Java中等题-整数替换(力扣)

给定一个正整数 n ,你可以做如下操作: 如果 n 是偶数,则用 n / 2替换 n 。如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。 返回 n 变为 1 所需的 最小替换次数 。 示例 1: 输入:n = 8输出:3解释:8 -> 4 -> 2 -> 1 示例 2: 输入:n = 7输出:4解释:7 -> 8 -> 4 -> 2 -> 1或 7 ->