BUAA 更大公約數

題目鏈接

給一個n*m的矩陣, 刪除里面的一行一列, 使得剩下的數的最大公約數最大。

一個格子(x,y), 先預處理出(1,1)到這個格子的內所有數的最大公約數, 同理處理出(1, m), (n, m), (n, 1), 然后枚舉格子中的每一個數, 具體看代碼。

#include<bits/stdc++.h>
using namespace std;
#define mem(a) memset(a, 0, sizeof(a))
const int maxn = 1080;
int a[maxn][maxn], b[maxn][maxn], c[maxn][maxn], d[maxn][maxn];
int init[maxn][maxn];
int gcd(int a, int b) {return b == 0?a:gcd(b, a%b);
}
int main()
{int n, m;while(cin>>n>>m) {for(int i = 1; i<=n; i++) {for(int j = 1; j<=m; j++)scanf("%d", &init[i][j]);}mem(a); mem(b); mem(c); mem(d);for(int i = 1; i<=n; i++) {for(int j = 1; j<=m; j++) {a[i][j] = gcd(a[i][j-1], a[i-1][j]);a[i][j] = gcd(a[i][j], init[i][j]);}}for(int i = 1; i<=n; i++) {for(int j = m; j>=1; j--) {b[i][j] = gcd(b[i][j+1], b[i-1][j]);b[i][j] = gcd(b[i][j], init[i][j]);}}for(int i = n; i>=1; i--) {for(int j = 1; j<=m; j++) {c[i][j] = gcd(c[i][j-1], c[i+1][j]);c[i][j] = gcd(c[i][j], init[i][j]);}}for(int i = n; i>=1; i--) {for(int j = m; j>=1; j--) {d[i][j] = gcd(d[i][j+1], d[i+1][j]);d[i][j] = gcd(d[i][j], init[i][j]);}}int ans = 0;for(int i = 1; i<=n; i++) {for(int j = 1; j<=m; j++) {int tmp1 = gcd(a[i-1][j-1], b[i-1][j+1]);int tmp2 = gcd(c[i+1][j-1], d[i+1][j+1]);ans = max(ans, gcd(tmp1, tmp2));}}cout<<ans<<endl;}return 0;
}

?

轉載于:https://www.cnblogs.com/yohaha/p/5063196.html

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

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

相關文章

How to make a Logical Volume ON AIX5.3

本文轉自 xkdcc 51CTO博客&#xff0c;原文鏈接&#xff1a;http://blog.51cto.com/brantc/116431&#xff0c;如需轉載請自行聯系原作者1. 確定要建立的卷大小&#xff0c;比如700M 2. 檢查要建立邏輯卷的卷組上的PP大小&#xff08;PP:物理分區&#xff0c;PP si…

啟動Tomcat 7一閃而過的問題

點擊bin目錄&#xff08;"D:\apache-tomcat-7.0.33\bin"&#xff09;下的startup.bat一閃而過&#xff0c;什么都沒發生... 解決&#xff1a;環境變量里配置一個JAVA_HOME&#xff0c;值為JDK的home目錄&#xff08;"D:\Java\jdk1.7.0_80"&#xff09;轉載…

Pytorch基礎(五)—— 池化層

一、概念 池化就是把數據壓縮的過程&#xff0c;屬于下采樣的一種方法&#xff0c;可以顯著降低神經網絡計算復雜度&#xff0c;減少訓練中的過擬合&#xff0c;同時可以使數據具有一定的不變性。 池化從方法上來講可以分為average Pooling、max Pooling、Overlapping Poolin…

【圖像處理】——鼠標點擊圖像的一處,獲得點擊點的坐標值

import cv2 import numpy as np# 圖片路徑 img = cv2.imread(5-.jpg) a = [] b = []def on_EVENT_LBUTTONDOWN(event, x, y, flags, param)::param event: 鼠標事件:param x: 點擊點的橫坐標:param y: #點擊點的縱坐標:param flags: :param param: :return: if event == cv2.EV…

解決sybase數據庫的死鎖問題

在使用數據庫操作時&#xff0c;由于多人同時使用&#xff0c;導致數據庫某些表無法訪問&#xff0c;原因可能是由于多個用戶操作同一個表&#xff0c;爭搶統一資源出現死鎖現象&#xff0c;現將解決死鎖的方法總結如下&#xff1a; 1、執行 sp_who 語句&#xff0c;觀察執行結…

揭開.NET 2.0配置之謎(一)

2010-03-20 15:33 by 吳秦, 4828 閱讀, 20 評論, 收藏, 編輯 此文是譯文&#xff0c;原文是Jon Rista&#xff0c;Unraveling the Mysteries of .NET 2.0 Configuration&#xff0c;由于這篇文章比較長&#xff0c;所以我就分為幾部分來翻譯。 以前沒有翻譯過外文&#xff0c;看…

Pytorch基礎(六)——激活函數

一、概念 激活函數顧名思義&#xff0c;就是一種可以給神經網絡注入靈魂的一種方法&#xff0c;也可以稱之為激活層。其計算就是將線性的函數轉變為非線性函數的過程&#xff0c;只有這樣&#xff0c;我們制作的深層神經網絡才能無限逼近真實值。 自神經網絡發展到目前為止&am…

android數據的五種存儲方式

Android提供了5種方式存儲數據1 使用SharedPreferences存儲數據它的本質是基于XML文件存儲key-value鍵值對數據&#xff0c;通常用來存儲一些簡單的配置信息。其存儲位置在/data/data/< >/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改&…

【NOIP 模擬題】[T1] 等差數列(dp)

【題解】【dp】 【f[i][j]表示以i為結尾&#xff0c;j為公差的子序列個數】 【要注意有負數&#xff0c;所以將公差1000】 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int const p9901; int f[1010][2010],n,a[1010]; lo…

走在網頁游戲開發的路上(十)

頁游資源管理 現在頁游的規模越來越來大&#xff0c;游戲內容豐富&#xff0c;資源管理變得很重要。現在一款SNS頁游的所有資源可達50M&#xff0c;MMO頁游更高達幾百M&#xff0c;不可能把資源放到一個文件里面、也不可能一次性加載完所有資源。按200kb/s的下載速度來算&#…

Pytorch基礎(七)——線性層(全連接層)

一、概念 在神經網絡中&#xff0c;我們通常用線性層來完成兩層神經元間的線性變換。 按照官網的解釋&#xff0c;Linear.weight也即A&#xff0c; 我們可以稱之為權重矩陣&#xff0c;對其轉置后乘以輸入數據(一般都是一維張量)&#xff0c;加上Linear.bias即b偏置。 二、P…

跨線程取出控件的值的寫法(不是跨線程賦予控件值)

//這個方法是跨線程取出控件的值&#xff0c;不是跨線程賦予控件值private delegate void DelegateGetControl(各種參數);private void GetControl(各種參數&#xff0c;和委托的參數是一樣的){try{if (this.InvokeRequired){//如果是跨線程的控件&#xff0c;就調用委托去實現…

使系統生成50個0-9之間的隨機數,將每個數字出現的次數 存入一個一維數組中,統計出現次數最多和出現次數最少的數字,及出現次數 和出現頻率。...

int [] numsnew int[10]; for(int i0;i<50;i){ int num(int)(Math.random()*10);//隨機生成0-9 nums[num];//生成隨機數 對應下標位置 自增 } int maxIndex0;//存儲出現最多次數的下標 int minIndex0;//存儲出現最少次數的下標 //循環數組 for(int i1;i<nums.length;i){ …

PureMVC(AS3)剖析:吐槽

PureMVC&#xff08;AS3&#xff09;剖析&#xff1a;吐槽 寫在前面 世上沒有銀彈——不存在適用于所有情況的框架&#xff0c;只有適合的框架。再者任何一個好的東西&#xff08;語言、框架等&#xff09;最終還取決于用的人&#xff0c;語言和框架本身并不能保證用戶的代碼清…

Pytorch基礎(八)——正則化

一、概念 正則化在深度學習領域是為了防止訓練結果過擬合而采取的一種方法。 1.1 過擬合 過擬合表示模型的泛化能力較差&#xff0c;體現在實際訓練模型上就是在訓練集表現很好&#xff0c;但是在測試集的效果一般。 過擬合的原因&#xff1a;1&#xff0c;模型過于復雜。2&…

uva 11997 K Smallest Sums 優先隊列處理多路歸并問題

題意&#xff1a;K個數組每組K個值&#xff0c;每次從一組中選一個&#xff0c;共K^k種&#xff0c;問前K個小的。 思路&#xff1a;優先隊列處理多路歸并&#xff0c;每個狀態含有K個元素。詳見劉汝佳算法指南。 1 #include<iostream>2 #include<cstdio>3 #includ…

.net生成隨機字符串

生成隨機字符串的工具類&#xff1a; /// <summary>/// 隨機字符串工具類/// </summary>public class RandomTools{/// <summary>/// 隨機系數/// </summary>public static int _RandIndex 0;#region 獲取某個區間的一個隨機數/// <summary>///…

【圖像處理】——Python鼠標框選ROI(感興趣)區域并且保存(含鼠標事件)

鼠標交互切割矩形 接下來,就是本文重點了。先吐個槽,網上有資源,但搜到的都是C++的。本來有點氣餒的,還好,有官網在,文檔寫得很清楚,而且接口函數名字變化不大,稍微做下修改就行了。 import cv2global img global point1, point2 def on_mouse(event, x, y, flags, pa…

c++ 11 override final

C 11添加了兩個繼承控制關鍵字&#xff1a;override和final。 override確保在派生類中聲明的重載函數跟基類的虛函數有相同的簽名。final阻止類的進一步派生和虛函數的進一步重載 出處&#xff1a;http://www.cnblogs.com/zhangdongsheng/ 作者&#xff1a;張東升