CF1042B 【Vitamins】(去重,状压搜索)

2023-05-16

由题意,我们其实会发现

对于每一种果汁,其对应的状态只有可能有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[1005],zt[150],n;
long long ans=2147483647;
void dfs(int wz,long long an,int ztz)
{
    if(ztz==7)
    {
        ans=min(ans,an);
        return;
    }
    for(rii=wz+1;i<=7;i++)
    {
        if(zt[i]!=2147483647)
        {
            dfs(i,an+zt[i],ztz|i);
        }
    }
}
int main()
{
    scanf("%d\n",&n);
    for(rii=1;i<=149;i++)
    {
        zt[i]=2147483647;
    }
    for(rii=1;i<=n;i++)
    {
        bj[1]=0;
        bj[2]=0;
        bj[3]=0;
        int ltt;
        int ztz=0;
        scanf("%d ",&ltt);
        char l=getchar();
        while(l!=10)
        {
            if(l=='A'&&bj[1]==0)
            {
                ztz|=1;
                bj[1]=1;
            }
            if(l=='B'&&bj[2]==0)
            {
                ztz|=2;
                bj[2]=1;
            }
            if(l=='C'&&bj[3]==0)
            {
                ztz|=4;
                bj[3]=1;
            }
            l=getchar();
        }
        zt[ztz]=min(zt[ztz],ltt);
    }
    dfs(0,0,0);
    if(ans>=2147483647)
    {
        cout<<"-1";
    }
    else
    {
        cout<<ans;
    }
}  

 

转载于:https://www.cnblogs.com/ztz11/p/9669955.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • iTOP-4418开发板和6818开发板-第五路串口介绍

    iTOP 4418开发板和6818开发板 的除去默认 4 个串口的配置和用法 4418 的开发板最多支持 5 路串口 xff0c 如下图所示 xff0c 4418 的 datasheet 6818 的开发板最多支持 6 路串口 xff0c
  • 如何让sublime编译c语言,让sublime支持c/c++语言的编译

    sublime只是一个编辑器 xff0c 让sublime支持c或者c 43 43 则是通过设定sublime快捷键调用相关的命令 xff0c 达到编辑和执行c代码的目的 首先需要下载一个c语言的编译器 xff0c 对于 Windows 和
  • mysql repos_mysql yum源安装

    部署服务器环境的时候经常要安装mysql 以下是常见的安装方式 源码安装 rpm包安装 yum源安装 这篇主要介绍yum源安装 yum源下载 进入https dev mysql com downloads 页面 xff0c 可以看到有很多的
  • you-get帮助使用手册

    you get使用手册 可选参数 V version 查看版本并退出 h help 查看帮助信息 不影响使用的选项 i info 查看页面视频信息 u url 查看页面视频信息包括解析的url地址 json 以json格式查看页面视频信息
  • openSUSE leap 42.3 实现有线 无线同时用

    因为工作的原因 xff0c 经常会用有线网卡连接服务器进行配置 xff0c 无线网卡上外网 一 查看当前网关信息 pipci 64 openSUSE gt ip route show 可以看到前两行default开头的就是默认网关 192
  • PHP连接mongodb的现代用法---使用Monogodb\Driver\Manager

    目的 xff1a 在php程序端查询文档相关集合存储情况 lt php Created by PhpStorm User Administrator Date 2018 11 29 Time 2 23 require 34 mongocon
  • CTreeListCtrl

    CTreeListCtrl 转载于 https www cnblogs com long80226 archive 2009 10 13 1582770 html
  • MongoDB——副本集成员配置

    选举仲裁者 仲裁者的唯一作用就是参与选举 仲裁者并不保存数据 xff0c 也不会为客户端提供服务 xff1a 它只是为了帮助具有两个成员的副本集能够满足 大多数 这个条件 由于仲裁者并不需要履行传统mongod服务器的责任 xff0c 所以
  • qemu 虚拟机和宿主机之间传输文件

    实现简单的虚拟机和宿主机之间的文件传输 使用dd创建一个文件 xff0c 作为虚拟机和宿主机之间传输桥梁 dd if 61 dev zero of 61 opt share img bs 61 1M count 61 200格式化share
  • 解决远程桌面连接过去后是蓝色屏幕问题

    其实此时的远程服务器并非不能正常工作了 并不需要重启 只是桌面不显示了 服务还在正常运行 解决方法 1 使用ctrl 43 shift 43 Esc键 调出远程桌面的任务管理器 2 点击任务管理器工具栏的 文件 新建任务 运行 在运行窗口选
  • ssl 服务器证书,客户端信任证书

    Secure Socket Layer SSL technology allows web browsers and web servers to communicate over a secure connection In this s
  • Laravel-admin 七牛云上传文件到七牛云出现卡顿失败情况

    由于所做项目需要管理后台众多 xff0c 所以选择了Laravel admin后台框架进行开发 节省了权限控制以及页面处理等问题的时间 Laravel admin文档地址 http laravel admin org docs zh 由于项
  • linux分区btrfs,系统基础之Btrfs文件系统详解

    btrfs文件系统 技术预览版 centos7 描述 Btrfs B tree Butter FS Better fs GPL授权 Orale 2007 写实复制特性 Cow cp reflink 只能在btrfs文件系统中使用 想取代ex
  • UITableView 总结

    UITableView 1 重用代理 64 interface ViewController UIViewController lt UITableViewDelegate UITableViewDataSource gt 2 定义 tab
  • 【转】ASP.Net2.0 AJAX Extensions 1.0的安装

    文章出处 xff1a DIY部落 http www diybl com course 4 webprogram asp net asp netshl 2008828 138230 html 以前一直没有去应用ajax xff0c 这2天用了
  • pip国内源

    pip 国内源 xff1a 清华 xff1a https pypi tuna tsinghua edu cn simple 阿里云 xff1a http mirrors aliyun com pypi simple 中国科技大学 https
  • 视频教程-C语言入门篇-C/C++

    C语言入门篇 23年C 43 43 语言编程经验 xff0c 经历过多个行业的开发项目包括网络安全 xff0c 网络游戏 xff0c 通信行业等等 xff0c 多年的摸爬滚打使自身具备了深厚的开发实力和实战经验 王健伟 98 00 立即订阅
  • ubuntu - 如何以root身份使用图形界面管理文件?

    nautilus 是gnome的文件管理器 xff0c 但是如果不是root账号下 xff0c 权限受限 xff0c 我们可以通过以下方式以root权限使用 xff01 一 xff0c 快捷键 ctrl 43 alt 43 t 调出shel
  • debian添加删除用户

    debian添加删除用户 增加普通用户 命令 xff1a adduser abc passwd abc exit 用abc登录 etc passwd中保存了用户信息 LINUX创建用户的命令 useradd g test d home te
  • MongoDB——副本集的同步、选举和回滚

    1 同步 复制用于在多台服务器之间备份数据 MongoDB的复制功能是使用操作日志oplog实现的 xff0c 操作日志包含了主节点的每一次写操作 oplog是主节点的locl数据库中的一个固定集合 备份节点通过查询这个集合就可以知道需要进

随机推荐

  • ftp (文件传输协议)

    ftp xff08 文件传输协议 xff09 锁定 本词条由 科普中国 百科科学词条编写与应用工作项目 审核 FTP 是File Transfer Protocol xff08 文件传输协议 xff09 的英文简称 xff0c 而中文简称为
  • SQL Server 中的 JSON 数据

    下面是 JSON 文本的示例 34 name 34 34 John 34 34 skills 34 34 SQL 34 34 C 34 34 Azure 34 34 name 34 34 Jane 34 34 surname 34 34 D
  • 去除地址栏带#的问题

    vue cil搭建的项目 第一步 xff1a 找到目录下router js文件 第二步 xff1a 在new Router xff08 routes xff1a xff09 中添加mode属性 xff0c 默认mode是hash expor
  • 如何给自己的Python项目制作安装包

    Packaging Python Projects 本教程将指导您如何打包一个简单的Python项目 它将向您展示如何添加必要的文件和结构来创建包 xff0c 如何构建包以及如何将其上载到Python包索引 A simple project
  • linux安装解压工具gzip,笔记6 压缩工具(gzip,bzip2,xz,zip,tar)。

    压缩打包 常见的压缩文件 windows rar zip 7z Linux zip gz bz2 xz tar gz tar bz2 tar xz gzip压缩工具 不能压缩目录 gzip压缩后边直接跟文件名就可以 xff0c gunzip
  • 洛谷 P3367 【模板】并查集

    P3367 模板 并查集 题目描述 如题 xff0c 现在有一个并查集 xff0c 你需要完成合并和查询操作 输入输出格式 输入格式 xff1a 第一行包含两个整数N M xff0c 表示共有N个元素和M个操作 接下来M行 xff0c 每行
  • js计算器(正则)

    lt doctype html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt 我的计算器 lt title gt lt style gt mar
  • MySQL 分组后取每组前N条数据

    与oracle的 rownumber over partition by xxx order by xxx 语句类似 xff0c 即 xff1a 对表分组后排序 创建测试emp表 DROP TABLE IF EXISTS emp CREAT
  • archlinux 安装搜狗输入法

    安装可能需要 archlinuxcn 的源 xff0c 我这里已经配置好了 一 安装 fcitx fcitx configtool fcitx im pacman S fcitx fcitx configtool fcitx im 二 在
  • MongoDB——JavaAPI详解

    环境配置 引入MongoDB驱动 xff1a span class token tag span class token tag span class token punctuation lt span dependency span sp
  • 练习题||并发编程

    线程 进程 队列 IO多路模型 操作系统工作原理介绍 线程 进程演化史 特点 区别 互斥锁 信号 事件 join GIL 进程间通信 管道 队列 生产者消息者模型 异步模型 IO多路复用模型 select poll epoll 高性能IO模
  • luogu P2078 朋友

    题目背景 小明在A公司工作 xff0c 小红在B公司工作 题目描述 这两个公司的员工有一个特点 xff1a 一个公司的员工都是同性 A公司有N名员工 xff0c 其中有P对朋友关系 B公司有M名员工 xff0c 其中有Q对朋友关系 朋友的朋
  • Debian 9 Stretch国内常用镜像源

    使用说明 一般情况下 xff0c 修改 etc apt sources list文件 xff0c 将Debian的默认源地址改成新的地址即可 xff0c 比如将http deb debian org改成https mirrors xxx c
  • ubuntu下编译ffmpeg并用eclipse调试

    一 下载ffnpeg源码 下载地址 xff1a http ffmpeg org download html 二 解决版本问题 可能之前你编译过ffmpeg xff0c 或者装过相关的库 xff0c 那都要先卸载掉 xff0c 否则用的时候会
  • 定时器初值计算

    1 定时器初值的计算 xff1a xff08 1 xff09 计算出机器周期 每次定时计算器加1所用的时间 xff08 2 xff09 根据你要定时的时间去算出初值 xff1a 假设你要定时Xms xff08 X lt 65 535ms x
  • ceph部署出现错误及解决

    ceph deploy new error hostname node1 is not resolvable 解决办法 xff0c 修改 etc hosts 127 0 0 1 localhost 127 0 1 1 ubuntu1 192
  • WordNet词网研究6——之JWI(Java Wordnet Interface)WordNet Java接口

    JWI the MIT Java Wordnet Interface is a Java library for interfacing with Wordnet JWI supports access to Wordnet version
  • SPI协议及其工作原理详解

    一 概述 SPI Serial Perripheral Interface 串行外围设备接口 是 Motorola 公司推出的一种同步串行接口技术 SPI 总线在物理上是通过接在外围设备微控制器 PICmicro 上面的微处理控制单元 MC
  • 通过修改qt设置,解决LINK : fatal error LNK1104: 无法打开文件“kernel32.lib”

    编译为知笔记源码的时候遇到的第一个错误 LINK fatal error LNK1104 无法打开文件 kernel32 lib 经研究发现是qt使用的本地编译连接工具cl exe找不到 windows sdk的lib文件导致 找到lib文
  • CF1042B 【Vitamins】(去重,状压搜索)

    由题意 我们其实会发现 对于每一种果汁 xff0c 其对应的状态只有可能有7种 VA VB VC VA 43 VB VA 43 VC VB 43 VC VA 43 VB 43 VC 这道题就大大简化了