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

*题解:P10242 [THUSC 2021] Emiya 家明天的饭

题目链接

解析

由于人数 \(n\) 很小,考虑对人数进行状压。拆贡献,设 \(f_{i,S}\) 表示满足集合 \(S\) 内所有朋友的要求时,第 \(i\) 位朋友对结果做的贡献。那么所有朋友做的贡献加起来的结果 \(\sum_{i\in S} f_{i,S}\) 即为朋友集合为 \(S\) 时的结果,所有集合结果取最大值即为答案。

考虑怎么求 \(f\)。设 \(T_j\) 表示喜欢第 \(j\) 道菜的朋友集合,那么第 \(j\) 道菜满足集合 \(S\) 内所有朋友的要求当且仅当 \(S\subseteq T_j\)。于是,对于 \(f_{i,S}\),我们有:

\[f_{i,S} = \sum_{S \subseteq T_j} a_{i,j} \]

相当于对每个 \(i\) 都做一遍 SOSDP。时间复杂度 \(O(n^2 2^n)\)

代码

/*
*/
#include <bits/stdc++.h>
#define eps 0.0000000001
#define ls(x) ((x) << 1)
#define rs(x) (((x) << 1) | 1)
//#define mid ((l + r) >> 1)
using namespace std;
typedef long long ll;
typedef unsigned ui;
typedef pair<int,int> pii;
const int N = (1 << 20) + 5,M = 20 + 5,P = 2000000,mod = 1e9 + 7,mod2 = 1e9 + 7,b1 = 131,b2 = 13331;
ll f[M][N],a[M][N],t[N];
signed main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];if(a[i][j] >= 0){t[j] |= (1 << (i - 1));}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(t[j] & (1 << (i - 1))){f[i][t[j]] += a[i][j];}	}}for(int i=1;i<=n;i++){for(int j=0;j<(1 << n);j++){if(!(j & (1 << (i - 1)))){for(int k=1;k<=n;k++)if(j & (1 << (k - 1))){f[k][j] += f[k][j ^ (1 << (i - 1))];}}}}ll res = 0;for(int i=0;i<(1 << n);i++){ll x = 0;for(int j=1;j<=n;j++){x += f[j][i];}res = max(x,res);}cout<<res;return 0;
}
http://www.gsyq.cn/news/1537281.html

相关文章:

  • HarmonyOS NEXT ArkUI 实战 012|API20 实现汇率转换器,完整源码 + 踩坑指南 + 核心知识点详解
  • 解锁Kobo阅读器隐藏能力:NickelMenu自定义菜单完全指南
  • 佛山市压铸铝合金ADC12材质检测,第三方检测机构|推荐指南 - 公共场所卫生检测
  • QuantStats完整教程:Python量化投资组合分析的终极指南
  • Java毕业设计-基于 SpringBoot 的餐饮行业财务管理系统的设计与实现 面向餐饮门店的财务收支管控系统设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 北京劳力士百达翡丽回收攻略:六家专业名表回收机构评分与选择建议 - 名奢变现站
  • 2026成都回收爱马仕怎么选?完整版防坑白皮书盘点门店 - 禹竞
  • 猫抓浏览器插件:如何简单快速下载网页视频和音频的完整指南
  • 分布式图书数据集成架构:Open Library高性能API网关与微服务架构设计
  • 2026榆次搬家全攻略:价格明细、服务商筛选、长途与大件搬运注意事项汇总 - 资讯纵览
  • CANN OAM-Tools运维工具包手把手实战入门:基于昇腾NPU的oamget/oamset/oamsetper设备诊断命令从安装部署到生产环境实战的全流程操作指南
  • Maximum Subarray Sum After at Most K Swaps
  • 2026北京名包回收榜单,高报价靠谱门店汇总 - 名奢变现站
  • 百万外贸订单险失效!实地尽调规避科威特骗货风险
  • 如何快速掌握Python量化投资分析:QuantStats完整指南
  • 5家靠谱铸铝门厂家挑选指南,高端别墅入户门工厂实测对比 - 门业测评
  • 【Linux】系统级文件I/O与文件描述符深度剖析
  • 金融行业数字化——解读金融数据库存算分离架构选型白皮书【附全文阅读】
  • EVM3588-B开发板+NPU+Qwen2.5-3B-Instruct(一)
  • 2026上海名包回收门店汇总:5家甄选好评门店,各有千秋 - 奢侈品回收测评
  • 合肥南亚理工学校招生电话,热门专业,报名要求,收费标准,学校位置详情 - hflgzz
  • 佛山冰箱维修漏水怎么办?2026年专业检修方案与平台对比分析 - 简单到家
  • 武汉黄金回收避坑指南:四种套路一次拆穿,帮你少走很多弯路 - 奢侈品回收测评
  • go | 环境安装和快速入门
  • Nano Banana Pro:专业级AI图像生成的四大底层突破
  • 2026年宁波减肥训练营2026宁波封闭式减肥训练营深度实测:吃住全包 + 签约减重,东吴这家营地凭实力打破行业乱象 - 速递信息
  • 海口家电维修平台服务对比:2026年行业数据驱动的消费决策参考 - 简单到家
  • 无锡哪家宠舍靠谱 7家实地探访给出答案 - 园友3800037
  • OpenClaw本地AI工作流部署全解析:PowerShell、Ollama镜像与Qwen3.5:9b实战
  • 【问答】青岛防水维修一般质保多久?不同部位质保标准参考 - 青岛防水品牌推荐