H - Nine Packs Kattis - ninepacks

2023-11-02

题目链接
题意就是在a数组中找出x个数,b数组中找出y个数,且x个数之和等于y个数之和。
本想着用暴力的写法,但是出来之后不对,因为此题并不是连续的,还可以跳着取数。
下面是WA的代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
const int N=1e6+10;
struct node
{
    int data;
    int count;
};
int a[N],b[N];
vector<node> vec1,vec2;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    int m;
    cin>>m;
    for(int i=1;i<=m;i++) cin>>b[i];
    for(int i=1;i<=n;i++)
    {
        int sum=0;
        int coun=0;
        for(int j=i;j>=1;j--)
        {
            sum+=a[j];
            coun++;
            vec1.push_back({sum,coun});
        }
    }
    for(int i=1;i<=m;i++)
    {
        int sum=0;
        int coun=0;
        for(int j=i;j>=1;j--)
        {
            sum+=b[j];
            coun++;
            vec2.push_back({sum,coun});
        }
    }
    int minnum=0x3f3f3f3f;
    for(int i=0;i<vec1.size();i++)
    {
        for(int j=0;j<vec2.size();j++)
        {
            if(vec1[i].data==vec2[j].data)
            {
                if(minnum>vec1[i].count+vec2[j].count)
                {
                    minnum=vec1[i].count+vec2[j].count;
                }
            }
        }
    }
    if(minnum==0x3f3f3f3f) printf("impossible\n");
    else printf("%d\n",minnum);
    return 0;
}

下面是AC代码:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=1e7;
int dp1[N],dp2[N];

int main()
{
    int n;
    memset(dp1,0x3f,sizeof(dp1));
    cin>>n;
    dp1[0]=0;
    for(int i=1;i<=n;i++)
    {
        int x;
        cin>>x;
        for(int j=1100000;j>=x;j--)
        {
            dp1[j]=min(dp1[j-x]+1,dp1[j]);
        }
    }
    memset(dp2,0x3f,sizeof(dp2));
    int m;
    cin>>m;
    dp2[0]=0;
    for(int i=1;i<=m;i++)
    {
        int x;
        cin>>x;
        for(int j=1100000;j>=x;j--)
        {
            dp2[j]=min(dp2[j-x]+1,dp2[j]);
        }
    }
    int ans=0x3f3f3f3f;
    for(int i=1;i<=1100000;i++)
    {
        ans=min(ans,dp1[i]+dp2[i]);
    }
    if(ans==0x3f3f3f3f) printf("impossible\n");
    else printf("%d\n",ans);
    return 0;
}
Comment in Markdown
Preview:

这里注意取数一定要大于1e6,因为100个1000就是1e6。

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

H - Nine Packs Kattis - ninepacks 的相关文章

  • Python获取 只因 弹幕数据+制作词云分析.........就差唱、跳、rap不会了

    人生苦短 我用python 最近在小破站热门上看见了这个 不得不说还是挺不一样的 对吧 什么你说不是 哎呦 你干嘛 咳咳 话不多说 让我们一起来康康 基本开发环境 Python 3 6 Pycharm 相关模块的使用 requests re
  • HTML浮动窗口效果

    因项目中弹出窗口用的是thickbox 但是这个插件不支持多次层级弹出 但是需求需要实现的功能又是在弹出窗口中再次用一个弹出窗口展示效果 就想到了用浮动窗口效果 直接上代码 点击按钮弹出浮动窗口

随机推荐

  • 代码随想录算法训练营day1~18总结

    时间 空间复杂度 解题过程中运用的函数补充说明 数组 day1 http t csdn cn dBSgY day2 http t csdn cn JTDvH 数组总结 链表 day3 http t csdn cn mJx9V day4 ht
  • PAT乙级刷题之路1055 集体照 (25分)

    1055 集体照 25分 拍集体照时队形很重要 这里对给定的 N 个人 K 排的队形设计排队规则如下 每排人数为 N K 向下取整 多出来的人全部站在最后一排 后排所有人的个子都不比前排任何人矮 每排中最高者站中间 中间位置为 m 2 1
  • 动态修改 MeshCollider

    借鉴 https www cnblogs com imteach p 10348744 html using System Collections Generic using UnityEngine RequireComponent typ
  • 关于超参数调优及迁移学习的一些见解

    前言 最近看了一本书 TensorFlow 实战google深度学习框架 其中里面的在第6章中的6 5 2这个小结中 里面有这样的一个代码 具体我就不贴了 总之就是先通过图片数据输入成一个 npy文件 然后通过这个npy文件来输入到模型中
  • 4.20/21实习总结:k8s

    文章目录 什么是k8s 是个软件系统 容器集群管理工具 提供了应用部署 规划 更新 维护的一种机制 1 k8s组件 2 k8s对象 都可以在yaml文件中作为一种API类型来配置 3 namespace名称空间 通过名称空间在同一个物理集群
  • Android开发技巧(三)—— 创建定时任务

    每种手机都有自己的休眠策略 Android手机在长时间不操作时会自动让CPU进入睡眠状态 这就导致JAVA原生Timer的定时任务无法运行 所以我们需要借助Alarm唤醒CPU 一 Alarm机制 Alarm借助了AlermManager类
  • React 常用生命周期函数

    文章目录 React 生命周期图示 创建 constructor render componentDidMount 更新 render componentDidUpdate prevProps prevState 卸载 componentW
  • P2597 [ZJOI2012]灾难【支配树】

    题目链接 这是一道支配树的模板题了 然后写一下我初见支配树的理解 第一次碰到支配树是在昨天的多校第三场的1002 当时我推了个拓扑排序加上LCA的求差 dp a dp b dp lca a b 来解这个问题 然后为了处理出来每个的dp值 我
  • caret教程10:随机森林示例

    我们今天给大家演示下caret包做随机森林分类的一个小例子 同时也给大家看看做预处理和不做预处理两种情况下的模型表现 加载R包和数据 rm list ls library caret Loading required package ggp
  • Jmeter分布式测试的各种坑

    第一坑 启动压力机的时候 直接 jmeter server 会报如下错误 错误原因 127 0 0 1是本机 一个回路地址 没有指定地址 正确的启动方式 启动命令加一个参数 IP地址写压力机对应的地址 jmeter server D jav
  • python爬虫之逆向破解_Python爬虫:一个反爬 JS 逆向分析的例子

    挺久没发爬虫相关的教程啦 今天给大伙分享一下关于网站反爬对请求参数值的加密分析例子 主要还是看看思路 定位加密点 在某网站中进行登录请求 简单抓下包 点击登录按钮之后 可以在浏览器的控制台中看到相关的请求 接着往下拉 可以看到 POST 请
  • 实时CPU设计

    Patmos with Chisel https github com t crest patmos
  • Wireshark使用详解

    文章目录 wireshark简介 抓包原理 抓包 抓包窗口介绍 封包详细信息 Packet Details Pane 过滤信息介绍 显示过滤 抓包过滤 高级功能 数据流追踪 wireshark简介 wireshark是捕获机器上的某一块网卡
  • smart doc:自动生成接口文档拓展

    smart doc 作为一个接口文档生成工具 可以根据代码的java doc注释 生成接口文档 同时已经对接到Torna接口平台 鉴于大家用的接口平台五花八门 Torna的功能可能不符合大家的需求 研究下是否可以基于smart doc 拓展
  • 百度UE富文本编辑器设置自适应大小和滚动条等

    其实真特么简单 一开始还试着自己设置 弄来弄去都不合适 最后发现你想要的人家其实都有 你只需要设置就好了 后知后觉啊 你想要的效果可能在文件夹下config js里边都有 只需要在界面中实例化页面的那行代码里边设置就好了 代码如下 var
  • ubuntu下redis安装配置

    为什么80 的码农都做不了架构师 gt gt gt ubuntu下redis安装配置 一 redis介绍 redis是一个key value存储系统 与memcached类似 但是解决了断电后数据完全丢失的现象 支持数据类型有string
  • 数学-麦克劳林公式

    麦克劳林公式是泰勒公式 在 记 的一种特殊形式 在不需要余项的精确表达式时 n阶泰勒公式也可写成 由此得近似公式 误差估计式变为 在麦克劳林公式中 误差 R x 是当x 0时比x 高阶的无穷小 若函数f x 在开区间 a b 有直到n 1阶
  • DiffusionDet: Diffusion Model for Object Detection

    DiffusionDet Diffusion Model for Object Detection 论文概述 不同之处 整体流程 论文题目 DiffusionDet Diffusion Model for Object Detection
  • C#连接sql的两种方法

    数据库连接 方法1 using System using System Collections Generic using System Linq using System Text using System Threading Tasks
  • H - Nine Packs Kattis - ninepacks

    题目链接 题意就是在a数组中找出x个数 b数组中找出y个数 且x个数之和等于y个数之和 本想着用暴力的写法 但是出来之后不对 因为此题并不是连续的 还可以跳着取数 下面是WA的代码 include