jzoj1158-荒岛野人【扩欧,gcd,同余方程】

正题


大意

有n个野人,每个野人有一个初始山洞CiCi,每次向前移动距离PiPi,寿命LiLi,如果野人走到了最后一个山洞那么继续就好回到第一个山洞,求至少多少个山洞才可以让野人们不会发生冲突。
这里写图片描述


解题思路

我们可以枚举答案,然后我们要判断是否冲突,我们可以枚举两个野人然后列出式子:

Ci+PixCj+Pjx(mod  l)Ci+Pix≡Cj+Pjx(modl)

如果这个式子有解且最小解
x<=Li/Ljx<=Li/Lj那么就会有冲突。
我们先把式子转换一下
(CiCj)+(PiPj)x0(mod  l)(Ci−Cj)+(Pi−Pj)x≡0(modl)

(CiCj)+(PiPj)x=ly(Ci−Cj)+(Pi−Pj)x=ly

(PiPj)xly=(CiCj)(Pi−Pj)x−ly=(Ci−Cj)

然后我们进行扩欧


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int x,y,n,c[16],p[16],l[16],maxc,d,A,B,g;
bool flag;
int gcd(int a,int b)//同余
{if (b==0){x=1;y=0;return a;}d=gcd(b,a%b);int k=x;x=y;y=k-a/b*y;return d;
}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d%d",&c[i],&p[i],&l[i]);maxc=max(maxc,c[i]);}while (1){flag=false;for (int i=1;i<n;i++){for (int j=i+1;j<=n;j++){A=c[i]-c[j];B=p[j]-p[i];if (B<0){A=-A;B=-B;//取反,因为是   -ly}d=gcd(B,maxc);g=maxc/d;g=((x*(A/d))%g+g)%g;//最小解if (!(A%d)&&g<=l[i]&&g<=l[j])//判断{flag=true;break;}}if (flag) break;}if (!flag) break;maxc++;//枚举}printf("%d",maxc);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324119.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决

今天所有开发环境已经迁移到mac OS下的Visual Studio Code 命令行编译发布&#xff0c;而运行服务器是CentOS7&#xff0c;和windows没什么关联了。 只要你Relese编译并在本地有一个与服务器相同的运行环境中运行成功了&#xff0c;迁移到真实服务器不会有什么难度。 下面是迁…

“老师,我写着写着就 强制交卷了……”

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。01暴露出的问题

张老师讲Python~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。最近我的个人站上线啦&#xff0c;欢迎大家访问http://穆雄雄.com&#xff1b;或者点击文末的“阅读原文”。昨天下午靳老师分享了关于网站部署的内容&#xff0c;今天下午请张炜林上去分享了下他准…

Entity Framework Core 2.0 新特性

一.模型级查询过滤器&#xff08;Model-level query filters&#xff09; ef core2.0包含了一个新特性&#xff0c;我们叫他模型级查询过滤器&#xff08;Model-level query filters&#xff09;。此特性允许使用Linq查询表达式直接定义在实体类型的元数据模型上。这样的过滤器…

激动的时刻,终于成啦~

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号&#xff1a;【雄雄的小课堂】。今天&#xff0c;最令我激动的一件事莫过于倾注一周精力的“在线测试”终于可以投入使用了&#xff0c;周二发过一篇文章&#xff0c;是关于在线测试的问题总结&#xff0c;也就是在周二&a…

C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

今天的学习内容? 今天我们讲讲Xamarin中的MVVM双向绑定,嗯..需要有一定的MVVM基础.,具体什么是MVVM - -,请百度,我就不多讲了 效果如下: 正文 1.简单的入门Demo 这个时间的功能很简单,就是一个时间的动态显示. 我们首先创建一个基础的页面如下: <?xml version"…

由「Metaspace容量不足触发CMS GC」从而引发的思考

转载自 由「Metaspace容量不足触发CMS GC」从而引发的思考 某天早上&#xff0c;毛老师在群里问「cat 上怎么看 gc」。 好好的一个群 看到有 GC 的问题&#xff0c;立马做出小鸡搓手状。 之后毛老师发来一张图。 老年代内存占用情况 图片展示了老年代内存占用情况。 第一个…

是现在的钱不值钱还是药太贵!

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号【雄雄的小课堂】。莫名其妙的就感觉身体不舒服&#xff0c;然后越来越严重&#xff0c;打小以来还是第一次遇见这样的&#xff0c;你说是感冒吧&#xff0c;它也不流鼻涕&#xff0c;喉咙也不痛&#xff0c;鼻子也通…

一次堆外内存泄露的排查过程

转载自 一次堆外内存泄露的排查过程 最近在做一个基于 websocket 的长连中间件&#xff0c;服务端使用实现了 socket.io 协议&#xff08;基于websocket协议&#xff0c;提供长轮询降级能力&#xff09; 的 netty-socketio 框架&#xff0c;该框架为 netty 实现&#xff0c;鉴…

.NET Core 2.0 特性介绍和使用指南

前言 这一篇会比较长&#xff0c;介绍了.NET Core 2.0新特性、工具支持及系统生态&#xff0c;现状及未来计划&#xff0c;可以作为一门技术的概述来读&#xff0c;也可以作为学习路径、提纲来用。 对于.NET Core 2.0的发布介绍&#xff0c;围绕2.0的架构体系&#xff0c;我想…

Lombok MyBatisX

Lombok的使用 [1] 什么是LomBok lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具&#xff0c;简单来说&#xff0c;比如我们新建了一个类&#xff0c;然后在其中写了几个属性&#xff0c;然后通常情况下我们需要手动去建立g…

一次堆外OOM问题的排查过程

转载自 一次堆外OOM问题的排查过程 背景 线上服务有一台机器访问不通&#xff08;一个管理平台),在公司的服务治理平台上查看服务的状况是正常的&#xff0c;说明进程还在。进程并没有完全crash掉。去线上查看机器日志&#xff0c;发现了大量的OOM异常: 017-03-15 00:00:0…

Azure与Scott Guthrie:Azure安全中心和基于角色的访问控制

InfoQ有幸采访了Microsoft执行副总裁Scott Guthrie&#xff0c;请他谈了谈Azure以及他最近的Red Shirt Dev Tours&#xff08;红杉开发之旅&#xff09;【译注1】。昨天我们谈到了Azure提供了自定义仪表盘的功能&#xff0c;它能够使得开发者创建自定义工作任务流程&#xff0c…

什么时候才能都及格呢?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。今天是周五&#xff0c;又到了周测的时候了&#xff0c;发现现在考试&#xff0c;学生们的抵触情绪不会那么强烈了&#xff0c;以前只要一说啥时啥时考试&#xff0c;下面一片哀嚎声&#xff0c;各种不…

解决Visual Studio For Mac Restore失败的问题

之前就了解到微软出了mac版的VS&#xff0c;没太多的关注&#xff0c;自己也就是使用 DotNet Core SDK VS Code 做一些小demo。 前两天发布了DotNet Core 2.0 &#xff0c;Visual Studio For Mac 7.1 之后&#xff0c;感觉可以装起来用用&#xff0c;把win下面的项目转到Core…

来之不易的美团面试,结果居然挂了...(附面试答案)

转载自 来之不易的美团面试&#xff0c;结果居然挂了...&#xff08;附面试答案&#xff09; 一面 自我介绍 答&#xff1a;自我介绍是面试中唯一的自己主动介绍自己的环节&#xff0c;一定要好好把握好&#xff0c;你数据结构学的号可以手撕一个红黑树你就说我数据结构掌握…

三班的孩子们,你们现在还好吗?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。三班的孩子们&#xff0c;你们还好吗&#xff1f;虽然已经就业&#xff0c;但还是会时不时的想起你们来&#xff0c;希望你们过的一切都好&#xff0c;在公司中也能快速适应。上午拿着电脑准备去四班上…

升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

概述 容器&#xff0c;顾名思义是用来存放并容纳东西的器皿&#xff1b; 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘&#xff0c;它是一个抽象的概念&#xff0c;同时也是默默存在世上多年的技术&#xff0c;不仅能使应用程序间完全的隔离&#xff0c;而且还能在共享…

Spring Data Elasticsearch

文章目录一、 ELK二、 Elasticsearch简介三、 Linux安装Elasticsearch四、SpringData Elasticsearchpom.xmlapplication.yml创建实体创建索引 设置映射简单增删改查搜索五、 LogStash六、 使用Logback向Logstash中输出日志七、 在Kibana中查看日志信息八、 搭建日志系统九、 在…

项目参与度较低怎么办?

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注公众号【雄雄的小课堂】。经过这两天做项目的表现&#xff0c;可以很明显的看的出来学生与学生之间掌握的还是有差距的&#xff0c;组内有的组员是可以为项目贡献代码的&#xff0c;但是有的组员可能只能是贡献素材&#xff0c;…