题意: 给定n个数字,和一个模数k,从中选出两个数,直接拼接,问拼接成的数字是k的倍数的组合有多少个. 思路: 对于a,b两个数,假定len = length of (b),那么a,b满足条件就是a * (len个10) + b 是k的倍数,相当于a * (len个10)% k + b % k = k: 那么我们可以预处理出每个数字%k的结果,用map计数.然后枚举每个数字,每个数字都有10种可能,因为len最大为10.每一次查找map中的数字要用find函数,不要用[]运算,find是二分,…
Codeforces Round #506 (Div. 3) E dfs+贪心 #include<bits/stdc++.h> using namespace std; typedef long long ll; ; int n,u,v; int ans; vector<int>M[maxn]; int dfs(int cur,int pre) { ; ;i<M[cur].size();i++) { int nex = M[cur][i]; if(pre == nex)con…
D. Concatenated Multiples You are given an array aa, consisting of nn positive integers. Let's call a concatenation of numbers xx and yy the number that is obtained by writing down numbers xx and yy one right after another without changing the order.…
C. Maximal Intersection time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given nn segments on a number line; each endpoint of every segment has integer coordinates. Some segments ca…