D. Concatenated Multiples
题意:给出数组,任意拼接后mod k==0;如123,234;拼接后123234;问有多少种组合;
思路:(数学不好=-=)(x*10^len+y)%k==0 => x*10^len==(k-y)%k;预处理出x*10^len,每个长度位len的集合
,然后二分找出(k-y)%k;还有除去自己与自己的拼接;
#include<algorithm>
#include<set>
#include<vector>
#include<queue>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<set>
#include<vector>
#include<queue>
#include<cmath>
#include<cstring>
#include<sstream>
#include<cstdio>
#include<ctime>
#include<map>
#include<stack>
#include<string>
using namespace std;#define sfi(i) scanf("%d",&i)
#define pri(i) printf("%d\n",i)
#define sff(i) scanf("%lf",&i)
#define ll long long
#define mem(x,y) memset(x,y,sizeof(x))
#define INF 0x3f3f3f3f
#define eps 1e-6
#define PI acos(-1)
#define lowbit(x) ((x)&(-x))
#define zero(x) (((x)>0?(x):-(x))<eps)
#define fl() printf("flag\n")
#define MOD(x) ((x%mod)+mod)%mod
#define FASTIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
ll gcd(ll a,ll b){while(b^=a^=b^=a%=b);return a;}
const int maxn=2e5+9;
const int mod=1e9+7;template <class T>
inline void sc(T &ret)
{char c;ret = 0;while ((c = getchar()) < '0' || c > '9');while (c >= '0' && c <= '9'){ret = ret * 10 + (c - '0'), c = getchar();}
}int n;
ll k;
ll power(ll x,ll n)
{ll ans=1;while(n){if(n&1) ans=ans*x%k;x=x*x%k;n>>=1;}return ans;
}vector<ll>v[15];
ll a[maxn];
int len[maxn];
int main()
{//freopen("input.txt", "r", stdin);//FASTIO;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];int x=a[i];for(int j=1;j<=10;j++){ll tmp=x%k*power((ll)10,j)%k;v[j].push_back(tmp%k);}int l=0;while(x){l++;x/=10;}len[i]=l;}ll ans=0;for(int i=1;i<=10;i++){sort(v[i].begin(),v[i].end());}for(int i=0;i<n;i++){int ri=upper_bound(v[len[i]].begin(),v[len[i]].end(),(k-a[i]%k)%k)-v[len[i]].begin();int le=lower_bound(v[len[i]].begin(),v[len[i]].end(),(k-a[i]%k)%k)-v[len[i]].begin();ans+=(ll)(ri-le);if(((a[i]%k)*power(10,len[i])%k+a[i]%k)%k==0) ans--;//减去自身拼合//cout<<ans<<endl;}cout<<ans<<endl;return 0;
}
D. Concatenated Multiples相关推荐
- Codeforces Round #506 (Div. 3) - D. Concatenated Multiples(思维)
题目链接 题意 给你N个数字和一个K,问一共有几种拼接数字的方式使得到的数字是K的倍数,拼接:"234"和"123"拼接得到"234123" ...
- Codeforces Round #506 (Div. 3)题解
妈个蛋,被新手场教做人 不多说进正文 A. Many Equal Substrings time limit per test 1 second memory limit per test 256 m ...
- OI每周刷题记录——lrllrl
看这标题就知道我是模仿的hzwer大佬,远程%%% 大佬的OI经历让蒟蒻我深受感触,为了晚一些AFO本蒟蒻也得加油了 从高二上期第一周开始计数,每个星期天更一次,一直更到我AFO 如果这是我此生最后一 ...
- 【leetcode】472. Concatenated Words
题目如下: Given a list of words (without duplicates), please write a program that returns all concatenat ...
- 【算法题】Multiples of 3 and 5
Multiples of 3 and 5 原题 题意如下: 找出N以内的3和5的倍数的和. 思路 1.刚看到觉得好弱智,直接遍历一遍不就OK了吗?但是第2和第3个测试用例报了TLE,超时. 2.然后想 ...
- Problem 1: Multiples of 3 and 5
小白一枚,python解法,共同学习,一起进步. Problem 1: Multiples of 3 and 5 If we list all the natural numbers below 10 ...
- ProjectEuler Problem1.Multiples of 3 and 5
题目链接:1.Multiples of 3 and 5 题意: 求小于1000的3和5的倍数的和 解题 可以使用循环,也可以直接分析,等差数列求和(注意,3和5的公倍数只需计算一次,多计算的减 ...
- 关于句子embedding的一些工作简介(三)---- Concatenated p-mean Word Embeddings
这篇论文产生sentence embedding的方法非常简单,但是效果并不差.整个方法完全避免了深度模型,个人认为在工业界会有好的前景.由于简单易操作,尽管过去一些论文自称为hard/tough-t ...
- zero-dimensional arrays cannot be concatenated
zero-dimensional arrays cannot be concatenated 原因: 零维数组不能级联:说明矩阵没有数据,检查一下是不是代码中赋值给他的矩阵名字弄错了,而赋了空值
- 图论 ---- D. Multiples and Power Differences (全局lcm + 矩阵二分图)
题目链接 题目大意: 给你一个n×mn×mn×m的矩阵aaa 1≤a[i][j]≤161≤a[i][j]≤161≤a[i][j]≤16 要你构造矩阵bbb,使得bbb矩阵的元素为aaa矩阵元素的倍数 ...
最新文章
- excel java concat
- jQuery操作Dom、jQuery事件机制、jQuery补充部分
- Spring Boot2.x-14 使用Prometheus + Grafana 实现可视化的监控
- SAP SD基本业务总结
- TCP 的有限状态机
- IIS 权限错误(401.1 401.2 401.3)解决办法
- bootstrap 悬浮固定_CST Tech Tips - 流式细胞术中如何固定和通透细胞?
- 环形队列出队的元素怎么输出出来_队列:队列在线程池等有限资源池中的应用...
- 算法岗面试前怎样高效刷题?
- 使用 Python 实现鼠标键盘自动化
- 反欺诈之设备指纹(下篇)
- vscode使用:tab键插入空格而不是tab
- 计算机一级考试wps教程视频教程,全国计算机等级考试一级WPS Office教程(2008年版)...
- Bounds(包围盒)详解-【AABB包围盒、Sphere包围球、OBB方向包围盒、FDH固定方向凸包】
- 添加打印机,本地打印后台处理程序服务没有运行
- calipso是什么意思_porridge是什么意思_porridge的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Appium自动化测试基础 — uiautomatorviewer定位工具
- amd为什么还用针脚_闲聊CPU针脚 一年一换都怪AMD不给力?
- 欧文分校的计算机科学博士,2020年加州大学欧文分校博士含金量
- 六面体体积求解(规则不规则)
热门文章
- 铁蛋白-AHLL纳米颗粒|人表皮生长因子-铁蛋白重链亚基纳米粒子(EGF-5Cys-FTH1)|铁蛋白颗粒包载氯霉素Chloramphenicol-Ferritin
- 错误数据(图片)去除
- 基于java的在线医院挂号系统设计(含源文件)
- 资产证券化为什么需要区块链技术?专访趣链科技揭开“区块链+ABS”迷雾
- 天刀霸王枪服务器怎么维护了,霸王枪27日合服 11批天涯合服维护公告
- 树莓派Ubuntu20.04常见问题总结
- 在win10中加载ISO文件到虚拟光驱
- 黑色星期五:纳斯达克五大科技股市值单日蒸发约1000亿美元
- 保利威视根据vid查询视频信息
- UY_ELI, EL社区app