• 洛谷 U140760 狭义公因子


    洛谷 U140760 狭义公因子

    洛谷传送门

    题目背景

    SeawaySeawa**y是热爱读书的好孩子。

    有一天,SeawaySeawa**y正在读书。他看到了这样的一段描写——

    闰土又对我说:

    “现在太冷,你夏天到我们这里来。我们日里到海边捡贝壳去,红的绿的都有,鬼见怕也有,观音手也有。晚上我和爹管西瓜去,你也去。”

    “管贼吗?”

    “不是。走路的人口渴了摘一个瓜吃,我们这里是不算偷的。要管的是獾猪,刺猬,狭。月亮底下,你听,啦啦的响了,狭在咬瓜了。你便捏了胡叉,轻轻地走去……”

    我那时并不知道这所谓狭的是怎么一件东西——便是现在也没有知道——只是无端的觉得状如小狗而很凶猛。

    “他不咬人么?”

    “有胡叉呢。走到了,看见狭了,你便刺。这畜生很伶俐,倒向你奔来,反从胯下窜了。他的皮毛是油一般的滑……”

    ——迅哥儿《故乡》

    题目描述

    书里的描述让SeawaySeawa**y无限神往。他不禁想象:鲁迅大神写的“狭”到底是什么东西呢?但残酷的生活不允许他多做思考,他被数学老师拉去做数学题了。但是,在做题的时候,他还是控制不住地想着这个东西。数学书里的符号也好像变成了一个个古灵精怪的小“狭”,在他的眼前飞舞。

    于是,他灵光乍现:原来恁地!“狭”是狭义的意思!怪不得这畜生很伶俐!

    他兴奋地抄起笔,在草纸上画出了自己的想象:

    狭义公因子:

    给定x,y,a,bx,y,a,b,定义a,ba,b在[x,y][x,y]内的最大公因子为狭义公因子,记作 ext{na-gcd}(a,b,x,y)na-gcd(a,b,x,y)。

    输入格式

    从文件narrow.innarro**w.i**n中读取数据。

    第一行包括两个正整数a,ba,b。第二行包括一个整数TT,表示询问区间组数。接下来的TT行,每行两个整数x_i,y_ix**i,y**i。意义皆如题目描述所示。

    输出格式

    输出到文件narrow.outnarro**w.out中。

    共TT行,每行一个整数,表示 ext{na-gcd}(a,b,x_i,y_i)na-gcd(a,b,x**i,y**i)。

    若不存在合法的 ext{na-gcd}(a,b,x_i,y_i)na-gcd(a,b,x**i,y**i)。输出fake


    题解:

    nagcd,真有我的哈。

    二分查找+单点求约数。

    一开始S*写的权值线段树。

    代码:

    #include<cstdio>
    #include<cmath>
    #include<vector>
    #include<algorithm>
    using namespace std;
    int a,b;
    vector<int> v;
    int gcd(int a,int b)
    {
    	return !b?a:gcd(b,a%b);
    }
    void fac(int x)
    {
    	for(int i=1;i<=sqrt(x);i++)
    		if(x%i==0)
    		{
    			v.push_back(i),v.push_back(x/i);
    			if(i==x/i)
    				v.pop_back();
    		}
    }
    int main()
    {
    	scanf("%d%d",&a,&b);
    	int g=gcd(a,b);
    	fac(g);
    	sort(v.begin(),v.end());
    	int t;
    	scanf("%d",&t);
    	while(t--)
    	{
    		int x,y;
    		scanf("%d%d",&x,&y);
    		int pos=upper_bound(v.begin(),v.end(),y)-v.begin();
    		pos--;
    		if(v[pos]<x)
    			puts("fake");
    		else
    			printf("%d
    ",v[pos]);
    	}
    	return 0;
    }
    
  • 相关阅读:
    http协议
    web自动化测试
    测试用例的编写
    软件测试基础知识
    内置对象session
    eclipse中快捷键使用技巧
    多线程
    jsp中的九大内置对象
    制作网站用到的一点知识
    正则表达式 7 ----大括号
  • 原文地址:https://www.cnblogs.com/fusiwei/p/13999756.html
Copyright © 2020-2023  润新知