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.mzph.cn/news/686497.shtml

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

相关文章

【Linux】指令 【scp】

scp 是一条用于安全复制文件的命令。 scp hadoop.tar.gz datanode:/software这条命令的含义是将本地的hadoop.tar.gz文件复制到远程主机datanode的/software目录下。 scp&#xff1a;这是Secure Copy的缩写&#xff0c;用于在主机之间安全地复制文件。hadoop.tar.gz&#xff…

C++运算符重载(日期类的运算符重载为例)

一、运算符重载简介 C为了增强代码的可读性&#xff0c;引入了运算符重载。 运算符重载是一个拥有特殊函数名的函数&#xff0c;其函数名为 operator重载的运算符&#xff0c;其余的返回值类型和参数列表与普通函数类似。调用时可以使用函数名调用&#xff0c;也可以直接使用…

Kubernetes 元信息与控制器模型

一、资源元信息&#xff1a; Kubernetes 的资源对象组成&#xff1a;主要包括了 Spec、Status 和元数据。其中 Spec 部分用来描述期望的状态&#xff0c;Status 部分用来描述观测到的状态。 元数据主要包括了&#xff1a;Labels 用来识别资源的标签&#xff1b;Annotations 用…

EasyUI动态加载组件

要实现如下的效果&#xff0c;在表格中显示进度条 主要是需要再次初始化组件&#xff0c;借用ChatGPT的意思是&#xff1a; 在许多 JavaScript UI 框架中&#xff0c;包括 EasyUI&#xff0c;在动态地创建或插入新的 DOM 元素后&#xff0c;通常需要手动初始化相关的组件或特性…

DPU技术的进步:赋予未来创新力量

随着云计算和虚拟化技术的发展&#xff0c;网卡在功能和硬件结构方面也经历了四个阶段&#xff0c;即网卡、智能网卡、基于FPGA的DPU和DPU SoC网卡。本文将重点介绍这些不同类型的网络适配器和处理器&#xff0c;在硬件、可编程能力、开发和应用方面的特点。 网卡的演进和应用…

第四节笔记:XTuner 大模型单卡低成本微调实战

视频链接&#xff1a;https://www.bilibili.com/video/BV1yK4y1B75J/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1 课程笔记&#xff1a; 1.Finetune简介 指令微调&#xff1a; 开始的大模型可能不知道问的是问题 这三种角色的划分只有在微调训练阶…

LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录 前言LeetCode、452. 用最少数量的箭引爆气球【中等&#xff0c;贪心&#xff0c;区间问题】题目链接与分类思路贪心&#xff0c;连续区间数量问题 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客…

Unity 减低GC和优化

文章目录 在Unity中&#xff0c;垃圾收集&#xff08;Garbage Collection, GC&#xff09;是一项重要的内存管理机制&#xff0c;但过度的GC活动可能会导致性能瓶颈。优化Unity项目中的GC涉及减少不必要的对象分配和生命周期管理。以下列举了五个实例来详细说明如何降低GC负担并…

数学建模【线性规划】

一、线性规划简介 线性规划通俗讲就是“有限的资源中获取最大的收益”&#xff08;优化类问题&#xff09;。而且所有的变量关系式都是线性的&#xff0c;不存在x、指数函数、对数函数、反比例函数、三角函数等。此模型要优化的就是在一组线性约束条件下&#xff0c;求线性目标…

java 课程签到管理系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 课程签到管理系统是一套完善的java web信息管理系统 采用serlvetdaobean&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0…

飞天使-k8s知识点20-kubernetes实操5-pod更新与暂停-statefulset

文章目录 资源调度 Deployment&#xff1a;扩缩容资源调度 Deployment&#xff1a;更新的暂停与恢复资源调度 StatefulSet&#xff1a;定义一个有状态服务headless service 金丝雀发布 资源调度 Deployment&#xff1a;扩缩容 扩容和缩容&#xff0c;常用的功能 scale[rootkub…

C++11---lambda表达式

lambda表达式 lambda表达式概念lambda表达式语法lambda表达式各部分说明 lambda表达式交换两个数lambda表达式底层原理lambda表达式的底层原理 lambda表达式之间不能相互赋值 lambda表达式概念 lambda表达式是一个匿名函数&#xff0c;恰当使用lambda表达式可以让代码变得简洁…

企业计算机服务器中了faust勒索病毒怎么办?Faust勒索病毒解密数据恢复

网络技术的不断发展与更新&#xff0c;为企业的生产运营提供了极大便利&#xff0c;但也为企业的数据安全埋下隐患。近期&#xff0c;云天数据恢复中心接到很多企业的求助&#xff0c;企业的计算机服务器遭到了faust勒索病毒攻击&#xff0c;给企业的生产运营带来了极大困扰&am…

matlab中mosek安装教程

MOSEK数学优化软件包&#xff08;Mosek Optimization Tools&#xff09; 是一款MOSEK优化软件包&#xff0c;是一款用来解决大规模级别数学优化问题的软件。MOSEK提供了特定解决线性编程、混合整数编程以及其它非线性转换优化问题。 mosek安装教程 ①去官网https://www.mosek…

信息学奥赛一本通1177:奇数单增序列

1177&#xff1a;奇数单增序列 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 56645 通过数: 29059 【题目描述】 给定一个长度为N&#xff08;不大于500&#xff09;的正整数序列&#xff0c;请将其中的所有奇数取出&#xff0c;并按升序输出。 【输入】 第1行为…

【研究生复试】计算机软件工程人工智能研究生复试——资料整理(速记版)——数据库

1、JAVA 2、计算机网络 3、计算机体系结构 4、数据库 5、计算机租场原理 6、软件工程 7、大数据 8、英文 自我介绍 4. 数据库 1. B树相对于B树的区别及优势 B树中有重复元素&#xff0c;B树没有重复元素B树种每个节点都存储了key和data&#xff0c;B树内节点去掉了其中指向数…

【C++11】:unordered系列关联式容器

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关unordered系列关联式容器的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;…

VNCTF 2024 Web方向 WP

Checkin 题目描述&#xff1a;Welcome to VNCTF 2024~ long time no see. 开题&#xff0c;是前端小游戏 源码里面发现一个16进制编码字符串 解码后是flag CutePath 题目描述&#xff1a;源自一次现实渗透 开题 当前页面没啥好看的&#xff0c;先爆破密码登录试试。爆破无果…

https 为什么安全

HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是一种用于在计算机网络上安全地传输数据的通信协议。它是基于HTTP协议的扩展&#xff0c;通过使用SSL/TLS协议来加密通信内容&#xff0c;从而提供了数据的保密性和完整性&#xff0c;以及对通信双方身份的认…

Rust 初体验6

学习 Rust 的同学&#xff0c;大概都有其他语言的背景。仔细分辨与已有知识的差别&#xff0c;或有助于更好地理解Rust。以下是把 C 语言与 Rust 作一初步对比&#xff0c;以见出其中差别。 1.变量声明&#xff1a; C语言使用int、float等关键字来声明变量的类型&#xff0c;…