网站大量收购闲置独家精品文档,联系QQ:2885784924

国家集训队作业bitwise expressions解题报告.pdfVIP

国家集训队作业bitwise expressions解题报告.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Bitwise》解题 仇荣琦 【题目来源】 Baltic Olympiad in Informatics 2006 【题目描述】 在信号处理中,人们有时会对一个给定表达式的最大值感 。这个表达式 只含有二进制AND和OR运算,变量都为整数且有一定的取值范围。请你编写程序, 求出一个给定表达式的最大值。 为了简化题目,这里只考虑一种特殊的表达式,它有若干个由AND连接的子 表达式 ,而每个子表达式内只含有OR运算。这样,一个表达式可以由它的 子表达式数量和每个表达式内变量的个数唯一确定。例如,(3,1,2,2)表示的 表达式为 E=(v OR v OR v ) AND (v ) AND (v OR v ) and (v OR v ) 1 2 3 4 5 6 7 8 【输入格式】 第一行为两个整数N和P,其中N为变量的个数(1≤N≤100),P为子表达式 的个数(1≤P≤N)。 第二行为P个整数K ,K ,…,K ,其中K 表示第i个子表达式的变量个数(K 1 2 P i i p ≥1,Ki = N )。 i=1 接下来N行,每行两个整数A 和B ,表示变量v 的取值范围为[A ,B ](0≤ j j j j j A ≤B ≤2000000000)。 j j 【输出格式】 一个整数,为表达式的最大值。 【输入样例】 8 4 3 1 2 2 2 4 4 2 3 【输出样例】 6 【题目分析】 题目的大意是,给一个由若干子表达式用AND 连接的表达式,每个子表达式 内只含有OR 运算,每个变量在各自的区间内取值,求表达式的最大值。 最直观的想法是:枚举每一个变量的取值,计算表达式,然后比较大小。但 n 100 是这种做法的枚举量达到r =2000000000 ,无法承受。 从观察题目的某 些特性入手,希望找到更加优秀的算法。 为了方便描述,以下用 C 表示整个表达式的值,S 表示第 j 个子表达式的 j 值。通过分析, 发现题目中存在着某种贪心原则:尽量使得C 的 为1。 在二进制中,第 i 位的权重为 2i-1,而第 1 位到第 i-1 位的权重之和为 2 i-2 i-1 i-1 1+2+2 +…+2 =2 -12 。假设对同一个表达式存在两个不同的赋值,使得 表达式值分别为C 和C ,满足C 和C 从i+1 位到最 都相同,而C 的第 1 2 1 2 1 i 位是 0,C 的第i 位是 1,那么无论1 到i-1 位两数的取值如何,C 一定小 2 1 于C 。 2 这一条原则说明:可以贪心地从 到低位考虑各个二进制位,每次都尽量 满足C 的当前位取 1。考虑第 i 位时, 可以分两步进行:判断C 的第 i 位 是否可以取1、确定每一个变量在第i位的取值。 一、 判断C 的第i位是否可以取1。 由于整个表达式是由若干个子表达式用AND 连接而成的,如果要 C 的第 i 位取 1,那么每一个S 的第i 位都要取 1。而对于只含有OR 运算的 S 来说,

文档评论(0)

159****9610 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档