757B - Bash's Big Day 思路:筛法.将所有因子个数求出,答案就是最大的因子个数,注意全为1的特殊情况. 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define pb push_back ; }; int main() { ios::sync_with_stdio(false); cin.tie(); int n,a; cin>>n; ;i<n;i++) {…
http://codeforces.com/problemset/problem/757/B 题意:给出n个数,求一个最大的集合并且这个集合中的元素gcd的结果不等于1. 思路:一开始把素数表打出来,发现有9k+个数,不能暴力枚举.发现O(sqrt(n)*n)似乎可行,就枚举因子,然后出现过的因子就在Hash[]加1,最后枚举素数表里的元素,找出现次数最多的,因为那些数都可以映射在素数表里面.注意最少的ans是1. #include <cstdio> #include <algorith…
B. Bash's Big Day time limit per test:2 seconds memory limit per test:512 megabytes input:standard input output: standard output Bash has set out on a journey to become the greatest Pokemon master. To get his first Pokemon, he went to Professor Zulu'…
传送门:http://codeforces.com/contest/1058/problem/D 题意: 在一个n*m的格点中,问能否找到三个点,使得这三个点围成的三角形面积是矩形的1/k. 思路: 这个题就是找(0,0)(a,0)(0,b)中的a和b,可以得到2*n*m/k = a*b.所以2*n*m%k != 0答案就不存在.接下来就是把等式左边的分母消去,得到a,b的分配值. 如果k是偶数,那个k肯定可以和2约分,所以把k除2. 再得到g = gcd(n,k),a = n/g,就是说能用n…
  Product of digits  For a given non-negative integer number N , find the minimal natural Q such that the product of all digits of Q is equal N . Input The first line of input contains one positive integer number, which is the number of data sets. Ea…
其实这题并不难啊,但是分解因子的细节一定要小心. \(比如样例48,2是因子说明24也是因子,也就是说假如x存在\) \(那么x一定是因子中的最小数乘上最大数\) \(那我们现在去验证x是否存在,先拿x去整除除数表,看看是否所有除数都是x的因子\) \(然后再去判断x的因子个数是不是等于n(确保除数表包含所有因子)\) \(考虑到d_i<=1e6,极端情况下x=1e12(我并不确定这种情况存在)\) \(所以我们不一个一个判断sqrt(x)内的数是否是因子,而是采取短除法\) ll x=zu,n…
time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard output Bash has set out on a journey to become the greatest Pokemon master. To get his first Pokemon, he went to Professor Zulu's Lab. Since Bash is Pr…
题目:http://codeforces.com/contest/1058/problem/D 题意:有一个大小为N*M的矩阵内,构造一个三角形,使面积为(n*m)/k.若存在输出三个顶点(整数). 分析: 首先可以判断,若(2*n*m)%k!=0,一定为NO. 其次,可以想到,三角形可以构造为一个顶点为(0,0)的直角三角形.且满足等式  (2*n*m)%k==0 如果k是偶数,那个k肯定可以和2约分,所以把k除2. 再得到tmp=gcd(n,k),x=n/tmp,就是说能用n约掉一部分k就约…
[题目链接] 点击打开链接 [算法] 若gcd(s1,s2,s3....sk) > 1, 则说明 : 一定存在一个整数d满足d|s1,d|s2,d|s3....,d|sk 因为我们要使|s|尽可能大,所以d是一个质数 对每个数进行质因数分解即可 [代码] #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5; int N,i,j,tmp,ans; ],s[MAXN+]={,}; template <typ…
链接 codeforces 题解 结论:\(f_0(n)=2^{n的质因子个数}\)= 根据性质可知\(f_0()\)是一个积性函数 对于\(f_{r+1}()\)化一下式子 对于 \[f_{r+1} = \sum_{d|n}f_r(d)\] \(f_r+1\)可以看做\(f_r()\)和\(g(d)\)的狄利克雷卷积因为\(f_0()\)是积性函数,\(g(d)\)也是积性函数,由卷积性质得\(f_{r+1}()\)也是积性函数,那么\(f_r\)同理 对于\(n\)质因数分解得到: \[n=…