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

【最短路+状压】CF1846 G

Problem - G - Codeforces

题意:

思路:

Code:

#include <bits/stdc++.h>//#define int long longusing namespace std;const int mxn=1e6+10;
const int mxv=1e6+10;
const int mxe=2e3+10;
const int mod=1e9+7;
const int Inf=0x3f3f3f3f;struct ty2{int x,dis;bool operator<(const ty2&a)const{return a.dis<dis;}
};priority_queue<ty2> Q;int N,M,st=0;
int d[mxn],e[mxn],se[mxn];
int vis[(1<<10)+10],dis[(1<<10)+10];char x;void dij(){memset(dis,0x3f,sizeof(dis));memset(vis,0,sizeof(vis));dis[st]=0;Q.push({st,0});while(!Q.empty()){auto u=Q.top();Q.pop();if(vis[u.x]) continue;vis[u.x]=1;for(int i=1;i<=M;i++){int w=d[i];int v=((u.x&(~e[i]))|se[i]);if(dis[v]>dis[u.x]+w){dis[v]=dis[u.x]+w;Q.push({v,dis[v]});}}}
}
void solve(){st=0ll;while(!Q.empty()) Q.pop();cin>>N>>M;for(int i=1;i<=M;i++){d[i]=e[i]=se[i]=0;}for(int i=0;i<N;i++){cin>>x;st|=((x=='1')<<i);}for(int i=1;i<=M;i++){cin>>d[i];e[i]=se[i]=0;for(int j=0;j<N;j++){cin>>x;e[i]|=((x=='1')<<j);}for(int j=0;j<N;j++){cin>>x;se[i]|=((x=='1')<<j);}}dij();if(dis[0]==Inf) cout<<-1<<'\n';else cout<<dis[0]<<'\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;cin>>__;while(__--)solve();return 0;
}

 

相关文章:

【最短路+状压】CF1846 G

Problem - G - Codeforces 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>//#define int long longusing namespace std;const int mxn1e610; const int mxv1e610; const int mxe2e310; const int mod1e97; const int Inf0x3f3f3f3f;stru…...

vue+elementui实现英雄联盟道具城

目录 一、效果图 1.首页 2.商品列表、分类 二、实现重点讲解 1.首页轮播图 1.1技术实现&#xff1a; 1.2.鼠标聚焦切换图片事件 2.首页tab切换 3.商品列表实现 三、项目结构说明 四、总结 一、效果图 1.首页 项目与官方效果没有太大差异&#xff1a; 游戏导航&#xff1…...

ruby注释

在Ruby中&#xff0c;可以使用以下两种方式进行注释&#xff1a; 1. 单行注释&#xff1a;使用井号&#xff08;#&#xff09;在代码行的开头添加注释。例如&#xff1a; # 这是一个单行注释 puts "Hello, World!" 2. 多行注释&#xff1a;使用begin和end将多行注…...

2023(WAIC)智能驾驶科技峰会丨拓数派大模型下的数据计算系统,助力汽车智能化产业数据增值

2023 智能驾驶科技峰会在上海圆满落幕&#xff0c;本次大会由世界人工智能大会&#xff08;WAIC&#xff09;组委会办公室指导&#xff0c;浦东新区人民政府支持&#xff0c;浦东新区科技和经济委员会、中国 &#xff08;上海&#xff09;自由贸易试验区管理委员会金桥管理局主…...

牛客周赛 Round 2

小红的环形字符串小红的环形字符串 题目描述 小红拿到了一个环形字符串s。所谓环形字符串&#xff0c;指首尾相接的字符串。 小红想顺时针截取其中一段连续子串正好等于t&#xff0c;一共有多少种截法&#xff1f; 思路分析 环形问题。 将字符串 s 拼接自身&#xff0c;得到新…...

Git 命令提交和分支控制

强大的分支和合并&#xff1a;Git 提供了强大的分支功能&#xff0c;使得开发者可以轻松创建、合并和管理分支。这种灵活性使得团队可以同时进行多个任务和实验性开发&#xff0c;而不会相互干扰 Git 在处理大型代码仓库和版本历史时表现出色。它使用了一种称为“快照”的机制…...

2023 node 接入腾讯云短信服务,实现发送短信功能

1、在 腾讯云开通短信服务&#xff0c;并申请签名和正文模板 腾讯云短信 https://console.cloud.tencent.com/smsv2 a、签名即是短信的开头。例如 【腾讯云短信】xxxxxxx&#xff1b; b、正文模板即短信内容&#xff0c; 变量部分使用{1}&#xff0c; 数字从1开始累推。例如&a…...

Devops系列四(使用argocd部署java应用到k8s容器)

一、说在前面的话 上文已为我们准备好了以下内容&#xff1a; 制作java应用的docker镜像&#xff0c;并推送至镜像仓库上传helm yaml代码至gitlab仓库&#xff08;此gitlab和java应用所在的gitlab可以独立&#xff0c;也可以在一起&#xff0c;但是不宜在同一个工程&#xff…...

如何在Microsoft Excel中进行不连续区域批量填充

快速填充是 Excel 最令人惊叹的功能之一,它因让一个需要数小时手动执行的乏味任务瞬间自动执行而得名,然而它也有局限性: 结果不是动态的。当你更改其所基于的值时,快速填充值不会更新。你需要再次执行快速填充才能更新值。 快速填充可能并不总是返回结果。该模式对于 Exce…...

k8s+springboot+CronJob 定时任务部署

kubernetesspringbootCronJob 定时任务配置如下代码&#xff1a; cronjob.yaml k8s 文件 apiVersion: batch/v1 kind: CronJob metadata:name: k8s-springboot-demonamespace: rz-dt spec:failedJobsHistoryLimit: 3 #执行失败job任务保留数量successfulJobsHistoryLimit: 5 …...

Spring5 中更优雅的第三方 Bean 注入

小伙伴们知道&#xff0c;当我们使用 Spring 容器的时候&#xff0c;如果遇到一些特殊的 Bean&#xff0c;一般来说可以通过如下三种方式进行配置&#xff1a; 静态工厂方法实例工厂方法FactoryBean 不过从 Spring5 开始&#xff0c;在 AbstractBeandefinition 类中多了一个属…...

Yolov5-Face 原理解析及算法解析

YOLOv5-Face 文章目录 YOLOv5-Face1. 为什么人脸检测 一般检测&#xff1f;1.1 YOLOv5Face人脸检测1.2 YOLOv5Face Landmark 2.YOLOv5Face的设计目标和主要贡献2.1 设计目标2.2 主要贡献 3. YOLOv5Face架构3.1 模型架构3.1.1 模型示意图3.1.2 CBS模块3.1.3 Head输出3.1.4 stem…...

通俗易懂讲解CPU、GPU、FPGA的特点

1. CPU vs GPU 大家可以简单的将CPU理解为学识渊博的教授&#xff0c;什么都精通&#xff1b;而GPU则是一堆小学生&#xff0c;只会简单的算数运算。可即使教授再神通广大&#xff0c;也不能一秒钟内计算出500次加减法。因此&#xff0c;对简单重复的计算来说&#xff0c;单单一…...

PIC18 DataRAM 笔记

1.疑似最糟糕的英文技术文档段落 Since up to 16 registers may share the same low-order address, the user must always be careful to ensure that the proper bank is selected before performing a data read or write. For example, writing what should be program dat…...

【FFMPEG】AVFilter使用流程

流程图 核心类 AVFilterGraph ⽤于统合这整个滤波过程的结构体 AVFilter 滤波器&#xff0c;滤波器的实现是通过AVFilter以及位于其下的结构体/函数来维护的 AVFilterContext ⼀个滤波器实例&#xff0c;即使是同⼀个滤波器&#xff0c;但是在进⾏实际的滤波时&#xff0c;也…...

爬虫入门06——了解cookie和session

爬虫入门06——了解cookie和session &#xff08;1&#xff09;什么是cookie&#xff0c;有什么作用 http请求是无状态的请求协议&#xff0c;不会记住用户的状态和信息&#xff0c;也不清楚你在这之前访问过什么而当网站需要记录用户是否登录时&#xff0c;就需要在用户登录…...

Ubuntu 的移动梦醒了

老实讲&#xff0c;移动版 Ubuntu 在手机、平板上的发展自始至终可能都没有达到过 Canonical 的期望&#xff0c;既然如此&#xff0c;不再勉为其难地坚持下去&#xff0c;或许才是更加明智的做法。 时至今日&#xff0c;官方显然也意识到了这一点&#xff0c;在早些时候发布的…...

RabbitMQ的集群

新建一个虚拟机,重新安装一个RabbitMQ,不会安装的可以看下面的连接: 在Linux中安装RabbitMQ_流殇꧂的博客-CSDN博客 1.修改/etc/hosts映射文件,两台虚拟机都需要修改 vim /etc/hosts 127.0.0.1 node1 localhost.localdomain localhost4 localhost4.localdomain4 ::1 node1 loca…...

超长上下文处理:基于Transformer上下文处理常见方法梳理

原文链接&#xff1a;芝士AI吃鱼 目前已经采用多种方法来增加Transformer的上下文长度&#xff0c;主要侧重于缓解注意力计算的二次复杂度。 例如&#xff0c;Transformer-XL通过缓存先前的上下文&#xff0c;并允许随着层数的增加线性扩展上下文。Longformer采用了一种注意力…...

ChatGPT爆火 但生成式AI并非全新产物

以ChatGPT、Midjourney 为代表的 AIGC 产品横空出世&#xff0c;在全球掀起新一轮的 AI 技术变革新浪潮。近二十年来&#xff0c;我们见证了从「机器学习」算法到「深度学习」&#xff0c;再到「基础模型」的发展。随着数据量大规模膨胀&#xff0c;可扩展的算力&#xff0c;再…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...