Codeforces Round #334 B. More Cowbell (二分 + 贪心)
来源:互联网 发布:网络与生活论文2000字 编辑:程序博客网 时间:2024/05/17 22:27
题意:
k个箱子装n个物品(n≤2∗k≤105),每个箱子最多装2个物品,求最小的满足要求的箱子的体积
分析:
小的能装大的也可以装,满足单调性可以二分,check的时候贪心一下,肯定是一大一小装才最好嘛,注意边界
代码:
//// Created by TaoSama on 2015-12-01// Copyright (c) 2015 TaoSama. All rights reserved.////#pragma comment(linker, "/STACK:1024000000,1024000000")#include <algorithm>#include <cctype>#include <cmath>#include <cstdio>#include <cstdlib>#include <cstring>#include <iomanip>#include <iostream>#include <map>#include <queue>#include <string>#include <set>#include <vector>using namespace std;#define pr(x) cout << #x << " = " << x << " "#define prln(x) cout << #x << " = " << x << endlconst int N = 1e5 + 10, INF = 0x3f3f3f3f, MOD = 1e9 + 7;int n, k;int a[N];bool check(int x) { int l = 1, r = n, cnt = 0; while(l <= r) { if(a[r] > x) return false; if(l != r) { if(a[l] + a[r] > x) --r; else ++l, --r; } else ++l; ++cnt; } return cnt <= k;}int main() {#ifdef LOCAL freopen("C:\\Users\\TaoSama\\Desktop\\in.txt", "r", stdin);// freopen("C:\\Users\\TaoSama\\Desktop\\out.txt","w",stdout);#endif ios_base::sync_with_stdio(0); while(scanf("%d%d", &n, &k) == 2) { for(int i = 1; i <= n; ++i) scanf("%d", a + i); int l = 1, r = 1e8; while(l <= r) { int m = l + r >> 1; if(check(m)) r = m - 1; else l = m + 1; } printf("%d\n", l); } return 0;}
0 0
- Codeforces Round #334 B. More Cowbell (二分 + 贪心)
- Codeforces Round #334 (Div. 2) B. More Cowbell (贪心)
- Codeforces Round #334 (Div. 2) B. More Cowbell (贪心)
- Codeforces Round #334 (Div. 2)B. More Cowbell(二分+贪心)
- Codeforces Round #334 (604B) More Cowbell [贪心]
- CodeForces 604 B.More Cowbell(贪心)
- Codeforces Round #334 (Div. 2)-More Cowbell(贪心模拟)
- codeforces B - More Cowbell (贪心)
- codeforces-604B More Cowbell(贪心)
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- Codeforces Round #334 (Div. 2) B. More Cowbell
- cf#334-B - More Cowbell-二分
- codeforces 604B More Cowbell
- 在源码中理解Android中手势分发
- 51Nod 1022 石子归并 V2 (划分型dp四边形不等式优化)
- 浅析JavaScript中两种类型的全局对象/函数
- MongoDB基础
- 如何查看本机ip地址,首先介绍下,查看电脑在局域网里的ip地址
- Codeforces Round #334 B. More Cowbell (二分 + 贪心)
- [python] 专题八.多线程编程之thread和threading
- Codeforces Round #334 C. Alternative Thinking (dp)
- 包装对象
- Parquet_2. 在 Impala/Hive 中使用 Parquet 格式存储数据
- 黑马程序员_final关键字
- Codeforces Round #334 D. Moodular Arithmetic(置换)
- PAT1001
- PAT1002