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

[USACO23OPEN] Field Day S题解

远古的回忆。

把变换一个字符视为边权为 1 1 1 的边,即求最长路。

最长路不好搞,考虑转补集最短路(容易感性理解),BFS 即可。

#include<bits/stdc++.h>
#define int long long
using namespace std;const int N = 1e5 + 5;int n, m, a[N], step[1<<18];signed main()
{ios::sync_with_stdio(0); cin.tie(0);memset(step, 0x3f, sizeof(step));cin >> m >> n;int ALL = (1 << m) - 1;queue <int> q;for(int i=1; i<=n; i++){	for(int j=0; j<m; j++){char x; cin >> x; if(x == 'G') a[i] += (1 << j);}step[a[i]] = 0, q.push(a[i]);}while(!q.empty()){int curs = q.front(); q.pop();for(int i=0; i<18; i++){int news = curs^(1<<i);if(step[news] > step[curs] + 1)step[news] = step[curs] + 1, q.push(news);}}for(int i=1; i<=n; i++)cout << m - step[ALL-a[i]] << "\n";
}

相关文章:

  • CCF_A 计算机视觉顶会CVPR2024投稿指南以及论文模板
  • Kamailio uac_replace和uac_restore
  • 电脑屏幕监控软件,能够帮助企业完成哪些事情?
  • C++ 单例模式
  • 学习redis之前的泛泛而谈(特性介绍,应用场景,Ubuntu安装与通用命令介绍)
  • KnowledgeGPT:利用检索和存储访问知识库上增强大型语言模型10.30
  • VMware虚拟网络连接的三种方式
  • 面试算法44:二叉树中每层的最大值
  • N-131基于jsp,ssm物流快递管理系统
  • 【C语言】字符串与指针
  • Mac/Linux类虚拟机_CrossOver虚拟机CrossOver 23.6正式发布2024全新功能解析
  • 实现基于 Azure DevOps 的数据库 CI/CD 最佳实践
  • Log4j-tag丢失
  • 力扣刷题 day61:10-31
  • 【10种排序算法总结】C++实现
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 10个确保微服务与容器安全的最佳实践
  • AHK 中 = 和 == 等比较运算符的用法
  • Android优雅地处理按钮重复点击
  • C语言笔记(第一章:C语言编程)
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • Less 日常用法
  • Markdown 语法简单说明
  • React16时代,该用什么姿势写 React ?
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Swift 中的尾递归和蹦床
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 近期前端发展计划
  • 模型微调
  • 前端面试之CSS3新特性
  • 温故知新之javascript面向对象
  • 在Mac OS X上安装 Ruby运行环境
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #传输# #传输数据判断#
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (solr系列:一)使用tomcat部署solr服务
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (笔试题)合法字符串
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)mysql使用Navicat 导出和导入数据库
  • *** 2003
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .Net Memory Profiler的使用举例
  • .net 后台导出excel ,word
  • .NET/C# 使窗口永不获得焦点
  • .NetCore项目nginx发布
  • .NET大文件上传知识整理