CF-1143D. The Beatles

时间:2022-12-17 23:06:23
  • 题意:有间隔为k的n个点在数轴上,下标为 \(1,k+1, 2*k+1,\cdots (n-1)*k+1\) 首尾相接。设起点为s,步长为L,而现在只知道s距离最近的点的距离为a,和(s+L)距离最近的点的距离为b。问从s出发,第一次回到s走的最多和最少的步数。

  • 分析:设走x步回到起点,那么有\(x*l = t * n * k\) 即走了x步饶了 t 圈

    又因为x和t互质,即保证是第一次回到s,所以有 \(x = {n * k \over gcd(n*k, l)}\) 。所以枚举所有可能的 l ,得到gcd的最大值和最小值即可。

  • l (l<k时)的取值只有四种情况,画图即可得知

    • \(l = k-a-b\)
    • \(l = k+b-a\)
    • \(l = a+b\)
    • \(l = k+a-b\)

    然后每一种情况又可以在原来的基础上多加 i 个k。总共4*n种 l

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,k,a,b;
int main(){
cin>>n>>k>>a>>b;
ll mi = LONG_LONG_MAX;
ll mx = 0;
for(int i=0;i<n;i++){
ll x1 = __gcd(n*k,k-a-b + i*k);
ll x2 = __gcd(n*k,k+b-a + i*k);
ll x3 = __gcd(n*k,a+b + i*k);
ll x4 = __gcd(n*k,k+a-b + i*k);
mi = min(mi,min(x1,min(x2,min(x3,x4))));
mx = max(mx,max(x1,max(x2,max(x3,x4))));
}
cout<<(n*k)/mx<<' '<<(n*k)/mi<<endl;
return 0;
}

CF-1143D. The Beatles的更多相关文章

  1. ORA-00494&colon; enqueue &lbrack;CF&rsqb; held for too long &lpar;more than 900 seconds&rpar; by 'inst 1&comma; osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  2. cf之路,1,Codeforces Round &num;345 &lpar;Div&period; 2&rpar;

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  3. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  4. ARC下OC对象和CF对象之间的桥接&lpar;bridge&rpar;

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  5. &lbrack;Recommendation System&rsqb; 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

  6. CF memsql Start&lbrack;c&rsqb;UP 2&period;0 A

    CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...

  7. CF memsql Start&lbrack;c&rsqb;UP 2&period;0 B

    CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...

  8. CF &num;376 &lpar;Div&period; 2&rpar; C&period; dfs

    1.CF #376 (Div. 2)    C. Socks       dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...

  9. CF &num;375 &lpar;Div&period; 2&rpar; D&period; bfs

    1.CF #375 (Div. 2)  D. Lakes in Berland 2.总结:麻烦的bfs,但其实很水.. 3.题意:n*m的陆地与水泽,水泽在边界表示连通海洋.最后要剩k个湖,总要填掉多 ...

  10. CF &num;374 &lpar;Div&period; 2&rpar; D&period; 贪心,优先队列或set

    1.CF #374 (Div. 2)   D. Maxim and Array 2.总结:按绝对值最小贪心下去即可 3.题意:对n个数进行+x或-x的k次操作,要使操作之后的n个数乘积最小. (1)优 ...

随机推荐

  1. linux 路由

  2. power desinger 学习笔记&lt&semi;六&gt&semi;

    原帖地址:http://blog.csdn.net/spt110/article/details/8640849 PowerDesigner中Table视图同时显示Code和Name,像下图这样的效果 ...

  3. 你真的了解interface和内部类么

    java 访问控制符 private     : 只能被当前类访问 protected : 可以被同包的类和任何子类访问(包内,包外) default    : 可以被包内的任何内访问 public  ...

  4. 【比赛打分展示双屏管理系统-专业版】Other&period;ini 配置文件解读以及排行榜界面及专家评语提交展示等具体配置

    第一个问题:Other.ini配置文件的解读: 在软件根目录下,找到Other.ini配置文件,打开如下: 配置文件解读: iOrderIDOrXSID:默认为0,按照软件 选项/排行榜和奖项 的设置 ...

  5. Node&period;js进击基础一(http)

    URL:统一资源定位符,偏重定位,是URI的子集,例如网址.URL一定是URI,但URI 不一定是URL.规则:只能用英文阿拉伯数字某些符号等,如果有文字就必须编码. URI:统一资源标识符,偏重标识 ...

  6. Linux学习笔记之Linux 让进程在后台可靠运行的几种方法

    0x00 概述 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终 ...

  7. 学习笔记之JavaScript

    JavaScript 教程 | 菜鸟教程 http://www.runoob.com/js/js-tutorial.html JavaScript 是 Web 的编程语言. 所有现代的 HTML 页面 ...

  8. &period;py文件右键添加Edit with IDLE

    1.打开注册表(regedit) 2.找到这个目录:HKEY_CLASSES_ROOT\SystemFileAssociations 3.找到.py的项,逐层新建 4.shell和edit,默认值改为 ...

  9. lb集群lvs的3种模式

    Cluster原理 集群的总类: 1.负载均衡集群(LB:Load Banlancing):实现将一个访问量或者任务量特别大的应用,给他 平均分配到不同的服务器上面,以提供高容量.大并发. 2.高可用 ...

  10. WPF TriggerAction弹出子窗体 TargetedTrigger、TargetedTriggerAction用法

    namespace TriggerAction { public class OpenWindowAction : TriggerAction<DependencyObject> { pu ...