Acwing 周赛143 解题报告 | 珂学家 | 状压DP


前言

在这里插入图片描述


整体评价

被这个T2难住了, 幸好最后磨出来了,感觉蛮头痛的。T3是道状压题,这个反而容易写。


A. 时间

思路: 模拟

取模,但是对0要改成12

n = int(input())r = n % 12print (12 if r == 0 else r)

B. 数对推理

思路: 按题意模拟

如果一组存在歧义,则必为-1

需要从A,B两人分别去匹配

n, m = list(map(int, input().split()))arr = list(map(int, input().split()))
brr = list(map(int, input().split()))from collections import Countercnt = Counter()bad = Falsefor i in range(0, n * 2, 2):t1, t2 = arr[i], arr[i + 1]tmpCnt = Counter()for j in range(0, m * 2, 2):c1, c2 = brr[j], brr[j + 1]if t1 == c1 and t2 == c2:passelif t1 == c2 and t2 == c1:passelif t1 == c1 and t2 != c2:tmpCnt[t1] += 1elif t1 == c2 and t2 != c1:tmpCnt[t1] += 1elif t1 != c1 and t2 == c2:tmpCnt[t2] += 1elif t1 != c2 and t2 == c1:tmpCnt[t2] += 1if len(tmpCnt) >= 2:bad = Trueelif len(tmpCnt) == 1:cnt[list(tmpCnt.keys())[0]]+=1for i in range(0, m * 2, 2):t1, t2 = brr[i], brr[i + 1]tmpCnt = Counter()for j in range(0, n * 2, 2):c1, c2 = arr[j], arr[j + 1]if t1 == c1 and t2 == c2:passelif t1 == c2 and t2 == c1:passelif t1 == c1 and t2 != c2:tmpCnt[t1] += 1elif t1 == c2 and t2 != c1:tmpCnt[t1] += 1elif t1 != c1 and t2 == c2:tmpCnt[t2] += 1elif t1 != c2 and t2 == c1:tmpCnt[t2] += 1if len(tmpCnt) >= 2:bad = Trueelif len(tmpCnt) == 1:cnt[list(tmpCnt.keys())[0]]+=1if bad:print (-1)
else:if len(cnt) >= 2:print (0)elif len(cnt) == 1:print (list(cnt.keys())[0])else:print (-1)

C. 铺瓷砖

思路: 状压

只能说非常典的状压题

grid = []
for _ in range(2):grid.append(input())n = len(grid[0])dp = [0] * 4# 状压
def f(ch):return ord(ch) - ord('0')dp[f(grid[0][0]) + (f(grid[1][0]) << 1)] = 0for i in range(1, n):dp2 = [0] * 4mask1 = f(grid[0][i - 1]) + (f(grid[1][i - 1]) << 1)mask2 = f(grid[0][i]) + (f(grid[1][i]) << 1)for s1 in range(4):if (mask1 & s1) != mask1:continuefor s2 in range(4):if (mask2 & s2) != mask2:continuep2 = s2 - mask2if (s1 & 1) == 0 and p2 == 3:dp2[s2] = max(dp2[s2], dp[s1] + 1)if (s1 & 2) == 0 and p2 == 3:dp2[s2] = max(dp2[s2], dp[s1] + 1)if s1 == 0 and p2 == 1:dp2[s2] = max(dp2[s2], dp[s1] + 1)if s1 == 0 and p2 == 2:dp2[s2] = max(dp2[s2], dp[s1] + 1)if p2 == 0:dp2[s2] = max(dp2[s2], dp[s1])dp = dp2res = max(dp)
print (res)

写在最后

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/473816.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[经验] 做完腺样体手术打呼噜很严重怎么办 #媒体#笔记#经验分享

做完腺样体手术打呼噜很严重怎么办 1、打呼噜很严重怎么办 打呼噜是一种常见的睡眠障碍&#xff0c;不仅让睡眠质量变得很糟糕&#xff0c;也会影响室友或家人的睡眠质量。幸运的是&#xff0c;有许多方法可以减少打呼噜的发生率&#xff0c;从而让睡眠变得更好。 保持良好的…

机试复习-4

1.string类 string类型和数值的转换 ※数值→字符串 to_string函数 //具体做法 int i1234; string gto_string(i);//这样就转成字符串1234了 //下面就是字符串转为数字&#xff0c;类似下面还有stof,stoi,stod string d "1289347647"; int j stoi(d); cout <…

typescript环境搭建,及tsc命令优化

typescript typescript. 是一种由微软开发的 开源 、跨平台的编程语言。. 它是 JavaScript 的超集&#xff0c;最终会被编译为JavaScript代码。. TypeScript添加了可选的静态类型系统、很多尚未正式发布的ECMAScript新特性&#xff08;如装饰器 [1] &#xff09;。. 2012年10月…

安卓游戏开发框架应用场景以及优劣分析

一、引言 在移动游戏开发领域&#xff0c;选择合适的开发框架是项目成功的关键因素之一。特别是对于安卓平台&#xff0c;由于其开放性和庞大的用户基础&#xff0c;不同的游戏开发框架应运而生&#xff0c;旨在帮助开发者高效地构建游戏应用。以下是一些流行的安卓游戏开发框架…

SG3225EEN晶体振荡器规格书

SG3225EEN 晶振是EPSON/爱普生的一款额定频率25 MHz至500 MHz的石英晶体振荡器&#xff0c;6脚贴片&#xff0c;LV-PECL输出&#xff0c;3225封装常规有源晶振&#xff0c;具有小尺寸&#xff0c;轻薄型&#xff0c;高稳定性&#xff0c;低相位抖动&#xff0c;低电源电压&…

如何理解CSS的边框宽度?

CSS 边框宽度学习手记 CSS 边框宽度小概念 在CSS的世界里&#xff0c;border-width这个属性真的很实用&#xff0c;它能帮我指定HTML元素四周边框的宽度。这个宽度嘛&#xff0c;可以用像素px、点pt、厘米cm、相对单位em这些来表示&#xff0c;很方便吧&#xff01;还有呢&am…

【IP】固定虚拟机的IP地址

查询网关地址 在windows的cmd中输入ipconfig&#xff0c;可以查看对应的网关地址 查看虚拟机ip地址 # 查看虚拟机的ip地址 ifconfig 切换到网络相关的文件夹 cd /etc/sysconfig/network-scripts编辑ip相关配置文件 # 不同的centos版本对应的文件名不同&#xff0c;但是前…

MySQL篇之覆盖索引

一、定义 覆盖索引是指查询使用了索引&#xff0c;并且需要返回的列&#xff0c;在该索引中已经全部能够找到。 二、例子 1. id为主键&#xff0c;默认是主键索引。 2. name字段为普通索引。 select * from tb_user where id 1 覆盖索引 select id&#xff0c;na…

输入捕获模式测频率PWM输入模式(PWMI)测占空比

一、概念介绍 输出比较&#xff1a; 比较电路输入的CNT、CCR大小关系 &#xff0c;在通道引脚输出高低电平 二、*频率知识、测量方法补充 * N/fc得到标准频率的时长&#xff0c;也就是待测频率的周期 测频法代码实现&#xff1a;修改对射式红外传感器计次&#xff08;上升沿…

GIS 基于 MCDM-AHP 方法研究潜在风力发电厂区域

随着全球人口的迅速增长、现有不可再生能源的不足以及工业的快速发展,人们对可再生能源的兴趣与日俱增。除了化石燃料的有限供应外,由于无法避免其对环境造成的破坏,人们开始转向替代能源。风能是最具商业价值的能源之一,既环保又可持续。然而,为了使风力发电厂发挥最大效…

代码随想录刷题笔记-Day18

1. 合并二叉树 617. 合并二叉树https://leetcode.cn/problems/merge-two-binary-trees/ 给你两棵二叉树&#xff1a; root1 和 root2 。 想象一下&#xff0c;当你将其中一棵覆盖到另一棵之上时&#xff0c;两棵树上的一些节点将会重叠&#xff08;而另一些不会&#xff09;…

PPT导出PDF时保持图像高清的方法

问题: 我们经常会发现&#xff0c;在PPT中插入的图片非常高清&#xff0c;但是通过PPT转换为PDF之后&#xff0c;图片就会出现不同程度的失真。 问题产生的原因: 这是因为Acrobat的PDF Maker在将PPT转换为PDF的时候&#xff0c;对PPT中的图片进行了压缩 Solution: 在PPT的…