Move

题意

有k个体积相同的箱子,有个憨憨有固定的装箱策略,每次都只装可以装的重量中最大的东西,求箱子的最小提及

分析

看起来可以二分,但由于他的装箱策略有点蠢,所以只在宏观上满足单调性,在特别小的区间没有单调性,比赛的时候也想到了没有单调性,但是没想清楚在宏观上满足单调性,所以写了二分没过,就心态崩了,赛后发现只要在二分出来的值左右找一个满足的最小的就能过。。。。还是太年轻了

hack:15 5 • 39 39 39 39 39 60 60 60 60 60 100 100 100 100 100,199 为一个合法的答案,但 200 不是,201 也不是。

#include<bits/stdc++.h>
#define pb push_back
#define F first
#define S second
#define pii pair<int,int>
#define mkp make_pair
using namespace std;
const int maxn=2005;
const int inf=1e7;
int a[maxn];
int n,k;
multiset<int>s; int check(int mid){
s.clear();
for(int i=1;i<=n;i++)s.insert(a[i]);
for(int i=0;i<k;i++){
/*
auto it=(--s.end());
int vl=mid;
if((*it)>mid){
return 0;
}
vl-=(*it);
s.erase(it);
*/ int vl=mid;
if(s.empty())return 1;
while(vl>0){
//cout<<vl<<endl;
auto z=s.upper_bound(vl);
if(z==s.begin()){
/*if(*z<=vl){
vl-=*z;
s.erase(z);
cnt++;
// cout<<cnt<<endl;
if(s.empty())return 1;
break;
}
if{
break;
}*/
break;
}
--z;
//if(*z>vl)break;
vl-=(*z);
s.erase(z);
if(s.empty())return 1;
}
}
if(s.empty())return 1;
else return 0;
}
int main(){
int t;
scanf("%d",&t);
int kase=1;
while(t--){
scanf("%d%d",&n,&k);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+1+n);
int l=1,r=inf,ans=inf;
while(l<=r){
int mid=(l+r)>>1;
if(check(mid)){
ans=min(ans,mid);
r=mid-1;
}
else l=mid+1;
}
for(int i=max(1,ans-100);i<=ans+100;i++){
if(check(i)){
ans=i;
break;
}
}
printf("Case #%d: %d\n",kase++,ans);
}
return 0;
}

2019牛客竞赛第六场D Move 宏观单调,部分不单调的更多相关文章

  1. 2019牛客多校第一场 I Points Division(动态规划+线段树)

    2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...

  2. 2019牛客多校第二场 A Eddy Walker(概率推公式)

    2019牛客多校第二场 A Eddy Walker(概率推公式) 传送门:https://ac.nowcoder.com/acm/contest/882/A 题意: 给你一个长度为n的环,标号从0~n ...

  3. 2019牛客多校第一场E ABBA(DP)题解

    链接:https://ac.nowcoder.com/acm/contest/881/E 来源:牛客网 ABBA 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 524288K,其他语 ...

  4. [2019牛客多校第二场][G. Polygons]

    题目链接:https://ac.nowcoder.com/acm/contest/882/G 题目大意:有\(n\)条直线将平面分成若干个区域,要求处理\(m\)次询问:求第\(q\)大的区域面积.保 ...

  5. 2019 牛客多校第一场 D Parity of Tuples

    题目链接:https://ac.nowcoder.com/acm/contest/881/D 看此博客之前请先参阅吕凯飞的论文<集合幂级数的性质与应用及其快速算法>,论文中很多符号会被本文 ...

  6. 2019牛客多校第二场D-Kth Minimum Clique

    Kth Minimum Clique 题目传送门 解题思路 我们可以从没有点开始,把点一个一个放进去,先把放入一个点的情况都存进按照权值排序的优先队列,每次在新出队的集合里增加一个新的点,为了避免重复 ...

  7. 2019牛客多校第二场H-Second Large Rectangle

    Second Large Rectangle 题目传送门 解题思路 先求出每个点上的高,再利用单调栈分别求出每个点左右两边第一个高小于自己的位置,从而而得出最后一个大于等于自己的位置,进而求出自己的位 ...

  8. 2019牛客多校第二场F-Partition problem(搜索+剪枝)

    Partition problem 题目传送门 解题思路 假设当前两队的对抗值为s,如果把红队中的一个人a分配到白队,s+= a对红队中所有人的对抗值,s-= a对白队中所有人的对抗值.所以我们可以先 ...

  9. 2019牛客多校第一场 E-ABBA(dp)

    ABBA 题目传送门 解题思路 用dp[i][j]来表示前i+j个字符中,有i个A和j个B的合法情况个数.我们可以让前n个A作为AB的A,因为如果我们用后面的A作为AB的A,我们一定也可以让前面的A对 ...

随机推荐

  1. [CF1311A] Add Odd or Subtract Even

    Solution a<b, delta=odd, ans=1 a<b, delta=even, ans=2 a=b ans=0 a>b, delta=odd, ans=2 a> ...

  2. Linux中“没有可用的软件包XX,但是它被其他软件包引用”的解决方法

    踩坑经历 今天刚在虚拟机上安装好了ubuntu系统,在执行sudo apt install net-tools 命令时报错"没有可用的软件包net-tools,但是它被其他软件包引用&quo ...

  3. [TJOI2015] 概率论 - Catalan数

    一棵随机生成的 \(n\) 个结点的有根二叉树(所有互相不同构的形态等概率出现)的叶子节点数的期望.\(n \leq 10^9\) Solution \(n\) 个点的二叉树个数即 Catalan 数 ...

  4. java遍历统计一个文件夹中所有文件单词出现次数

    思路就是通过递归进行文件遍历,把所有文件夹中的非目录文件都遍历一遍,并判断其中读取到的字符串是不是单词,并对单词进行记录和计数,并在最后进行排序输出,下面是代码: package word; impo ...

  5. 如何通过 SSH/Telnet 用 root 权限登录群晖

    出于系统安全原因,对 Synology NAS 的 root 访问有限.如果您获取 root 权限,请在命令行界面中用任何属于Local Administrators群组的帐户证书登录 DSM(如Pu ...

  6. 我的JAVA环境搭建

    每次重装系统后的开发环境搭建,总是会花费大量的时间精力,软件下载安装啦,配置修改啦等等,索性把这些流程记录一下,毕竟时间就是金钱. 软件列表 JDK1.8 IntelliJ IDEA Navicat数 ...

  7. 【5】激活函数的选择与权值w的初始化

    激活函数的选择: 西格玛只在二元分类的输出层还可以用,但在二元分类中,其效果不如tanh,效果不好的原因是当Z大时,斜率变化很小,会导致学习效率很差,从而很影响运算的速度.绝大多数情况下用的激活函数是 ...

  8. hackintosh和windows时区问题

    最近搞了几台黑苹果,驱动.平台.引导基本搞明白了.但安装成功之后,发现一个问题,切换系统之后,时间老是差了几个小时. 这肯定是时区设置的事儿!百度之后,发现简单地往Windows注册表中写了一条信息就 ...

  9. mybatis及其与hibernate的对比

    1.mybatis是支持普通SQL查询.存储过程.和高级映射的优秀持久层框架 它消除了JDBC代码和参数的手工设置,以及对结果集的检索 2.mybatis使用简单的XML或注解用于配置和原始映射,将接 ...

  10. 0级搭建类006-Oracle Solaris 安装 (10.13) 公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...