D. Cross Coloring(逆向思维 + 点覆盖问题)
创始人
2025-05-28 01:44:27
0

Problem - D - Codeforces

有一张纸,可以用大小为n × m的网格表示:n行和m列的单元格。所有的细胞最初都是白色的。G操作已应用于该工作表。其中的i可以描述为:2i yi-从k种非白色中选择一种,然后给整行和整列y上色。新颜色应用于每个单元格,而不管该单元格在操作之前是否被着色。应用所有q运算后的薄片称为着色。如果至少有一个单元格被着色,则两种颜色是不同的有多少种不同的颜色?打印数字模998 244 353。输入第一行包含一个整数t (1

Example

input

Copy

 

2

1 1 3 2

1 1

1 1

2 2 2 3

2 1

1 1

2 2

output

Copy

3
4

注意:

如果使用#define int long long 是无法通过这道题的 会T

以后输入输出都用scanf,

题解

用于涂改是按顺序的,所以一个点是什么颜色都是由最后一次在这个点上染色决定的

所以我们反过来考虑

如果点没有被染色过,不考虑

记录点最后一次被染色,可以染k种,所以乘k

如何判断一个点被染过色

1.所有行被染过 都不考虑了

2.所有列被染过 都不考虑了

3.该行该列 被染过 不考虑了

用两个数组记录行列是否被染过即可

 

#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
//#define int long long
const int N = 4e6 + 10;
typedef pair PII;
int x[N],y[N];
PII p[N];
int mod =  998244353;
void solve() 
{int n,m,k,q;scanf("%d%d%d%d",&n,&m,&k,&q);int a = 0,b = 0;int ans = 1;for(int i = 1;i <= n;i++){x[i] = 0;}for(int j = 1;j <= m;j++){y[j] = 0;}for(int i = 1;i <= q;i++){scanf("%d%d",&p[i].first,&p[i].second);}for(int i = q;i >= 1;i--){if(a == n||b == m||(x[p[i].first]&&y[p[i].second])){continue;}if(!x[p[i].first]){x[p[i].first] = 1;a++;}if(!y[p[i].second]){y[p[i].second] = 1;b++;}ans = 1ll*ans*k%mod;}printf("%d\n",ans); 
}//1 2 4
signed main() 
{
//	ios::sync_with_stdio(0);
//	cin.tie(0);cout.tie(0);int t = 1;
//	cin >> t;
scanf("%d",&t);while (t--) {solve();}
}
//1 1 1 0 1//1 1 1 0 1
//1 1 1 0 1
//1 1 1 0 1
//0 1 1 1 1
//0 1 1 1 1

相关内容

热门资讯

el-table实现热度表 实现效果 {{ scope.$index + 1 }}...
『C/C++养成计划』变量的执... 变量的执行顺序&动态工厂 文章目录一. 变量执行顺序二. 虚拟地址空间三. 动态工厂创建对象3.1...
揭秘:大清为什么要颁布剃发令?... 今天趣历史小编为大家带来了一篇关于清朝的文章,欢迎阅读哦~大清是什么时候下达“剃发令”的?其实早在他...
老子为什么名李耳?古人名字有什... 今天趣历史小编为大家带来了一篇关于老子的文章,欢迎阅读哦~古代人一般既有名又有字,有的还有别号。《周...
linux网络编程面试题 1、什么是IO多路复用 I/O多路复用的本质是使用select,poll或者epoll函数ÿ...
清朝士兵中兵和勇就一字之差 他... 还不知道:清朝士兵中的兵和勇有什么区别的读者,下面趣历史小编就为大家带来详细介绍,接着往下看吧~看过...
三国著名的衣带诏事件中,刘备为... 今天趣历史小编为大家带来了一篇关于刘备的文章,欢迎阅读哦~我们都知道衣带诏事件是小说《三国演义》中非...
清朝的体制到底是什么样的 为... 还不知道:清朝亲王那么多为什么无人造反呢的读者,下面趣历史小编就为大家带来详细介绍,接着往下看吧~在...
基于微信小程序的外卖点餐小程序 文末联系获取源码 开发语言:Java 框架:ssm JDK版本ÿ...
超越想象,博睿数据3D数字展厅... 历经多月精心打磨 博睿数据3D数字展厅正式上线 带来一个有温度、易操作、更全面的 线上形象展览平台 ...
最新或2023(历届)超生非婚... 非婚生子女可申请办理户口 从三亚市公安局获悉,为进一步规范户口登记和居民身份证管理,有效解决办理户口...
最新或2023(历届)青岛户口...   外来人员通过积分来青岛安家落户终于有具体细则了!6日,备受关注的青岛积分落户细则对外发布,青岛成...
最新或2023(历届)北京户口...  派出所办理常住户口登记工作规范  为加强常住人口管理,严密户口登记工作,依据《中华人民共和国户口登...
深度学习面试问题与答案(202... 1)什么是深度学习? 如果你正在参加深度学习面试,那么你...
非婚生子如何上户口,非婚生子女... 未婚子女、非婚生子女、私生子及同居生子之 户口与抚养问题 基本案情 王某,男,1972年7月出生,汉...
最新或2023(历届)上海户口...  为了积极稳妥地解决历史遗留户口问题,现就本市投靠类户口迁移提出若干实施意见如下:  一、 关于子女...
最新或2023(历届)青岛户口...  第一条 为推进落实我市积分落户管理制度,根据《青岛市人民政府关于进一步推进户籍制度改革的意见》(青...
最新或2023(历届)青岛户口...  近日,青岛市颁布了《关于进一步推进户籍制度改革的意见》,今后将按照“合理控制城区、适当放宽新区、全...
最新或2023(历届)浙江省迁...  1、户口迁移的原则  〈1〉户口迁移,应遵循人户一致和居住地登记的原则。  〈2〉办理户口迁移,关...
青岛市积分落户细则出炉,最新或...  作为本市人才引进落户政策的“兜底”政策,积分落户实施细则终于出炉!青岛也成为继广州 、深圳之后第三...