当前位置: 首页 > news >正文

洛谷题单指南-组合数学与计数-CF1332E Height All the Same

原题链接:https://www.luogu.com.cn/problem/CF1332E

题意解读:n*m二维矩阵中,每个位置有一个数字aij∈[L,R],有两种操作:

1、将相邻两个数字各加1

2、将一个数字加2

问有多少种初始状态,使得通过以上操作将所有数变成相同。

解题思路:

1、问题分析

  最终要使得所有数相同,也就是同奇同偶,而操作2无法改变奇偶性,操作1可以改变奇偶性,因此只要通过操作1将所有数改成同奇同偶,

再通过操作2即可将数字变为相同。

2、条件约束

  什么状态通过操作1能改为同奇同偶呢?需要深入理解操作1的两个重要性质:

性质一:对一奇一偶两个数进行操作1,两数奇偶互换,在二维矩阵中起到了将一个奇数或者偶数移动的效果。

性质二:对两奇或两偶的数进行操作1,两数奇偶变化,起到了将数据往同一个奇偶性改变的效果。

因此,要通过操作1将所有数改为同奇同偶,初始状态中必须有偶数个奇数或者偶数。

如何理解?通过操作1可以将某种数(奇或偶)移动到矩阵的一侧,然后再通过操作1可以将所有一侧的数改变奇偶性,由于一次操作2个数,

必须要有偶数个同奇偶性的数才行。

3、分类讨论

设size=n*m,len = R - L + 1,矩阵中奇数个数为odd,偶数个数为even,size = odd + even

当size是奇数时,odd和even中必然有一个是偶数,因此这样的初始状态都是满足要求的,一共有lensize个;

当size时偶数时,odd和even必须都是偶数才行,两个都是奇数的情况则不行,这样的状态数量可以通过枚举odd累加:

  odd取0、2、4...size/2,L~R中奇数的个数为o,偶数的个数为e

  e = R/2 - (L+1)/2 + 1

  o = len - e

  总的数量为image

4、公式推导

上面的式子很像二项式定理,我们知道根据二项式定理有

image

由以上两式相加可推导出:

image

5、算法求解

对于以上两种情况,通过快速幂和逆元求解。

100分代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;const int MOD = 998244353;
LL n, m, L, R;LL ksm(LL a, LL b, LL mod)
{LL res = 1;while(b){if(b & 1) res = res * a % mod;a = a * a % mod;b >>= 1;}return res;
}int main()
{cin >> n >> m >> L >> R;LL size = n * m, len = R - L + 1;LL o = R / 2 - (L + 1) / 2 + 1; //区间内偶数个数LL e = len - o; //区间内奇数个数LL ans = 0;if(size % 2 == 1) //总数为奇数{ans = ksm(len, size, MOD);}else //总数为偶数{ans = (ksm(o + e, size, MOD) + ksm(abs(o - e), size, MOD)) % MOD;ans *= ksm(2, MOD - 2, MOD); //除以2变成乘以2的逆元ans %= MOD;}cout << ans;return 0;
}

 

http://www.gsyq.cn/news/55350.html

相关文章:

  • ESP32-LVGL 开发笔记(二):设备注册
  • 同样都是36岁,同样都是面临人生的抉择,《岁月》中的梁志远放下清高觉醒了,我呢,如何在社会这个大染缸里面混呢?
  • 2025 年 11 月冲压机械手厂家推荐排行榜,冲床机械手/摆臂机械手/二次元拉伸/三次元冲压/模内平移/多工位冲压/四轴上下料/自动拆垛/新能源电池壳拉伸/双臂机械手/全自动码垛机厂家精选
  • PG优化系列:Oracle迁移到PG中性能下降1000倍续集
  • 2025 最新瓷砖品牌权威推荐:经国际协会测评认证,精选品质与创新兼具的优质品牌
  • ESD整改核心思路:堵、防、疏的实践平衡-ASIM阿赛姆
  • 保温杯LED屏幕驱动和语音播报二合一芯片方案
  • 2025 靠谱初中一对一辅导机构排行榜:权威评价 + 真实口碑排名推荐
  • 什么是I2C通信协议
  • 视频汇聚平台EasyCVR服务器使用WiFi网卡时,为何无法向级联平台发送注册?
  • idea下创建多个springboot项目
  • 大厂都在用的测试基础设施:深度解析Dify工作流引擎的设计哲学与最佳实践
  • 【LVGL】文本区域部件
  • 2025 年 11 月手工冰淇淋厂家推荐排行榜,0添加冰淇淋,低脂冰淇淋,低糖冰淇淋,巧克力冰淇淋,国潮冰淇淋,磨巧冰淇淋厂家推荐
  • 11.20模拟赛div-3
  • why did I speak English
  • Java 类加载机制与反射
  • 2025年电子散件手工源头厂家权威推荐榜单:灯具加工外发/手工编织加工/电子产品手工加工源头厂家精选
  • 2025 运营商数据分类分级需求演进与核心厂商全景解析
  • NAS、对象存储与 JuiceFS:百亿量化基金的存储选型实践
  • 实用指南:【Linux基础知识系列:第一百五十九篇】磁盘健康监测:smartctl
  • STM32HAL库通用定时器学后笔记 - 实践
  • CF2172H Shuffling Cards with Problem Solver 68!
  • 2025年手工雕刻石碑生产厂家权威推荐榜单:汉白玉墓碑/石碑/汉白玉石碑源头厂家精选
  • 记基于现有项目架构通过ai生成的一个语音助手功能开发设计文档
  • 2025年螺旋输送机批发厂家权威榜单:带式输送机/链板输送机/皮带输送机设备源头厂家精选
  • js yield Generator
  • 2025年北京银行贷款中介公司权威推荐榜单:贷款中介加盟/中介贷款公司/贷款公司中介源头公司精选
  • 2025年抖音矩阵系统TOP榜,优质系统一网打尽!短视频矩阵/抖音视频矩阵/视频矩阵/GEO排名/抖音矩阵系统推荐榜单
  • 项目中使用Redis缓存 - 努力-