链接

[https://codeforces.com/contest/1143/problem/D]

题意

就是有nkcity,n个面包店

第一个面包店在1city,第x个在(x-1)
k+1city

已知刚开始起步离最近面包店的距离和跳第一次之后离面包店最近的距离

问你最多需要走调少次回到出发地和最少的跳次数

分析

我是看官方题解才知道这么回事收获不小

就是一定去用已知条件去确定某些情况

缩小需要枚举的范围,分析能力还是不够强啊

首先我们不知道每次要跳多远

但是你的出发点是可以确定,一旦出发点确定,那么跳多少也可确定但情况很多

暴力枚举是会tle的,我们假设跳的是l

那么跳回到出发地的次数是n⋅k/gcd(n⋅k,l)

那么设l=k*x+c; x,c未知,但一定是非负的。因为不可能反方向跳

但有a,b;

c是可以确定的((a+b)%k,(a−b)%k,(b−a)%k,(−a−b)%k),

只有四种情况,自己画图模拟不同出发地和不同第一次跳的地点就知道了

然后这个k的范围就是0到n-1因为最多有n个面包店

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,k,a,b;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
while(cin>>n>>k>>a>>b){
ll f[4];
f[1]=a+b,f[0]=a-b,f[2]=b-a,f[3]=-a-b;
ll x=1e18,y=-1;
for(int i=0;i<n;i++){
for(int j=0;j<4;j++){
ll c=(f[j]+k)%k;
ll l=k*i+c;
x=min(x,n*k/__gcd(n*k,l));
y=max(y,n*k/__gcd(n*k,l));
}
}
cout<<x<<' '<<y<<endl;
}
return 0;
}

D. The Beatles的更多相关文章

  1. [ Codeforces Round #549 (Div. 2)][D. The Beatles][exgcd]

    https://codeforces.com/contest/1143/problem/D D. The Beatles time limit per test 1 second memory lim ...

  2. CF1143D/1142A The Beatles

    CF1143D/1142A The Beatles 将题目中所给条件用同余方程表示,可得 \(s-1\equiv \pm a,s+l-1\equiv \pm b\mod k\). 于是可得 \(l\e ...

  3. Let It Be - The Beatles - Lyrics

    轉載自 https://www.youtube.com/watch?v=0714IbwC3HA When I find myself in times of trouble, Mother Mary ...

  4. CodeForces #549 Div.2 D. The Beatles

    题目 解题思路 关键是要 ,找出L 的组合,然后遍历L的组合,用最大公约数就可以算出来当前L的值要停多少次 怎么找出L的组合呢?饭店是每隔K 有一个,是重复的,我们只需要算出第一个饭店两侧,起点和停顿 ...

  5. A-the Beatles

    传送门: 题意:题目给出n,k分别代表在这个环中饭店的个数和两个饭店相离的距离.然后再给出一组a,b分别代表在某一点s里最近饭店的距离和在这个s点走一步之后到达的点离最近饭店的距离. 然后问这个人再次 ...

  6. CF1142A The Beatles

    思路: 令p表示步数,l表示步长.由于p是使(l * p) % (n * k) == 0的最小的p,所以p = (n * k) / gcd(n * k, l). 设l = k * x + r,则由题意 ...

  7. CF-1143D. The Beatles

    题意:有间隔为k的n个点在数轴上,下标为 \(1,k+1, 2*k+1,\cdots (n-1)*k+1\) 首尾相接.设起点为s,步长为L,而现在只知道s距离最近的点的距离为a,和(s+L)距离最近 ...

  8. 『题解』Codeforces1142A The Beatles

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description Recently a Golden Circle of Beetlovers ...

  9. Entity Framework 6 Recipes 2nd Edition(13-10)译 -> 显式创建代理

    问题 你有一个POCO实体,原本在执行一个查询时动态创建代理,现在你不想EF延迟创建代理带来的代价. 解决方案 假设你有一个如图Figure13-15的模型 Figure 13-15. A model ...

随机推荐

  1. 一键解决 go get golang.org/x 包失败

    问题描述 当我们使用 go get.go install.go mod 等命令时,会自动下载相应的包或依赖包.但由于众所周知的原因,类似于 golang.org/x/... 的包会出现下载失败的情况. ...

  2. 轻松理解 Java HashMap 和 ConcurrentHashMap

    前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据. 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 ...

  3. SpringMVC页面向Controller传参

    关于SpringMVC页面向Controller传参的问题,看了网上不少帖子,大多总结为以下几类: 1.直接把页面表单中相关元素的name属性对应的值作为Controller方法中的形参. 这个应该是 ...

  4. Python全栈开发之---mysql数据库

    1.数据库的安装和连接 #数据库安装 pip install PyMySQL #数据库操作 import pymysql db = pymysql.connect("数据库ip", ...

  5. @RequestParam Map<String, Object> paramMap

    @RequestParam 请求方式 url = "/edit?device=${device}&type=${type}" Controller @RequestMapp ...

  6. Adaptive Placeholders

    https://wisdmlabs.com/blog/create-adaptive-placeholders-using-css/ https://circleci.com/blog/adaptiv ...

  7. ListView刷新某一项Item

    ListView现在已经很少被使用,但还是在这里列出来说一下,有时候我们仅仅需要改变listView的某个Item,如果调用adapter的notifyDataSetChanged()方法效率不高,并 ...

  8. Docker 启动,进入容器,查看log命令

    1.启动一个容器 docker run -d -P training/webapp python app.py -d:让容器在后台运行. -P:将容器内部使用的网络端口映射到我们使用的主机上. 如果需 ...

  9. SQLServer之DEFAULT约束

    DEFAULT约束添加规则 1.若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为NULL. 2.如果“默认值”字段中的 ...

  10. CentOS7.2重置root密码的处理方法

    第一个里程碑 --在启动GRUB菜单中选择编辑选项,按键 "e" 进入编辑; 第二个里程碑 -- 大约在第16行找到 "ro" 将 "ro" ...