贪心/二分——cf1342D
时间:2020-04-28
本文章向大家介绍贪心/二分——cf1342D,主要包括贪心/二分——cf1342D使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
直接判断分成x组能否满足,从大到小平均分是最合理的方案
#include<bits/stdc++.h> using namespace std; #define N 200006 int suf[N],n,k,m[N],c[N]; vector<int>v[N]; long long t[N]; int judge(int x){ //分成x组 for(int i=1;i<=k;i++)t[i]=1ll*c[i]*x; for(int i=1;i<=k;i++) if(suf[i]>t[i])return 0; return 1; } int main(){ cin>>n>>k; for(int i=1;i<=n;i++)scanf("%d",&m[i]); sort(m+1,m+1+n); for(int i=1;i<=n;i++)suf[m[i]]++; for(int i=k;i>=1;i--)suf[i]+=suf[i+1]; for(int i=1;i<=k;i++)scanf("%d",&c[i]); int L=1,R=n,mid,ans; while(L<=R){ mid=L+R>>1; if(judge(mid)) R=mid-1,ans=mid; else L=mid+1; } int p=1; for(int i=1;i<=n;i++){ v[p].push_back(m[i]); p++;if(p>ans)p-=ans; } cout<<ans<<"\n"; for(int i=1;i<=ans;i++){ cout<<v[i].size()<<' '; for(auto x:v[i])cout<<x<<" "; puts(""); } }
原文地址:https://www.cnblogs.com/zsben991126/p/12793920.html
- fasthttp中的协程池实现
- Oracle 12c R2版本 Application Containers 特性(二)
- go sync.Mutex 设计思想与演化过程 --转
- hadoop开发必读:认识Context类的作用
- Logback+ELK+SpringMVC搭建日志收集服务器
- 【译】Spring 官方教程:创建批处理服务
- Oracle12c R2版本Application Containers特性(三)
- Shell系列-编写及执行脚本
- Spring Security 入门(五):在 Spring-Boot中的应用
- Go语言Goroutine与Channel内存模型
- Tarjan--LCA算法的个人理解即模板
- spark sql编程之实现合并Parquet格式的DataFrame的schema
- Oracle压缩黑科技(一)—基础表压缩
- 12 条用于 Linux 的 MySQL/MariaDB 安全最佳实践
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 想成为可视化高手?这篇合集就够了 | Vue
- 谈谈Vue开发过程中用到的插件
- 快速入门使用tikz绘制深度学习网络图
- why哥被一道基础面试题给干懵了,一气之下写出万字长文。
- 结构与算法(03):单向链表和双向链表
- 有赞crash平台符号化实践
- 什么是时间分片(Time Slicing)?
- 逐行分析鸿蒙系统的 JavaScript 框架
- 48张小图带你领略Flex 布局之美
- 怎样设计一个 JavaScript 插件系统
- 一道 React 面试题:在浏览器、组件和元素中都渲染了些什么?
- 「新手入门福利」一张脑图带你掌握Git命令
- LeetCode | 58.最后一个单词的长度
- 模拟面试,解锁大厂 ——从Android的事件分发说起
- scRepertoire||单细胞免疫组库分析:R语言应用(一)