J - 青蛙的約會(擴展歐幾里得)

https://vjudge.net/contest/218366#problem/J

第一步追及公式要寫對:y+nk-(x+mk)=pL => (n-m)k+lp=x-y

可以看出擴展歐幾里得原型,這里注意擴展歐幾里得求出的是任意解,非最優,要推出最小解k。

(n-m)x+ly=gcd => (n-m)(x*(x-y)/gcd) + l*y*(x-y)/gcd = x-y

則k =?x*(x-y)/gcd(某一解非最小),由于k每次可轉移t = l/gcd

最小解為(k%t+t)%t。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cstdlib>
 6 #include<cmath>
 7 #include<vector>
 8 #include<stack>
 9 #include<queue>
10 #define lson l, m, rt<<1
11 #define rson m+1, r, rt<<1|1
12 #define IO ios::sync_with_stdio(false);cin.tie(0);
13 #define INF 0x3f3f3f3f
14 #define MAXN 500010
15 const int MOD=1e9+7;
16 typedef long long ll;
17 using namespace std;
18 ll ext_gcd(ll a, ll b, ll &x, ll &y)
19 {
20     if(b == 0){
21         x = 1;
22         y = 0;
23         return a;
24     }
25     ll r = ext_gcd(b, a%b, x, y);
26     ll t = x;
27     x = y;
28     y = t-(a/b)*y;
29     return r;
30 }
31 int main()
32 {
33     ll n, m, x, y, l, k, p;
34     cin >> x >> y >> m >> n >> l;
35     ll r = ext_gcd(n-m, l, k, p);//k和p為任意解,非最優 
36     if((x-y)%r!=0){
37         cout << "Impossible" << endl;
38     }
39     else{
40         ll t = l/r;//k每次轉移量 
41         ll ans = k*(x-y)/r;//從擴展歐幾里得標準公式轉到我們所列公式求得的k值
42         cout << (ans%t+t)%t << endl;
43     }
44     return 0;
45 }

?

轉載于:https://www.cnblogs.com/Surprisezang/p/8733200.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/280683.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/280683.shtml
英文地址,請注明出處:http://en.pswp.cn/news/280683.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 簡單方式解壓Zip文件/使用VS2019自帶功能

一、目的、構想 1.直接解壓zip文檔。 2.網上資料不少需要外部dll。 3. 找到可以不需要外部dll方法&#xff0c;分享。 二、code實現 using System.IO.Compression;string filePath "c:\Server\fileList"; string zipPath "C:\Server\Download\Auto.zip&quo…

在 Docker 中使用 flannel - 每天5分鐘玩轉 Docker 容器技術(60)

上一節我們安裝和配置了 flannel&#xff0c;本節在 Docker 中使用 flannel。配置 Docker 連接 flannel編輯 host1 的 Docker 配置文件 /etc/systemd/system/docker.service&#xff0c;設置 --bip 和 --mtu。這兩個參數的值必須與 /run/flannel/subnet.env 中 FLANNEL_SUBNET …

使用.NET7和C#11打造最快的序列化程序-以MemoryPack為例

譯者注本文是一篇不可多得的好文&#xff0c;MemoryPack 的作者 neuecc 大佬通過本文解釋了他是如何將序列化程序性能提升到極致的&#xff1b;其中從很多方面(可變長度、字符串、集合等)解釋了一些性能優化的技巧&#xff0c;值得每一個開發人員學習&#xff0c;特別是框架的開…

永不丟失照片:防彈照片備份的完整指南

There’s nothing as precious and irreplaceable as your personal photos and, with a little forethought and planning, there’s no reason to ever feel the heartbreak of losing even a single one of them to theft, broken devices, or disaster. 沒有比您的個人照片…

C# 檢查當前系統已安裝的程序app/兩種方法檢測

一、目的、構思 1.檢測當前系統有沒有安裝某個程序&#xff0c;如果沒有就重新安裝。 2.在網上找到了兩種方法&#xff0c;可惜都找不到需要檢測的app。 二、code實現 1.查找注冊列表方式。要在winform的project使用&#xff0c;在console project 貌似找不到Microsoft.Win3…

Integer源碼解析

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主允許不得轉載。 https://blog.csdn.net/wangyangzhizhou/article/details/77196626 概況 Java的Integer類主要的作用就是對基本類型int進行封裝&#xff0c;提供了一些處理int類型的方法&#xff0c;比如int到Strin…

MySQL InnoDB存儲引擎

呵呵噠。。。 MySQL體系結構和存儲引擎 首先要搞懂的是什么是數據庫&#xff0c;什么是數據庫實例。 數據庫&#xff1a;物理操作系統文件或其他形式文件類型的集合。 實例&#xff1a;MySQL數據庫由后臺線程以及一個共享內存區組成&#xff0c;實例才是真正對數據庫進行操作的…

Blazor學習之旅 (8) MudBlazor組件庫介紹

【Blazor】| 總結/Edison Zhou大家好&#xff0c;我是Edison。為了實現一個Web應用系統&#xff0c;需要有個看起來不丑的UI&#xff0c;而對于.NET程序員來說要做全棧開發還是有點難&#xff0c;而本篇介紹的這個UI組件庫正好可以幫助我們解決這個問題&#xff01;MudBlaozr是…

棉花糖多少錢_如何在6.0棉花糖及更高版本中訪問Android的正在運行的應用程序列表...

棉花糖多少錢In Android 5.x and below, accessing your list of running apps was simple—you’d jump into Settings > Apps > Running. Easy! In Android 6.0, however, Google moved this setting. It’s still not super difficult to find, but it’s a little tr…

IE不能直接顯示PDF的原因分析和解決方法

>>>>>問題<<<<<因為有系統用iframe顯示PDF&#xff0c;但PDF有時卻并不能順利地在流覽器中顯示&#xff0c;而是跳出下載對話框&#xff0c;要求下載&#xff0c;給user帶來很多困擾&#xff0c;也給我們系統維護人員帶來了麻煩&#xff0c;用了…

C# 程序圖標設置/winform 圖標

一、目的、實際情況 1.編寫一個winform 程序&#xff0c;發現有一個圖標非常有意義。區分其他程序&#xff0c;以及感覺在做產品而不是寫代碼。 2.添加圖標圖片發現&#xff0c;需要用ico格式。在線轉換&#xff08;某度搜索&#xff09;還是不靠譜。要微信登陸&#xff0c;登…

數字化轉型,究竟在“轉”什么?

這是頭哥侃碼的第265篇原創「頭哥嘮B嘮」這個欄目已經持續了幾個月了&#xff0c;沒想到還在繼續進行&#xff0c;并收獲了很多朋友們的喜愛。非常感謝大家的支持&#xff01;在上次的直播中&#xff0c;我找來了我的老熟人們。一個是右軍老師&#xff0c;之前 APISIX 的很多內…

C++ Primer 第Ⅲ部分筆記——類設計者的工具

1.對象移動 1.1右值引用 右值引用區別于普通引用&#xff0c;用兩個&表示 返回左值引用的函數&#xff0c;連同賦值、下標、解引用和前置遞增遞減運算符返回左值 返回非引用的函數&#xff0c;連同算術、關系、位以及后置遞增遞減運算符都生成右值 我們不能將左值引用綁定到…

Crash 的文明世界

題目描述 給一棵樹&#xff0c;求以每個點為根時下列式子的值。 題解 當k1時這就是一個經典的換根dp問題。 所以這道題還是要用換根dp解決。 部分分做法&#xff1a; 考慮轉移時是這樣的一個形式(圖是抄的)。 用二項式定理展開就可以nk2做了。 觀察到結果是一個xk的形式。 然后…

wampServer配置WWW根目錄遇到的坑

直接在官網下載之后開始安裝&#xff0c;一切正常 打開使用&#xff0c;一切正常 設置WWW目錄。坑了一波 按照的都是百度上的教程&#xff0c;設置httpd.conf 這里配置之后網頁訪問127.0.0.1 還是localhost都還是原始的www目錄 后來 我發現了這里 是配置虛擬URL的地方。以上是正…

windows安裝程序創建_如何在Windows上創建已安裝程序的列表

windows安裝程序創建Reinstalling Windows is a good way to fix serious problems with your computer, or just to get a fresh slate. But before you reinstall Windows, you should make a list of programs you currently have installed on your PC so you know what yo…

實現一個更新所有 dotnet tool 的 dotnet tool

實現一個更新所有 dotnet tool 的 dotnet toolIntrodotnet tool 是從 .NET Core 2.1 開始支持的命令行工具&#xff0c;在使用 dotnet tool 比較多了的時候&#xff0c;想要更新所有的 dotnet tool 就比較麻煩&#xff0c;而目前 .NET SDK 還不支持&#xff0c;也有一些人希望能…

C# 普通權限運行程序\非管理員運行\降低權限運行

一、目的與實際 1.VS設置管理員權限運行程序后&#xff0c;發現調用powershell命令或程序需要普通權限即可&#xff0c;Administrator權限反而錯。 2.網上搜索關鍵字&#xff0c;大部分都是怎么使用管理員權限運行。 3.bing搜索意外發現有相關資料&#xff0c;記錄分享。 二…

am335x PDK3.0 設置為單網口配置記錄

原來的配置是雙網口的&#xff0c;現在要配置為單網口。一直以為這個配置是在 make menuconfig 里面&#xff0c; 沒想到是在設備樹里面。修改設備樹// vim arch/arm/boot/dts/am335x-sbc7109.dts722 &mac {723 pinctrl-names "default", "sleep"…

[AHOI2009]飛行棋 BZOJ1800

題目描述 給出圓周上的若干個點&#xff0c;已知點與點之間的弧長&#xff0c;其值均為正整數&#xff0c;并依圓周順序排列。 請找出這些點中有沒有可以圍成矩形的&#xff0c;并希望在最短時間內找出所有不重復矩形。 輸入輸出格式 輸入格式&#xff1a;第一行為正整數N&…