HDU1573-模線性方程

模線性方程的模板題。(卡了一會,發現讀入弄錯了)

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cstdlib>
#include<ctime>
#include<map>
#include<queue>
#include<set>
#include<vector>using namespace std;typedef long long ll;
const int MAXN=1e2+5;int n,m,A,B;
int a[MAXN],b[MAXN];void ex_gcd(int a,int b,int &d,int &x,int &y)
{if(!b) {d=a; x=1; y=0;}else{ex_gcd(b,a%b,d,y,x); y-=(a/b)*x;}
}bool eqt_mod(int &A,int &B,int m)
{int C,x,y,d;for(int i=1;i<m;i++){C=b[i]-B; ex_gcd(A,a[i],d,x,y);if(C%d) return false;x=C/d*x%(a[i]/d); B+=A*x; A*=a[i]/d; B%=A;}if(B<0) B+=A;return true;
}int main()
{int T;scanf("%d",&T);while(T--){scanf("%d%d",&n,&m);for(int i=0;i<m;i++){scanf("%d",&a[i]);}for(int i=0;i<m;i++){scanf("%d",&b[i]);}A=a[0]; B=b[0];if(eqt_mod(A,B,m)){//printf("A=%d B=%d\n",A,B);if(n<B){printf("0\n");}else if(0==B){printf("%d\n",n/A);}else{printf("%d\n",(n-B)/A+1);}}else{printf("0\n");}}return 0;
}

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

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

相關文章

java中引用傳遞

基本概念 棧內存 所謂的棧內存就是存儲進程在運行過程中變量的內存空間 堆內存 所謂的堆內存就是存儲系統中數據的內存空間 數組相關的引用傳遞 先來看一段代碼 public class ArrayDemo {public static void main(String[] args) {int[] x null;x new int[3];System.o…

(原創)C++11改進我們的程序之右值引用

http://www.cnblogs.com/qicosmos/p/3369940.html 本次主要講c11中的右值引用&#xff0c;后面還會講到右值引用如何結合std::move優化我們的程序。 c11增加了一個新的類型&#xff0c;稱作右值引用(R-value reference)&#xff0c;標記為T &&&#xff0c;說到右值引用…

(原創)C++11改進我們的程序之move和完美轉發

http://www.cnblogs.com/qicosmos/p/3376241.html 本次要講的是右值引用相關的幾個函數&#xff1a;std::move, std::forward和成員的emplace_back&#xff0c;通過這些函數我們可以避免不必要的拷貝&#xff0c;提高程序性能。move是將對象的狀態或者所有權從一個對象轉移到另…

微型個人博客服務器

Http相關簡介 Http是應用層的基于請求響應的一個協議, 其中Http的請求響應可以分為四部分. 請求行, 請求報頭,空行, 請求正文.其中請求行包括了請求方法, url, 版本號, 請求報頭包括請求屬性, 冒分割的鍵值對, 每組屬性之間都以換行的形式分開, 最后一空行作為請求的結束標識.…

HDU6428-Calculate-數論函數

并不知道為什么同樣一份代碼早上超時下午就A了…好像數據是隨機的? 做的第一道不是簡單板題的數論函數題.果然做不出來… 在網上研究了好久,才算稍微研究明白.看到了兩種推導的思路.(寫了半天發現講起來好麻煩,有時間再來更新) #include<cstdio> #include<cstring&g…

[C/C++]關于C++11中的std::move和std::forward

http://blog.sina.com.cn/s/blog_53b7ddf00101p5t0.htmlstd::move是一個用于提示優化的函數&#xff0c;過去的c98中&#xff0c;由于無法將作為右值的臨時變量從左值當中區別出來&#xff0c;所以程序運行時有大量臨時變量白白的創建后又立刻銷毀&#xff0c;其中又尤其是返回…

BZOJ3930-莫比烏斯反演+杜教篩

題目的意思很簡單&#xff0c;求給定區間內的gcdk的個數&#xff0c;這應該是傳統的莫比烏斯反演了。 有兩種思路&#xff0c;一種是直接將里面變成gcd1&#xff0c;然后里面看作元函數用莫比烏斯函數和恒等函數展開&#xff0c;然后改變求和順序。 還有一種是構造兩個函數&…

HDU1999不可摸數-暴力打表

看到這約數和第一反應是約數和函數&#xff0c;然后仔細一看不是正經的約數和函數&#xff0c;就去推去了&#xff0c;然后推的有點小復雜。&#xff08;數論函數那部分做多了&#xff09; 然后觀察也沒有用到什么數論部分的特殊知識啊&#xff0c;難不成真的要暴力&#xff1f…

BZOJ2818-莫比烏斯反演/歐拉函數

這道題之前沒有看數論函數的時候搞懂了,想到直接用歐拉函數做,現在再來看第一個想法就是這不是莫比烏斯反演嘛. 但還是能用簡單數論知識直接做出來的還是盡量做簡單一點. 兩種方法想到后都寫的差不多對了,都爆long long 了.萬惡的long long .實在是煩.切記切記,只要是乘積,或…

epoll用法整理 實現回聲服務端

http://blog.csdn.net/chenxun_2010/article/details/504934811、epoll是什么&#xff1f; epoll是當前在Linux下開發大規模并發網絡程序的熱門人選&#xff0c;epoll 在Linux2.6內核中正式引入&#xff0c;和select相似&#xff0c;都是I/O多路復用(IO multiplexing)技術。 Li…

HDU3430-擴展中國剩余定理

剛開始一直把題意看錯了。。。體測完智商急劇下降 正確理解題意以后自己寫一直wa&#xff0c;而且并不知道是哪里的問題&#xff0c;在網上看了一下其他人寫的改了改自己的就過了&#xff0c;可是之前的還是不知道為什么不對。 題意大概就是有一個置換群&#xff0c;問運算多…

linux shell編程多線程和wait命令學習

http://blog.csdn.net/shuanghujushi/article/details/38186303最近在使用shell做一些部署工作&#xff0c;在使用過程中&#xff0c;效率一直不高。想提高效率&#xff0c;經過分析發現&#xff0c;并不是所有操作都是需要串行的&#xff0c;一些操作是可以進行并行操作的。經…

#ifndef的作用

#ifndef是一條預編譯指令&#xff0c;就是說實在編譯的時候就會運行的指令。這個指令的作用很簡單&#xff0c;就是字面意思&#xff0c;如果沒有定義的話&#xff0c;但是卻經常使用。 因為使用這個可以避免一個源文件中兩次兩次包含同一個文件&#xff0c;或者一個工程文件中…

C++中結構體和類的區別和聯系

最主要的不同點就是結構體的訪問權限為public而且不能改變&#xff0c;而類的訪問權限可以改變&#xff0c;public的類和結構體基本一樣。 繼承上同樣表現出這樣的特點&#xff0c;struct是public繼承的&#xff0c;而class是private繼承的&#xff0c;繼承的子類的訪問權限取…

poll函數實現多路復用

http://blog.csdn.net/xluren/article/details/8206371 結構體pollfd struct pollfd { int fd; //file descriptor short event; //event of interest on fd short reven; //event that occurred on fd } 每一個pollfd結構體指定了一個被監視的文件描述符&…

抽象類(純虛函數、虛函數)和虛基類(虛繼承)

C多態 C的多態包括靜態多態和動態多態&#xff0c;靜態多態包括函數重載和泛型編程&#xff0c;動態多態包括虛函數。靜態多態實在編譯期間就能確定&#xff0c;動態多態實直在程序運行時才能確定。 抽象類 虛函數 在默認情況下對函數成員調用實施的是靜態連編&#xff0c;…

socket通信之最簡單的socket通信

http://blog.csdn.net/xluren/article/details/8043484#t15 套接字有三種類型 流式套接字&#xff08;SOCK_STREAM&#xff09;&#xff0c;數據報套接字&#xff08;SOCK_DGRAM&#xff09;及原始套接字。 1.流式套接字提供面向連接、可靠的數據傳輸服務&#xff0c;數據按字節…

Java環境配置

自己安裝的時候按照一般的安裝方法先配置了JDK的環境&#xff0c;能夠成功顯示java版本后我在安裝eclipse的時候一直提示錯誤&#xff1a; Unfortunately the Java version needed to run Eclipse Installer couldn’t be found on your system. You need the following versio…

Linux I/O復用之select函數詳解

http://blog.csdn.net/y396397735/article/details/55004775 select函數的功能和調用順序 使用select函數時統一監視多個文件描述符的&#xff1a; 1、 是否存在套接字接收數據&#xff1f; 2、 無需阻塞傳輸數據的套接字有哪些? 3、 哪些套接字發生了異常&#xff1f; sel…

【Java學習筆記一】類和對象

面向對象程序設計的一個一個重要特點是&#xff1a;封裝性。 這里的封裝性有兩方面含義&#xff1a;一是將有關的數據和操作代碼封裝在一個對象中形成一個基本單位&#xff0c;各個對象之間相互獨立互不干擾&#xff0c;二是將對象中某些部分對外隱蔽&#xff0c;即隱蔽其內部細…