美团笔试题(2018.10.09)

2023-05-16

逻辑题20个要快点做,然后30个选择考的东西比较多。
编程两个。

  1. 优惠券
    有一个满x减的优惠券,一共n个商品,每个只能选择一次,求能使用优惠券的最小价格。就是求n个数选任意几个加起来最接近x且大于等于x的数。
    1<x<10000
    1<n<100,每个商品价格小于等于100。

思路:暴力枚举是2^100,但是由于数据范围的原因,可以处理出x+100以内所有可达(能凑出)的数,然后取最接近的。处理算法就是用一个数组arr[x+105]表示状态,arr[i]=1表示i可以被凑出来。然后枚举所有的商品的价格,然后对arr数组中状态为1的点进行下一次变化,然后枚举所有的结束之后就是所有可能凑出来的结果,取最接近的。复杂度O(xn)

#include<iostream>
#include<cstdio>
#include<cstring>
typedef long long ll;
using namespace std;

const int maxn = 1e4+1005;

int n, x, in[maxn], arr[maxn], flag[maxn];
int main()
{
    //freopen("D:\\input.txt", "r", stdin);
    cin>>n>>x;
    for(int i=0; i<n; i++)
        scanf("%d", in+i);
    for(int i=0; i<n; i++){
        if(arr[in[i]] == 0)
            flag[in[i]] = 1;
        arr[in[i]] = 1;
        for(int j=0; j<maxn-in[i]; j++)
            if(arr[j]==1 && !flag[j]){
                if(arr[j+in[i]] == 0)
                    flag[j+in[i]] = 1;
                arr[j+in[i]] = 1;
            }
        memset(flag, 0, sizeof(flag));
    }

    for(int i=x; i<maxn; i++){
        if(arr[i] == 1){
            cout<<i<<endl;
            break;
        }
    }
    return 0;
}

  1. 判定树
    给定数的所有的节点度序列,然后判定是不是一个树。
    题解:根据树的性质,所有节点度之和 = 2*(节点数-1)
#include<iostream>
#include<cstdio>
#include<cstring>
typedef long long ll;
using namespace std;

const int maxn = 1e5+5;

ll T, n, sum, t;
int main()
{
    //freopen("D:\\input.txt", "r", stdin);
    cin>>T;
    while(T--){
        cin>>n;
        sum = 0;
        for(int i=0; i<n; i++){
            scanf("%lld", &t);
            sum += t;
        }
        if(sum == 2*(n-1))
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;
    }
    return 0;
}

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

美团笔试题(2018.10.09) 的相关文章

随机推荐

  • CMake 学习

    目录 CMake学习网站 CMake安装 CMake编译程序 单个源文件的程序编译 在当前目录执行 cmake xff0c 执行结果 执行完成后的文件列表 使用GUN make来编译程序 得到可执行文件 hello 同目录下多源文件程序编译
  • dumpsys meminfo内存详解

    dumpsys meminfo使用方法帮助 adb shell dumpsys meminfo h meminfo dump options a d c s oom process a include all available infor
  • android恢复出厂设置,关机,重启以及系统升级和充电器连接广播

    恢复出厂设置 lt uses permission android name 61 34 android permission MASTER CLEAR 34 gt if Build VERSION SDK INT lt Build VER
  • Cmake系列(三) 在 CMakeLists.txt 引入第三方so库

    将 so 库和头文件拷贝到对应的目录 app src main jniLibs arm libxxx so 修改 CMakeLists txt 文件 第三方so库 这里和之前在第二步中介绍的创建一个新的原生库类似 xff0c 区别在于最后一
  • .net core MemoryCache(本机缓存)过期策略

    过期策略 1 1 永不过期 xff1a 永远不会过期 1 2 设置绝对过期时间点 xff1a 到期后就失效 1 3 设置过期滑动窗口 xff1a 只要在窗口期内访问 xff0c 它的过期时间就一直向后顺延一个窗口长度 1 4 滑动窗口 43
  • Windows asar工具安装使用与破解StarUml

    目录 安装nodejs 使用npm安装asar asar的压缩与解压 破解StarUml windows要破解StarUml xff0c 需要用到asar进行解压与打包 asar可以借助npm来安装 xff0c mac可以用homebrew
  • logcat中 读取垃圾回收消息

    目录 Dalvik 日志消息 ART 日志消息 有时 xff0c 发生垃圾回收事件时 xff0c 相应消息会输出到 Logcat 中 Dalvik 日志消息 在 Dalvik xff08 而不是 ART xff09 中 xff0c 每个 G
  • arm64-v8a、armeabi-v7a、armeabi、x86 abiFilters 详解

    abiFilters的作用 在app的gradle的defaultConfig里面加上如下 ndk abiFilters 34 armeabi v7a 34 指定要ndk需要兼容的架构 这样其他依赖包里mips x86 armeabi ar
  • Linux shell

    目录 shell 脚本 shell 概述 shell 分类 shell 语法 shell 脚本的定义与执行 自定义变量 环境变量 预设变量 脚本变量的特殊用法 条件测试语句 gt 文件 条件测试语句 gt 字符串 条件测试语句 gt 数字
  • Linux > mmap

    目录 mmap 概念 使用 函数声明 mmap 概念 mmap 将 一个文件或者其它对象 映射到 进程的地址空间 实现 磁盘地址 和进程 虚拟的虚拟地址 的一一对应关系 通过mmap 系统调用 xff0c 我们可以 实现共享内存或者普通文件
  • C++ > STL之算法

    目录 函数对象 谓词 一元谓词 二元谓词 内建函数对象 适配器 算法概述 常用遍历算法 for each 遍历算法 transform 算法 常用查找算法 find 算法 find if 算法 adjacent find 算法 binary
  • 性能优化 启动黑白屏优化

    启动黑白屏优化 前言 这是Google设计者为了让用户体会到点击图标后立马就有响应 xff0c 而让App创建的过程中先展示一个空白窗口 正是这个设计 xff0c 我们在点击App应用图标之后 xff0c 会看到一段时间的空白屏幕 xff0
  • 解决android studio Could not GET 'https://dl.google.com/dl/android/maven2

    解决android studio Could not GET 39 https dl google com dl android maven2 1 http proxy 选择 No proxy 模式 2 修改gradle配置文件 找到C U
  • Unable to add window — token android.os.BinderProxy is not valid; is your activity running?

    现象是 xff1a 第一次显示Dialog正常显示 xff0c 但按了返回键后 xff0c 再次进入程序显示Dialog时就会报错 原因 xff1a 我把 对Dialog义为了static 变量 导致退出程序后 xff0c 再次进入来显示D
  • Visual Studio 新建一个Win32控制台项目

    1 点击 文件 新建 项目 2 选好Win32控制台项目点击确定 3 点击击下一步 4 勾选好项目程序设置后点击完成 5 点击 本地 Windows 调试器即可调试程序
  • 安装CDC drivers 失败原因,记录关键点

    1 驱动版本不对 xff0c 因为CDC drivers 主要调用的是usbser sys 文件 xff0c 需要查看你的c windows system32 drivers下是否有该文件 2 驱动对了 xff0c 但是安装过程中一直提示找
  • Ubuntu 运行文件时,出现 Permission denied

    在Ubuntu下 xff0c 执行sh文件时提示下面信息 xff1a bash xx sh Permission denied 可以尝试以下方法解决 xff1a chmod 777 xx sh 执行其他类型的文件出错时 xff0c 也可以此
  • update.app格式解压工具-ROM定制开发教程

    Github分享工具地址 xff1a https github com Loren Yi update app 使用教程 xff1a 下载huawei unpack exe 到本地目录 讲华为 UPDATE APP放至同一路径 将 UPDA
  • mysql时间和本地时间相差13个小时

    原文地址 https www xiegaosheng com post view id 61 73 mysql时间和本地时间相差13个小时 作者 谢高升 发布 2017 12 15 浏览 0次 mysql时间和本地时间相差13个小时 修改l
  • 美团笔试题(2018.10.09)

    逻辑题20个要快点做 xff0c 然后30个选择考的东西比较多 编程两个 优惠券 有一个满x减的优惠券 xff0c 一共n个商品 xff0c 每个只能选择一次 xff0c 求能使用优惠券的最小价格 就是求n个数选任意几个加起来最接近x且大于