29-分數求模(逆元)


鏈接:https://www.nowcoder.com/acm/contest/80/B
來源:牛客網

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld

題目描述

在文某路學車中學高一新生軍訓中,Jxc正站在太陽下站着軍姿,對於這樣的酷熱的陽光,Jxc 表示非常不爽。

Jxc將天空看做一個n*n的矩陣,此時天上有m朵雲,這些雲會隨機分布在m個不同的位置,同時太陽會隨機出現在一個位置,Jxc想知道他被太陽曬到的概率是多少,由於他仍在站軍姿,所以這個有趣的問題就交給了你。考慮到精度問題,Jxc只需要知道這個概率在對998244353取模意義下的值。

Tips:一個分數p/q在模意義下的值即p*q-1在模意義下的值,Xp-11 (mod p)




輸入描述:

輸入只有一行,包含兩個整數n、m。n和m的意義見題面.

輸出描述:

第一行包含一個整數Ans,為答案
示例1

輸入

2 2

輸出

499122177

備注:

1 <= n, m <= 2000,m <=n^2

 

 
         
#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;

long long quai(int n, int q){
	long long ans = 1, jie = n;
	while(q){
		if(q & 1){
			ans = (ans * jie) % mod;
		}
		jie = (jie * jie) % mod;
		q = q >> 1;
	}
	return ans;
}

int main(){
	long long n;
	int m;
	int b;
	cin >> n >> m;
	b = n * n - m;
	long long x = quai(n * n, mod - 2);
//	cout << x << endl;
	cout << ((b % mod) * (x % mod)) % mod << endl;
	return 0;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM