[AGC035F]Two Histograms
Description
你有一个 \(N\) 行、\(M\) 列的、每个格子都填写着 0 的表格。你进行了下面的操作:
对于每一行 \(i\) ,选定自然数 \(r_i\ (0 ≤ r i ≤ M )\)
,将这一行最左边的 \(r_i\) 个格子中
的数 \(+1\).对于每一列 \(i\) ,选定自然数 \(c_i\ (0 ≤ c i ≤ N )\)
,将这一列最上边的 \(c_i\) 个格子中
的数 \(+1\).
这样,根据你选定的 \(r_1 , r_2 , . . . , r_N , c_1 , c_2 , . . . , c_M\) ,你就得到了一个每个格子要 么是 \(0\) ,要么是 \(1\) ,要么是 \(2\) 的一个最终的表格。
问本质不同的最终表格有多少种。 两个表格本质不同当且进当它们有一个对应格子中的数不同。
\(n, m\le 5\times 10^5\)
Solution
csy的题解:
组合数那里上下写反了,乘上 \(k!\) 是为了让选出来的k行k列一一匹配上,可以固定一个,另一个排列,就是 \(k!\).
Code
#include <iostream>
#include <cstdio>
#define LL long long
using namespace std;
const int maxN = (int) 5e5;
const int mod = (int) 998244353;
LL qpow(LL a, LL b)
{
LL ans = 1;
while (b)
{
if (b & 1) ans = ans * a % mod;
a = a * a % mod;
b >>= 1;
}
return ans;
}
int n, m, ans;
int fac[maxN + 2], ifac[maxN + 2];
void init(int n)
{
fac[0] = 1;
for (int i = 1; i <= n; ++i) fac[i] = 1ll * fac[i - 1] * i % mod;
ifac[n] = qpow(fac[n], mod - 2);
for (int i = n - 1; i >= 0; --i) ifac[i] = 1ll * ifac[i + 1] * (i + 1) % mod;
}
int C(int n, int m)
{
if (n < 0 || m < 0 || m > n) return 0;
return 1ll * fac[n] * ifac[m] % mod * ifac[n - m] % mod;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("AGC035F.in", "r", stdin);
freopen("AGC035F.out", "w", stdout);
#endif
scanf("%d%d", &n, &m);
if (n < m) swap(n, m);
init(n);
for (int k = 0; k <= m; ++k)
{
ans += 1ll * qpow(-1, k) * C(n, k) % mod * C(m, k) % mod * fac[k] % mod * qpow(m + 1, n - k) % mod * qpow(n + 1, m - k) % mod;
ans %= mod;
(ans += mod) %= mod;
}
printf("%d\n", (1ll * ans + mod) % mod);
}
[AGC035F]Two Histograms的更多相关文章
- @atcoder - AGC035F@ Two Histograms
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 N*M 的方格,我们通过以下步骤往里面填数: (1)将 ...
- ZROI 暑期高端峰会 A班 Day1 组合计数
AGC036F Square Constriants 一定有 \(l_i<p_i\le r_i\). 考虑朴素容斥,枚举每个数是 \(\le l_i\) 还是 \(\le r_i\).对于 \( ...
- 【AGC035F】Two Histograms
Problem Description 你有一个 \(N\) 行.\(M\) 列的.每个格子都填写着 0 的表格.你进行了下面的操作: 对于每一行 \(i\) ,选定自然数 \(r_i\) (\(0\ ...
- Face recognition using Histograms of Oriented Gradients
Face recognition using Histograms of Oriented Gradients 这篇论文的主要内容是将Hog算子应用到人脸识别上. 转载请注明:http://blog. ...
- 行人检測之HOG特征(Histograms of Oriented Gradients)
之前的文章行人计数.计次提到HOG特征这个概念,这两天看了一下原版的论文,了解了一下HOG特征的原理,并依据自己的理解将这种方法的流程写了下来,假设有不正确的地方欢迎指正. HOG(Histogram ...
- Intermediate Python for Data Science learning 2 - Histograms
Histograms from:https://campus.datacamp.com/courses/intermediate-python-for-data-science/matplotlib? ...
- (转)梯度方向直方图HOG(Histograms of Oriented Gradients )
HOG(Histograms of Oriented Gradients )梯度方向直方图 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视 ...
- [翻译]——MySQL 8.0 Histograms
前言: 本文是对这篇博客MySQL 8.0 Histograms的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处.谢谢! 英文原文地址:https://lefred ...
- Histograms of Sparse Codes for Object Detection用于目标检测的稀疏码直方图
AbstractObject detection has seen huge progress in recent years, much thanks to the heavily-engineer ...
随机推荐
- MAN RPM
RPM(8) Red Hat Linux RPM(8) NAME/名称 rpm - RPM Package Manager/RPM-RPM包管理器SYNOPSIS/简介 QUER ...
- idea导入eclipse云笔记cloud_note项目 成功运行
Tomcat 运行 Success
- php shuffle()函数 语法
php shuffle()函数 语法 作用:把数组中的元素按随机顺序重新排序:富瑞华 语法:shuffle(array) 参数: 参数 描述 array 必需.规定要使用的数组. 说明:若成功则返回 ...
- Leetcode 16. 3Sum Closest(指针搜索)
16. 3Sum Closest Medium 131696FavoriteShare Given an array nums of n integers and an integer target, ...
- 实用工具/API
实用工具/API PNG图片无损压缩 在线给图片加水印 随机密码生成 随机头像生成 微博一键清理工具 CSS压缩 在线工具 免费虚拟主机 技术摘要 https://github.com/biezhi/ ...
- JavaScript toFixed()、toExponential、toPrecision方法
JavaScript toFixed() 定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 ...
- 170929-关于md5加密
在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存.首先,简单得介绍一下,什么是MD5加密. MD5的全称是 ...
- Vuex的五个核心属性
Vuex的五个核心属性 Vuex的五个核心概念 本文参考自Vue文档,说的非常详细,建议看文档. Vuex是什么? VueX 是一个专门为 Vue.js 应用设计的状态管理架构,统一管理和维护各个vu ...
- Android-Studio:Cannot reload AVD list
Android-Studio:Cannot reload AVD list 今天用Android-Studio时点击"RUN"后出现如下错误,特此记录一下解决方案. Cannot ...
- ELK实时日志分析平台环境部署--完整记录(ElasticSearch+Logstash+Kibana )
https://blog.csdn.net/oLevin/article/details/81020794