你发现 pizza 种类数不会很多,状压一下就可以了

code:

#include <bits/stdc++.h>
#define M 11
#define N 100005
#define LL long long
using namespace std;
int n,m,cnt;
int v[1<<M],tmp[M],id[1<<M],a1[1<<M],a2[1<<M];
LL val[1<<M];
LL mer[1<<M];
int tot[1<<M];
struct node
{
LL x;
int id;
node(LL x=0,int id=0):x(x),id(id){}
};
vector<node>gg[1<<M];
bool cmp(node a,node b)
{
return a.x<b.x;
}
int main()
{
int i,j;
scanf("%d%d",&n,&m);
for(i=0;i<=10;++i) tmp[i]=1<<i;
for(i=1;i<=n;++i)
{
int t,x,re=0;
scanf("%d",&t);
for(j=1;j<=t;++j) scanf("%d",&x),re|=tmp[x];
++v[re];
}
for(i=1;i<=m;++i)
{
LL x;
scanf("%lld",&x);
int t,o,re=0;
scanf("%d",&t);
for(j=1;j<=t;++j) scanf("%d",&o),re|=tmp[o];
if(!val[re]||val[re]>x) val[re]=x, id[re]=i;
gg[re].push_back(node(x,i));
}
for(i=1;i<tmp[10];++i) sort(gg[i].begin(),gg[i].end(),cmp);
for(i=1;i<tmp[10];++i)
{
if(!val[i]) continue;
if(gg[i].size()>=2)
{
if(!mer[i]||mer[i]>gg[i][0].x+gg[i][1].x)
mer[i]=gg[i][0].x+gg[i][1].x,a1[i]=gg[i][0].id, a2[i]=gg[i][1].id;
}
for(j=i+1;j<=tmp[10];++j)
{
if(!val[j]) continue;
if(!mer[i|j]||(mer[i|j]>val[i]+val[j]))
{
mer[i|j]=val[i]+val[j];
a1[i|j]=id[i];
a2[i|j]=id[j];
}
}
}
int mx=0;
for(i=1;i<=tmp[10];++i)
{
if(!mer[i]) continue;
tot[i]=0; // 枚举结合完的
for(j=1;j<=tmp[10];++j) { if((i&j)==j) tot[i]+=v[j]; }
if(!mx||(tot[i]>tot[mx])||(tot[i]==tot[mx]&&mer[i]<mer[mx])) mx=i;
}
// printf("%lld %d\n",mer[mx],tot[mx]);
printf("%d %d\n",a1[mx],a2[mx]);
return 0;
}

  

CF1185F Two Pizzas 状压的更多相关文章

  1. CF1185F Two Pizzas

    CF1185F Two Pizzas 洛谷评测传送门 题目描述 A company of nn friends wants to order exactly two pizzas. It is kno ...

  2. TZOJ 2289 Help Bob(状压DP)

    描述 Bob loves Pizza but is always out of money. One day he reads in the newspapers that his favorite ...

  3. NOJ 1116 哈罗哈的大披萨 【淡蓝】 [状压dp+各种优化]

    我只能说,珍爱生命,远离卡常数的题...感谢陈老师和蔡神,没有他们,,,我调一个星期都弄不出来,,,, 哈罗哈的大披萨 [淡蓝] 时间限制(普通/Java) : 1000 MS/ 3000 MS   ...

  4. POJ3311 Hie with the Pie 【状压dp/TSP问题】

    题目链接:http://poj.org/problem?id=3311 Hie with the Pie Time Limit: 2000MS   Memory Limit: 65536K Total ...

  5. <状压DP>solution-POJ3311_Hie with the Pie

    Hie with the Pie Description The Pizazz Pizzeria prides itself in delivering pizzas to its customers ...

  6. BZOJ 1087: [SCOI2005]互不侵犯King [状压DP]

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3336  Solved: 1936[Submit][ ...

  7. 【BZOJ-4197】寿司晚宴 状压DP

    4197: [Noi2015]寿司晚宴 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 694  Solved: 440[Submit][Status] ...

  8. nefu1109 游戏争霸赛(状压dp)

    题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1109 //我们校赛的一个题,状压dp,还在的人用1表示,被淘汰 ...

  9. poj3311 TSP经典状压dp(Traveling Saleman Problem)

    题目链接:http://poj.org/problem?id=3311 题意:一个人到一些地方送披萨,要求找到一条路径能够遍历每一个城市后返回出发点,并且路径距离最短.最后输出最短距离即可.注意:每一 ...

随机推荐

  1. AS3.0 m3u8文件视频播放器

    AS3.0 m3u8文件视频播放器(暂无源码): 点击欣赏! http://lxmc.aomaya.com/fengzi/m3u8/m3u8Player.swf

  2. spider存储引擎

    1.spider 安装 1.1.MariaDB 安装 1.1.1 下载MariaDB wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariad ...

  3. Visual Studio 2019 使用.Net Core 3.0 一

    一.前言 早在很久之前微软便公布 .NET Core 3.0 将支持开发Winform应用程序等等新特性,现如今 .NET Core 3.0 预览版已经出来第八个预览版了,从 .NET Core 2. ...

  4. 4: ES内执行Groovy脚本,做文档部分更新、执行判断改变操作类型

    ES有内置的Groovy脚本执行内核,可以在命令的Json内嵌入Groovy脚本语句   前提数据:           

  5. selenium的显示等待和隐式等待的区别

    什么是显示等待和隐式等待?显示等待就是有条件的等待隐式等待就是无条件的等待 隐式等待 当使用了隐式等待执行测试的时候,如果 WebDriver没有在 DOM中找到元素,将继续等待,超出设定时间后则抛出 ...

  6. 【开发笔记】- MD5加密

    主要用于对用户密码的加密,保护用户账户安全: /** * @author shenruihai * */ import java.security.MessageDigest; import org. ...

  7. TweenMax—ScrambleText插件 实现类似电脑破译密码的特效

    首先贴一下TweenMax的中文网:https://www.tweenmax.com.cn/ 首先先展示一下最后的效果,需要的就继续看下去: 那团乱码是会一直变的 那么如何实现上图的效果呢??? 其实 ...

  8. javascript 常见的面试题---数组 && 算法

    网上汇总而来的题目. 第一题: 用 JavaScript 写一个函数,输入 int 型(正整数),返回整数逆序后的字符串.如:输入整型 1234,返回字符串“4321”. 要求必须使用递归函数调用,不 ...

  9. 笔谈runloop(一)

    关于runloop熟悉而又陌生,熟悉的是在iOS开发的过程中线程的执行就跟runloop扯上关系了,陌生的是runloop到底是个什么东西.去公司面试的时候,很多公司的面试人员会问这个问题.runlo ...

  10. Java经典逻辑编程50题 (转)

    注: 转自https://blog.csdn.net/Alias_fa/article/details/52985112  (摘了题目部分和部分分析,想看原作代码的见原作链接) [程序1] 題目:古典 ...