当前位置: 首页 > news >正文

|BZOJ 1477|数论|青蛙的约会

BZOJ传送门
luogu免权限地址
扩展欧几里得算法,由题可列(x+mt)(y+nt)(modL),其中t为所求
由同余性质得:(x+mt)(y+nt)=Lk
变形得:(nm)t+lk=xy,则转换为ax+by=c的形式

#include<cstdio>    
#include<algorithm>    
#include<cstring>      
#define ms(i,j) memset(i,j, sizeof i);    
#define ll long long
using namespace std;
ll x,y,m,n,L; 
ll gcd(ll a, ll b) {return b==0 ? a:gcd(b,a%b);}
ll abss(int x){return x<0 ? -x : x;}
ll e_gcd(ll a, ll b, ll &x, ll &y)
{
    if (b==0)
    {
        x=1;
        y=0;
        return a;
    }
    ll ans = e_gcd(b,a%b,x,y);
    ll temp = x;
    x = y;
    y = temp-a/b*y;
    return ans;
}
ll cal()
{
    ll a = n-m, b = L, c = x-y;
    ll g = gcd(a,b);
    if (c%g!=0) {printf("Impossible");exit(0);}//无解
    a /= g; b /= g; c /= g;
    e_gcd(a,b,x,y);
    b = abss(b);//重要 
    x=((x*c)%b+b)%b; //求值 
    return x;
}
int main()    
{     
    scanf("%lld%lld%lld%lld%lld", &x,&y,&m,&n,&L);
    ll ans = cal(); 
    printf("%lld\n", ans);
    return 0;    
}    

转载于:https://www.cnblogs.com/flyinthesky1/p/6384194.html

相关文章:

  • 一个简单的通讯服务框架(大家发表意见一起研究)JAVA版本
  • mysql中的列属性
  • tcp三次握手与四次挥手
  • ajax php 点击加载更多
  • 【VS开发】ClientToScreen 和ScreenToClient 用法
  • 简单获取CDN背后网站的真实IP
  • jquery 简单实现tab切换
  • int的最大最小值补码原码转换
  • Js 跨域CORS报错 Response for preflight has invalid HTTP status code 405
  • Spring随笔(01)
  • 全屏显示
  • pickle使用及案例
  • 改变this指向
  • mac 自定义脚本命令
  • sdk相关
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • [数据结构]链表的实现在PHP中
  • 【Amaple教程】5. 插件
  • 2019年如何成为全栈工程师?
  • Brief introduction of how to 'Call, Apply and Bind'
  • Bytom交易说明(账户管理模式)
  • gitlab-ci配置详解(一)
  • HTTP 简介
  • JAVA 学习IO流
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JSDuck 与 AngularJS 融合技巧
  • JS题目及答案整理
  • Laravel核心解读--Facades
  • 包装类对象
  • 免费小说阅读小程序
  • 少走弯路,给Java 1~5 年程序员的建议
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • AI算硅基生命吗,为什么?
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #QT(TCP网络编程-服务端)
  • (Forward) Music Player: From UI Proposal to Code
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .gitignore文件_Git:.gitignore
  • .Net的DataSet直接与SQL2005交互
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .sys文件乱码_python vscode输出乱码
  • @ComponentScan比较
  • @media screen 针对不同移动设备
  • @SuppressWarnings注解
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [Android 数据通信] android cmwap接入点