全国信息学奥林匹克联赛(NOIP2019)复赛 提高组 day2答案及解析.pdfVIP

全国信息学奥林匹克联赛(NOIP2019)复赛 提高组 day2答案及解析.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一、实操题

1、Emiya家今天的饭

【题目描述】

Emiya是个擅长做菜的高中生,他共掌握n种烹饪方法,且会使用m

种主要食材做菜。为了方便叙述,我们对烹饪方法从1~n编号,对主要食材从1

~m编号。

Emiya

做的每道菜都将使用恰好一种烹饪方法与恰好一种主要食材。更具体地,Emiya

会做ai,j道不同的使用烹饪方法i和主要食材j的菜(1≤i≤n,1≤j≤m),这也意味着

Emiya总共会做

道不同的菜。

Emiya今天要准备一桌饭招待Yazid和Rin

这对好朋友,然而三个人对菜的搭配有不同的要求,更具体地,对于一种包含k

道菜的搭配方案而言:

(1)Emiya不会让大家饿肚子,所以将做至少一道菜,即k≥1

(2)Rin

希望品尝不同烹饪方法做出的菜,因此她要求每道菜的烹饪方法互不相同

(3)Yazid

不希望品尝太多同一食材做出的菜,因此他要求每种主要食材至多在一半的菜(即

道菜)中被使用

这里的⌊x⌋为下取整函数,表示不超过x的最大整数。

这些要求难不倒

Emiya,但他想知道共有多少种不同的符合要求的搭配方案。两种方案不同,当且

仅当存在至少一道菜在一种方案中出现,而不在另一种方案中出现。

Emiya

找到了你,请你帮他计算,你只需要告诉他符合所有要求的搭配方案数对质数998,

244,353取模的结果。

【输入格式】

从文件meal.in中读入数据。

第1行两个用单个空格隔开的整数n,m。

第2行至第n+1行,每行m个用单个空格隔开的整数,其中第i+1行的m

个数依次为ai,1,ai,2,⋯,ai,m。

【输出格式】

输出到文件meal.out中。

仅一行一个整数,表示所求方案数对998,244,353取模的结果。

【样例1输入】

23

101

011

【样例1输出】

3

【样例1解释】

由于在这个样例中,对于每组i,j,Emiya都最多只会做一道菜,因此我们直接通

过给出烹饪方法、主要食材的编号来描述一道菜。

符合要求的方案包括:

•做一道用烹饪方法1、主要食材1的菜和一道用烹饪方法2、主要食材2的菜

•做一道用烹饪方法1、主要食材1的菜和一道用烹饪方法2、主要食材3的菜

•做一道用烹饪方法1、主要食材3的菜和一道用烹饪方法2、主要食材2的菜

因此输出结果为3mod998,244,353=3。

需要注意的是,所有只包含一道菜的方案都是不符合要求的,因为唯一的主要食材

在超过一半的菜中出现,这不满足Yazid的要求。

【样例2输入】

33

123

450

600

【样例2输出】

190

【样例2解释】

Emiya必须至少做2道菜。

做2道菜的符合要求的方案数为100。

做3道菜的符合要求的方案数为90。

因此符合要求的方案数为100+90=190。

【样例3输入】

55

10011

01010

11110

10101

01101

【样例3输出】

742

【数据范围】

对于所有测试点,保证1≤n≤100,1≤m≤2000,0≤ai,j998,244,353。

参考答案:对于每个烹饪方法i,我们统计有多少种不同的主要食材j,使得Emiya

会做ai,j道菜。对于每种烹饪方法i,我们考虑其对应的主要食材j的数量。如果数量

小于等于⌊m/2⌋,我们可以选择做这道菜;否则,我们不能选择做这道菜。对于每

种烹饪方法i,我们可以选择做这道菜或者不做这道菜,所以总共有2^n种选择方式

。对于每种选择方式,我们可以根据Yazid的要求,统计有多少种不同的主要食材j

被使用了超过⌊m/2⌋次。如果数量超过⌊m/2⌋,则这种选择方式不符合要求,否则符

合要求。最后,我们将所有符合要求的选择方式的数量相加,即为最终答案。

您可能关注的文档

文档评论(0)

喵呜刷题 + 关注
实名认证
文档贡献者

来喵呜刷题,完成你的职业蜕变!

1亿VIP精品文档

相关文档