由题意,我们其实会发现

对于每一种果汁,其对应的状态只有可能有7种

VA​
VB​
VC​
VA+VB​
VA+VC​
VB+VC​
VA+VB+VC

   这道题就大大简化了

我们把所有果汁都读进来

每种状态取价格最小的(这才有可能最优)

(在这里我状压了一下,用二进制表示其种类)

之后爆搜即可

如果当前已满足(三种维生素都有了,答案就取min)

最后输出即可

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define rii register int i
#define rij register int j
using namespace std;
int bj[],zt[],n;
long long ans=;
void dfs(int wz,long long an,int ztz)
{
if(ztz==)
{
ans=min(ans,an);
return;
}
for(rii=wz+;i<=;i++)
{
if(zt[i]!=)
{
dfs(i,an+zt[i],ztz|i);
}
}
}
int main()
{
scanf("%d\n",&n);
for(rii=;i<=;i++)
{
zt[i]=;
}
for(rii=;i<=n;i++)
{
bj[]=;
bj[]=;
bj[]=;
int ltt;
int ztz=;
scanf("%d ",&ltt);
char l=getchar();
while(l!=)
{
if(l=='A'&&bj[]==)
{
ztz|=;
bj[]=;
}
if(l=='B'&&bj[]==)
{
ztz|=;
bj[]=;
}
if(l=='C'&&bj[]==)
{
ztz|=;
bj[]=;
}
l=getchar();
}
zt[ztz]=min(zt[ztz],ltt);
}
dfs(,,);
if(ans>=)
{
cout<<"-1";
}
else
{
cout<<ans;
}
}

CF1042B 【Vitamins】(去重,状压搜索)的更多相关文章

  1. HDU 5025 (BFS+记忆化状压搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5025 题目大意: 迷宫中孙悟空救唐僧,可以走回头路.必须收集完钥匙,且必须按顺序收集.迷宫中还有蛇, ...

  2. 状压搜索 洛谷T47092 作业

    TYM 有 nn 本作业,编号为 1,\dots,n1,…,n. 由于 \mathrm{TYM}TYM 很喜欢偷懒,而且不喜欢消耗脑细胞,所以他选择跳着完成这 nn 本作业.此外,如果将做作业的顺序转 ...

  3. HDU 1429 (BFS+记忆化状压搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1429 题目大意:最短时间内出迷宫,可以走回头路,迷宫内有不同的门,对应不同的钥匙. 解题思路: 要是 ...

  4. 洛谷 P3959 NOIP2017 宝藏 —— 状压搜索

    题目:https://www.luogu.org/problemnew/show/P3959 搜索: 不是记忆化,而是剪枝: 邻接矩阵存边即可,因为显然没有那么多边. 代码如下: #include&l ...

  5. poj1753 bfs+奇偶性减枝//状压搜索

    http://poj.org/problem?id=1753 题意:有个4*4的棋盘,上面摆着黑棋和白旗,b代表黑棋,w代表白棋,现在有一种操作,如果你想要改变某一个棋子的颜色,那么它周围(前后左右) ...

  6. 模拟赛20181016 Uva 1040 状压+搜索 2005 ACM world final problem c

    题目的隐含条件将这道题指向了最小生成树: 利用类似prim的方法,枚举所有子图并判断是否包含询问点,如果包含那么可以更新答案: 边统计边更新,且由于更新一定是向更多的点状态下更新,所以一定可以统计到答 ...

  7. 洛谷P4337 [ZJOI2018]线图(状压+搜索+乱搞)

    题面 传送门 题解 妈呀调了我整整一天-- 题解太长了不写了可以去看\(shadowice\)巨巨的 //minamoto #include<bits/stdc++.h> #define ...

  8. BZOJ 1195: [HNOI2006]最短母串 AC自动机+状压+搜索

    思路比较直接. 由于 $n$ 很小,直接定义 $f[i][j]$ 表示当前在自动机中的节点 $i,$ 被覆盖串的集合为 $j$ 的方案数. #include <bits/stdc++.h> ...

  9. hdu 2209 bfs+状压

    http://acm.hdu.edu.cn/showproblem.php?pid=2209 不知为啥有种直觉.会出状压+搜索的题,刷几道先 简单的BFS.状压表示牌的状态, //#pragma co ...

随机推荐

  1. 在 Azure Web 应用中创建 Java 应用程序

    本分步指南将通过 Azure Web 应用帮助您启动并运行示例 Java 应用程序.除 Java 外,Azure Web 应用还支持其他语言,如 PHP..NET.Node.JS.Python.Rub ...

  2. 1.zookeeper的安装

    1.解压zk压缩包 tar -zxvf (zk压缩包路径名) -C (解压目标目录路径) 2.在zk解压目录下新建data文件夹 mkdir data 3.在data文件夹下新建myid vi myi ...

  3. 详解JavaScript UTC时间转换方法

    这篇文章主要介绍了JavaScript UTC时间转换方法,介绍了本地时间到UTC时间的转换.UTC日期到本地日期的转换,感兴趣的小伙伴们可以参考一下 一.前言 1.UTC: Universal Ti ...

  4. socket programming

  5. sql注入一点小心得

    好久没写技术博客,最近研究产品关于用户体验方面较多,加上项目突然比较多,设计原型.跟进开发.设计师等工作着实没时间写博客. 接下来技术上主要php深入学习和mysql优化.这两天看了关于sql注入方面 ...

  6. Jcrontab定时任务

           两篇博客:     http://blog.csdn.net/jijijiujiu123/article/details/9086847    网站同事写的(chenrui)       ...

  7. 一.配置简单的嵌入式tomcat和jetty

    我们写了一个web应用,打成war包后,就需要找一个server来部署.对于我们的实际应用,我们基本没必要自己再写一个嵌入式的server.接下来两篇文章只是以钻研的心态来学习一下嵌入式tomcat和 ...

  8. 记录一次 sql在数据库可以查到 mybatis代码查不到的问题

    原始代码: 查不到 SELECT b.ID, b.PRICE_ITEM_CODE, b.PRICE_NAME, b.DES_SITE_CODE, b.SRC_SITE_CODE, b.CALC_TYP ...

  9. Linux--VSFTP服务搭建

    Vsftp服务 服务功能:文件传输 1.环境部署 ip=192.168.1.50 [root@localhost /]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-11. ...

  10. MovieReview—The Foreigner (英伦对决)

    The Foreigner's theme is revenge.The whole story is carried out in two dimensions:political struggle ...