洛谷 P1495:【模板】中國剩余定理(CRT)/ 曹沖養豬

【題目來源】
https://www.luogu.com.cn/problem/P1495
https://www.acwing.com/problem/content/225/

【題目描述】
自從曹沖搞定了大象以后,曹操就開始捉摸讓兒子干些事業,于是派他到中原養豬場養豬。可是曹沖滿不高興,于是在工作中馬馬虎虎。有一次曹操想知道母豬的數量,于是曹沖想狠狠耍曹操一把。舉個例子,假如有 16 頭母豬,如果建了 3 個豬圈,剩下 1 頭豬就沒有地方安家了。如果建造了 5 個豬圈,但是仍然有 1 頭豬沒有地方去,然后如果建造了 7 個豬圈,還有 2 頭沒有地方去。你作為曹操的私人秘書理所當然要將準確的豬數報給曹操,你該怎么辦?

【輸入格式】
第一行包含一個整數n:建立豬圈的次數。
接下來n行,每行兩個整數ai、bi,表示建立了ai個豬圈,有bi頭豬沒有去處。你可以假定a1~an互質。

【輸出格式】
輸出包含一個正整數,即為曹沖
至少養母豬的數目。

【輸入樣例】
3
3 1
5 1
7 2

【輸出樣例】
16

【說明/提示】
1≤n≤
10
0≤bi<ai≤
100000
1≤∏ai≤
10^18

【算法分析】
● 中國剩余定理應用的充要條件是
模數互質(在本題中也就是豬圈數目互質)。

● 中國剩余定理算法步驟
(1)計算模數的乘積:M=m1·m2·…·mk
(2)對每個模數 mi,計算 Mi=M/mi
(3)對每個 Mi,求解 Mi 在模 mi 下的逆元 yi,即滿足 Mi·yi≡1(mod mi)
(4)最終解 x 為:x=∑ai·Mi·yi(mod M),i∈(1,k)
其中,ai 是每個同余方程的余數。

●?中國剩余定理應用示例
例題:給定同余方程組: x≡2(mod 3),x≡3(mod 5),x≡2(mod 7) 由于模數 3、5、7 互質,所以可以采用中國剩余定理求解。步驟如下:
(1)計算 M=3×5×7=105。
(2)計算每個 Mi:M1=105/3=35,M2=105/5=21,M3=105/7=15。
(3)計算每個逆元 yi: 對于 M1=35,求解 35·y1≡1(mod 3),得到 y1=2。 對于 M2=21,求解 21·y2≡1(mod 5),得到 y2=1。 對于 M3=15,求解 15·y3≡1(mod 7),得到 y3=1。
(4)求解 x: x=(2×35×2+3×21×1+2×15×1) mod 105 =233 mod 105=23。

【算法代碼】

#include <bits/stdc++.h>
using namespace std;typedef long long LL;
const int N=15;
LL m[N],a[N];LL exgcd(LL a,LL b,LL &x,LL &y) {if(b==0) {x=1,y=0;return a;}LL d=exgcd(b,a%b,y,x);y-=(a/b)*x;return d;
}int main() {int n;cin>>n;LL M=1;for(int i=1; i<=n; i++) {cin>>m[i]>>a[i];M*=m[i];}LL t=0;for(int i=1; i<=n; i++) {LL x,y;LL Mi=M/m[i];exgcd(Mi,m[i],x,y);t=(t+a[i]*Mi%M*x)%M;}t=(t+M)%M;cout<<t<<endl;return 0;
}/*
in:
3
99991 99990
99989 99988
99971 99970out:
282926331270118
*/




【參考文獻】
https://www.luogu.com.cn/problem/P1495
https://www.luogu.com.cn/problem/P4777
https://www.acwing.com/problem/content/206/
https://blog.csdn.net/qq_33127317/article/details/108439841
https://www.luogu.com.cn/problem/solution/P1495
https://blog.csdn.net/qq_51352378/article/details/123491047
https://www.acwing.com/solution/content/148128/
https://www.acwing.com/solution/content/164120/

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

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

相關文章

配置和使用持久卷

配置和使用持久卷 文章目錄 配置和使用持久卷[toc]一、PV與PVC的持久化存儲機制二、PV和PVC的生命周期三、創建基于NFS的PV1.準備NFS共享目錄2.創建PV 四、基于PVC使用PV1.創建PVC2.使用PVC 五、基于StorageClass實現動態卷制備1.獲取NFS服務器的連接信息2.獲取nfs-subdir-exte…

FreeRTOS菜鳥入門(十)·消息隊列

目錄 1. 基本概念 2. 數據存儲 3. 運作機制 4. 阻塞機制 4.1 出隊阻塞 4.2 入隊阻塞 5. 操作示意圖 5.1 創建隊列 5.2 向隊列發送第一個消息 5.3 向隊列發送第二個消息 5.4 從隊列讀取消息 6. 消息隊列控制塊 7. 消息隊列常用函數 7.1 消息隊列創建…

java 洛谷題單【算法2-2】常見優化技巧

P1102 A-B 數對 解題思路 輸入讀取與初始化&#xff1a; 使用 Scanner 讀取輸入。n 表示數組的長度&#xff0c;c 表示目標差值。使用一個 HashMap 存儲數組中每個數字及其出現的次數&#xff0c;方便快速查找。數組 a 用于存儲輸入的數字。 構建哈希映射&#xff1a; 遍歷數…

視頻轉GIF

視頻轉GIF 以下是一個使用 Python 將視頻轉換為 GIF 的腳本&#xff0c;使用了 imageio 和 opencv-python 庫&#xff1a; import cv2 import imageio import numpy as np """將視頻轉換為GIF圖參數:video_path -- 輸入視頻的路徑gif_path -- 輸出GIF的路徑fp…

計算機網絡:詳解TCP協議(四次握手三次揮手)

目錄 1.Tcp協議介紹 1.1 Tcp協議層級 1.2 TCP協議的格式 2. 確認應答機制 2.1 確認應答 2.2 序號字段 2.3 捎帶應答 3. 流量控制 4. 三次握手 四次揮手 4.1 認識標志位 4.2 簡單認識 4.3 三次揮手 4.4 四次揮手 1.Tcp協議介紹 1.1 Tcp協議層級 計算機網絡&#x…

小程序 IView WeappUI組件庫(簡單增刪改查)

IView Weapp 微信小程序UI組件庫&#xff1a;https://weapp.iviewui.com/components/card IView Weapp.png 快速上手搭建 快速上手.png iView Weapp 的代碼 將源代碼下載下來&#xff0c;然后將dict放到自己的項目中去。 iView Weapp 的代碼.png 小程序中添加iView Weapp 將di…

用java實現一個簡單的sql select 解析器,無需第三方依賴,完全從0開始

以下是一個簡單的 SQL SELECT 解析器的 Java 實現&#xff0c;支持單表查詢和基本條件過濾。代碼包含詞法分析和語法分析模塊&#xff0c;并支持以下語法&#xff1a; SELECT column1, column2 FROM table WHERE column3 5 完整代碼 1. Token 類型定義 (TokenType.java) pu…

阿里云 CentOS YUM 源配置指南

阿里云 CentOS YUM 源配置指南 在使用 CentOS 7 時&#xff0c;由于 CentOS 官方源停止維護等原因&#xff0c;yum install 命令可能會報錯 “Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64”。以下是通過更換阿里云源解決該問題的詳細步驟。 一、備份原有配…

Learning vtkjs之ThresholdPoints

過濾器 閾值過濾器 介紹 vtkThresholdPoints - 提取滿足閾值條件的點 vtkThresholdPoints 是一個過濾器&#xff0c;它從數據集中提取滿足閾值條件的點。該條件可以采用三種形式&#xff1a; 1&#xff09;大于特定值&#xff1b; 2) 小于特定值&#xff1b; 3) 在特定值之間…

記錄ruoyi-flowable-plus第一次運行流程報錯

記錄ruoyi-flowable-plus第一次運行流程報錯 錯誤步驟 1.啟動ruoyi-flowable-plus 正常登錄后&#xff0c;打開流程分類然后點擊新增按鈕&#xff0c;新增了一個分類。增加成功后&#xff0c; 再點擊流程分類&#xff0c;報錯。 錯誤提示 org.springframework.cglib.core.C…

Java中的stream流介紹與使用

一、Stream 的基礎概念 定義與特性 Stream 是單向數據流&#xff0c;對集合或數組進行高效處理&#xff0c;不存儲數據&#xff0c;而是通過操作鏈生成新 Stream。不可變性&#xff1a;原始數據源不被修改&#xff0c;所有操作均返回新 Stream。延遲執行&#xff1a;中間操作&a…

OCR身份證識別(正反面)_個人證照OCR識別_開放API接口使用指南

一、接口簡介 在數字化時代&#xff0c;快速準確地提取身份證信息變得尤為重要。**萬維易源提供的“身份證OCR識別”API接口&#xff0c;能夠快速提取二代居民身份證正反面的所有字段信息&#xff0c;包括姓名、性別、民族、出生日期、住址、身份證號、簽發機關、有效期限等。…

25年新版潮乎盲盒系統源碼 盲盒商城系統前端分享

盲盒系統市場的前景一直都很不錯&#xff0c;最近很多問我有沒有盲盒源碼的客戶&#xff0c;下面給大家分享一個新版潮乎盲盒源碼&#xff01; 這款盲盒源碼系統 前端Uniapp 后端使用了Laravel框架進行開發。Laravel是一個流行的PHP框架&#xff0c;具有強大的功能和易于使用的…

Transformer四模型回歸打包(內含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型)

Transformer四模型回歸打包&#xff08;內含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09; 目錄 Transformer四模型回歸打包&#xff08;內含NRBO-Transformer-GRU、Transformer-GRU、Transformer、GRU模型&#xff09;預測效果基本介紹程序設計參…

Axure疑難雜癥:利用中繼器制作三級下拉菜單(邏輯判斷進階)

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:三級下拉菜單 主要內容:條件篩選時的邏輯判斷思維,中繼器使用 應用場景:復合條件下的下拉列表制作 案例展…

Nginx 核心功能之正反代理

目錄 一、Nginx 二、正向代理 三、反向代理 四、Nginx 緩存 1. 緩存功能的核心原理和緩存類型 2. 代理緩存功能設置 五、Nginx rewrite和正則 &#xff08;1&#xff09;Nginx 正則 &#xff08;2&#xff09;nginx location &#xff08;3&#xff09;Rewrite &…

ssh連接云服務器記錄

文章目錄 1. 背景2. ssh連接2.1 win 下通過終端工具進行連接2.2 Linux下通過ssh指令連接2.3 ssh使用publickey來連接 ssh連接云服務器記錄 1. 背景 最近開始接觸docker技術、mysql技術&#xff0c;加上本人工作基本都在Linux下進行&#xff0c;因此需要一套Linux環境進行練習。…

軟考-軟件設計師中級備考 12、軟件工程

一、軟件工程概述 定義&#xff1a;軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量軟件的學科。它涉及到軟件的開發、測試、維護、管理等多個方面&#xff0c;旨在運用一系列科學方法和技術手段&#xff0c;提高軟件的質量和開發效率&#xff0c;降低軟件開…

【多次彈出“獲取打開此tobiieyetracking鏈接的應用”的窗口】解決辦法

使用聯想R9000P突然出現“獲取打開此tobiieyetracking鏈接的應用”的窗口&#xff0c;每隔幾分鐘就彈一次&#xff0c;特別惡心人&#xff0c;解決辦法&#xff1a; 找到【此電腦】&#xff0c;鼠標右鍵【管理】&#xff1b;選擇【服務】&#xff0c;如下所示&#xff0c;找到…

項目選擇的三個核心因素:市場前景、競爭優勢和成本控制

能保持持續增長和賺錢的項目就是好項目。 每個創業者創業之初&#xff0c;遇到的第一個難題就是選擇做什么項目&#xff1f; 俗話說&#xff1a;方向不對&#xff0c;努力白費。 選錯項目&#xff0c;意味著你所有的付出都是打水漂。 能做的項目那么多&#xff0c;在沒有價值…