尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P4854 MloVtry的咸鱼树

P4854 MloVtry的咸鱼树
📅 发布时间:2026/6/20 10:23:23

推歌:Masquerade

传送

其实没什么难度,只要读懂题了就可以秒了。


题意:

给定 \(n\) 个点 \(m\) 条边的无向图 \(G\),每条边有一个权值 \(w\) 和点集 \(S\)。

现在有一个点集 \(T\),初始只含有一个点。每次可以选择一条边 \((u,v,S,w)\),满足 \(u\in T\) 或 \(v\in T\),且 \(S\subseteq T\)。可以花费 \(w\) 的代价令 \(T\to T\cup \{u,v\}\)。

求令 \(T=\{1,2,\cdots,n\}\) 的最小花费。


看到 \(n\le 15\) 很容易想到状压,设 \(dp[T]\) 为当前点集为 \(T\) 的最小花费,每次转移暴力枚举边进行转移即可,实现是朴素的。

Code

#include <bits/stdc++.h>
using namespace std;
int n,m,dp[1<<15];
int u[380],v[380],T[380],w[380];
int main(){cin>>n>>m;for(int i=1;i<=m;i++){cin>>u[i]>>v[i]>>T[i]>>w[i];u[i]--,v[i]--;}memset(dp,0x3f,sizeof(dp));dp[0]=0;for(int i=0;i<n;i++)dp[1<<i]=0;for(int S=0;S<(1<<n);S++)for(int i=1;i<=m;i++){if((S&T[i])!=T[i])continue;int x=1<<u[i],y=1<<v[i];if(S&(x|y))dp[S|x|y]=min(dp[S|x|y],dp[S]+w[i]);}if(dp[(1<<n)-1]==0x3f3f3f3f)cout<<"-1"<<endl;else cout<<dp[(1<<n)-1]<<endl;return 0;
}

相关新闻

  • ChatGPT Atlas 發佈了,但你真的需要嗎?
  • 遷移 AppleID
  • 2025年评价高的服装无纺布手提袋厂家选购指南与推荐

最新新闻

  • Smoke评测:Qwen3 Max约束+23分逆袭,GPT-o3材料约束暴跌15.2分
  • 珠海修车保养门店怎么选?金鼎区域汽修门店对比与养车避坑干货 - 国麟测评
  • 给通用策略添加黑名单个股池,永久剔除ST,退市风险警示股票。
  • 重磅官宣!2026年亨得利官方售后服务门店地址全面更新|官方服务热线全新上线 - 亨得利中国服务中心
  • 如何三步搭建个人AI数字人工作室:开源Duix-Avatar终极指南
  • 从Demo狂欢到生产落地,AI Agent系统化测评完整实践指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号