2016huasacm暑假集训训练四 数论_B
题目链接:https://vjudge.net/contest/125308#problem/G
题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m; 先求n的所有大于等于m的因子, 刚开始用了模拟,超时,看了下往上的题解,说要用到欧拉函数求解,就看了下欧拉函数, ans=∑phi[n/ei];phi[i]为欧拉函数,为不大于i且与i互质的正整数个数 对于一个与ei互质且小于等于n/ei的正整数p来说,p*ei<=n,gcd(p*ei,n)=ei;则phi[n/ei]就是1~n中的与n最大公约数是ei的个数。而n与1~n的最大公约数必定是n的因子。 所以符合gcd(x,n)>=m的x为n所有大于等于m因子的倍数,用phi即可避免重复。
那么此题就很容易解了
AC代码:
#include <stdio.h>
#define size 1000000
int a[size]; int P( int n )
{
int ans = n;
for( int i = ; i*i <= n ; i++ )
{
if( n%i== )
{
ans = ans / i * (i-);
while( n%i== )
n /= i;
}
}
if(n>)
ans = ans / n * (n-);
return ans;
} int main()
{ int t , n , m , t1 , ans;
scanf("%d",&t);
while( t-- )
{
scanf("%d%d",&n,&m);
t1 = ans = ;
for( int i = ; i*i<=n ; i++ )
{
if( n%i == )
{
if(i*i==n)
a[t1++] = i;
else
{
a[t1++] = i;
a[t1++] = n/i;
}
}
}
for( int i = ; i<t1 ; i++ )
{
if( a[i]>=m )
{
ans += P( n/a[i] );
}
}
printf("%d\n",ans);
}
return ;
}
2016huasacm暑假集训训练四 数论_B的更多相关文章
- 2016huasacm暑假集训训练四 数论_A
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/F 题意:狼捉兔子,兔子躲在n个洞中一个,这n个洞围成一个圈,狼会从第0号洞开始,搜 ...
- 2016huasacm暑假集训训练四 递推_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/B 题意:给定n个三角形,问最多可以把区域化成多少个部分,这是一个一维空间 一定会 ...
- 2016huasacm暑假集训训练四 DP_B
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/M 题意:有N件物品和一个容量为V的背包.第i件物品的费用是体积c[i],价值是w[ ...
- 2016huasacm暑假集训训练四 _排列
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/D 这题要求错误的方式有多少种,就是一个错排公式,记得公式就行 ...
- 2016huasacm暑假集训训练四 递推_C
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/C 题意:给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形 这个题只 ...
- 2016huasacm暑假集训训练四 递推_A
题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/A 这题主要考的就是就是一个排列公式,但是不能用阶乘的公式, 用这个公式不易超 ...
- 2016huasacm暑假集训训练五 H - Coins
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/H 题意:A有一大堆的硬币,他觉得太重了,想花掉硬币去坐的士:的士司机可以不找零,但 ...
- 2016huasacm暑假集训训练五 J - Max Sum
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/J 题意:求一段子的连续最大和,只要每个数都大于0 那么就会一直增加,所以只要和0 ...
- 2016huasacm暑假集训训练五 G - 湫湫系列故事——减肥记I
题目链接:http://acm.hust.edu.cn/vjudge/contest/126708#problem/G 这是一个01背包的模板题 AC代码: #include<stdio.h&g ...
随机推荐
- PHP开发程序应该注意的42个优化准则
PHP 独特的语法混合了 C.Java.Perl 以及 PHP 自创新的语法.它可以比 CGI或者Perl更快速的执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML ...
- Qt应用程序图标设置
Qt应用程序图标设置 本文仅仅适用于windows下,linux等不适用. 下面说的图标,指的是程序文件的图标,而不是托盘图标或者说运行时任务栏的图标(任务栏和程序窗口的图标在windows/linu ...
- c#.net 生成清晰缩略图
1 public void imgsize() 2 { 3 //本例中假定了两个变量: 4 5 String src = "c:/myImages/a.jpg"; //源图像文件的 ...
- espcms联动筛选功能开发
易思后台增加新内容模型,添加字段yewu,fuwu,leixing 修改/interface/article.php (写上新增内容模型的mid——写死的),对这个模型的内容列表写了可以联动筛选的sq ...
- IIS相关知识
1.在web.config中,iis6使用<system.web>下配置项,iis7使用<system.webServer>下配置项 2.<httpHandlers> ...
- How to install Shadow•socks in CentOS7
Helps from: http://www.cmsky.com/shadowsocks-python-install/ http://shadowsocks.blogspot.jp/?m=1 wge ...
- RobotFrameWork(五)控制流之if语句——Run Keyword If
5.1 语句简介 robotframework中的if语句是使用关键字Run Keyword If来代替的 Run Keyword If 函数释义:如果给出的判断条件满足,就执行给出的关键字. 函数结 ...
- 解决SprngMVC中ResponseBody注解中文乱码
配置文件前面加入如下结构,版本号3.2.5 <bean class="org.springframework.web.servlet.mvc.method.annotation.Req ...
- ionic扩展插件
1.ionic-timepicker 时间选择 https://github.com/rajeshwarpatlolla/ionic-timepicker 2.ionic-datepicker 日 ...
- mybatis动态sql
MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素. if choose(when,otherwise) trim(where,set) foreach 例子(2): &l ...