C++程式以找出序列中持有最小和最大元素的成對序列
假設我們有三個數字N、M和K。有N個水平行和M個垂直行。我們將在每個單元格中寫入1到K之間的整數,並定義序列A和B,使得−
對於範圍在1到N之間的每個i,A[i]是第i行中所有元素的最小值
對於範圍在1到M之間的每個j,B[j]是第j列中所有元素的最大值
我們需要找到(A, B)的數量。如果答案太大,回傳結果模998244353。
因此,如果輸入為N = 2;M = 2;K = 2,則輸出將為7,因為(A[1],A[2],B[1],B[2] )可以是(1,1,1,1)、(1,1,1,2)、(1,1,2,1)、(1,1,2,2)、(1,2,2, 2)、(2,1,2,2)或(2,2,2,2)。
步驟
為了解決這個問題,我們將按照以下步驟進行:
p := 998244353 Define a function power(), this will take a, b, and return (a^b) mod p From the main method, do the following: if n is same as 1, then: return power(K, m) if m is same as 1, then: return power(K, n) ans := 0 for initialize t := 1, when t <= K, update (increase t by 1), do: ans := (ans + (power(t, n) - power(t - 1, n) + p) mod p * power(K - t + 1, m)) mod p return ans
Example
讓我們看下面的實作以獲得更好的理解-
#include <bits/stdc++.h> using namespace std; long p = 998244353; long power(long a, long b, long ret = 1){ for (; b; b >>= 1, a = a * a % p) if (b & 1) ret = ret * a % p; return ret; } long solve(int n, int m, int K){ if (n == 1) return power(K, m); if (m == 1) return power(K, n); long ans = 0; for (long t = 1; t <= K; t++){ ans = (ans + (power(t, n) - power(t - 1, n) + p) % p * power(K - t + 1, m)) % p; } return ans; } int main(){ int N = 2; int M = 2; int K = 2; cout << solve(N, M, K) << endl; }
Input
的中文翻譯為:輸入
2, 2, 2
輸出
7
以上是C++程式以找出序列中持有最小和最大元素的成對序列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用math.Max函數取得一組數中的最大值在數學和程式設計中,經常需要找出一組數中的最大值。在Go語言中,我們可以使用math套件中的Max函數來實現這個功能。本文將介紹如何使用math.Max函數來取得一組數中的最大值,並提供對應的程式碼範例。首先,我們需要導入math包。在Go語言中,導入套件可以使用import關鍵字,如下所示:import"mat

使用Python的max()函數取得序列或集合中的最大值在Python程式中,我們經常需要從序列或集合中找到最大的元素。 Python提供了一個內建函數max(),它可以非常方便地實現這個功能。 max()函數可以接受任何可迭代物件作為參數,包括列表、元組、集合等。它會傳回傳入物件中的最大元素。下面是max()函數的基本語法:max(iterable[,def

如何在PHP數組中獲取最大值在編寫PHP程式碼時,經常需要對數組進行各種操作,其中包括獲取數組中的最大值。在本文中,我們將介紹如何使用PHP的內建函數和自訂函數來取得陣列中的最大值,並提供對應的程式碼範例。使用PHP內建函數max()PHP提供了一個內建函數max(),可以方便地從陣列中取得最大值。以下是使用函數的程式碼範例:<?php$numbers

在本文中,我們將使用C++解決尋找最大值和最小值相同的子數組數量的問題。以下是該問題的範例−Input:array={2,3,6,6,2,4,4,4}Output:12Explanation:{2},{3},{6},{6},{2 },{4},{4},{4},{6,6},{4,4},{4,4}and{4,4,4}arethesubarrayswhichcanbeformedwithmaximumandminimumelementsame.Input:array={3,3, 1,5,

討論一個給定二進制數的問題。我們必須從中刪除一點,以便剩餘的數字應該是所有其他選項中的最大值,例如Input:N=1011Output:111Explanation:Weneedtoremoveonebitsoremoving0bitwillgiveamaximumnumberthanremovingany1’sbit.111>101,011.Input:111

TreeSet是JavaCollectionFramework中的一個類別,它實作了SortedSet介面。它按升序儲存元素,並且不允許重複值,因此存取和檢索時間變得更快。由於這個出色的功能,TreeSet經常用於儲存需要快速搜尋的大量資訊。我們將使用Comparable介面對給定的TreeSet進行排序,然後使用內建方法,嘗試取得最高和最低值的元素來自該TreeSet。從TreeSet取得最高和最低值元素的Java程式在進入程式之前,讓我們先熟悉一些概念類似的介面當我們想要按自訂物件的自然順序

MySQL中如何使用MAX函數找出某個欄位的最大值在MySQL中,我們可以使用MAX函數來找出某個欄位的最大值。 MAX函數是一個聚合函數,用來找出指定欄位的最大值。使用MAX函數的語法如下:SELECTMAX(column_name)FROMtable_name;其中,column_name是要找出最大值的欄位名,table_name是要查詢的表名。下

在這個問題中,我們給定一個大小為n的陣列arr[]和一個數字S。我們的任務是找到修改後的陣列的最小值的最大可能值。 p>這裡是修改數組的規則,修改前後數組元素總和應為S。修改後的陣列中不允許有負值。如果修改後的數組,則需要數組的最小值最大化。可以透過增加或減少數組的任何元素來修改數組。使用這些約束,我們需要找到新數組並傳回數組中最小元素的最大值。讓我們舉個例子來理解這個問題,Input:arr[]={4,5,6}S=2Output:4說明修改後的陣列為{4,5,5}解法我們需要最大化修改後
