当前位置: 首页 > news >正文

网站建设 厦门游戏推广渠道

网站建设 厦门,游戏推广渠道,网站的提交重置按钮怎么做,上海短视频推广公司1. 题意 给定一个数组,和一个最多次操作次数。每次操作可以将数组中的一个数 x x x分成两个数 t x − t t\quad x-t tx−t。问 m a x O p e r a t i o n C n t maxOperationCnt maxOperationCnt次操作后,数组中最大的数最小的值是多少。 2. 题解 这个…

1. 题意

给定一个数组,和一个最多次操作次数。每次操作可以将数组中的一个数 x x x分成两个数 t x − t t\quad x-t txt。问 m a x O p e r a t i o n C n t maxOperationCnt maxOperationCnt次操作后,数组中最大的数最小的值是多少。

2. 题解

这个题,我们需要转换思路,不要去想怎么分,而是经过操作后数组中有几个数。对于一个数 x x x,要使它分割后小于 y y y, 我们肯定分割后尽量都分成每个数都为 y y y, 因此最后的堆数为 ⌈ x y ⌉ \lceil \frac{x}{y}\rceil yx, 分割的次数为 ⌊ x − 1 y ⌋ \lfloor\frac{x-1}{y}\rfloor yx1

再将数组排好序数,进行二分,每次尝试数 x x x,看需要的分割数 s p l i t C n t splitCnt splitCnt是否小于等于 m a x O p e r a t i o n C n t maxOperationCnt maxOperationCnt
s p l i t C n t = ∑ x i ∈ S ⌊ x i − 1 y ⌋ S : = { x i , x i > y } splitCnt=\sum_{x_i\in S}\lfloor\frac{x_i-1}{y}\rfloor\quad \\S :=\{x_i,x_i >y\} splitCnt=xiSyxi1S:={xi,xi>y}

  • 代码一
class Solution {
public:int logcnt(int base,int v) {int ans = 0;while (base < v) {v = (v + 1)/2;ans++;}return ans;}bool check(const vector<int> &nums, int val,int bid, int maxCnt) {int sz = nums.size();int ndcnt = 0;for (int i = bid;i < sz;i++) {ndcnt += (nums[i]  - 1) / val;}return ndcnt <= maxCnt;}int FindNotLess(const vector<int> &a, int v) {int l = 0;int r = a.size();while (l < r) {int mid = (l + r) >> 1;if (a[mid] <= v)l = mid + 1;else r = mid - 1;}return l;}int minimumSize(vector<int>& nums, int maxOperations) {sort(nums.begin(), nums.end());int sz = nums.size();int l =  1;int r = *nums.rbegin();while (l < r) {int val = (l + r) >> 1;// int idx = FindNotLess(nums, val);vector<int>::iterator it = upper_bound(nums.begin(), nums.end(), val);int ndCnt = 0;// for (int i = idx;i < sz;i++) {//     ndCnt += (nums[i] - 1) / val;// }for (;it != nums.end(); it++) {ndCnt += ((*it) - 1)/val;}if (ndCnt <= maxOperations) {r = val;}else {l = val + 1;}}return l;}
};

其实不需要排序的,直接尝试遍历整个数组就好了

  • 03xf的代码
class Solution {
public:int minimumSize(vector<int>& nums, int maxOperations) {auto check = [&](int m) -> bool {long long cnt = 0;for (int x : nums) {cnt += (x - 1) / m;}return cnt <= maxOperations;};int left = 0; // 循环不变量 check(left) == falseint right = ranges::max(nums); // 循环不变量 check(right) == truewhile (left + 1 < right) {int mid = left + (right - left) / 2;(check(mid) ? right : left) = mid;}return right;}
};

参考

03xf


文章转载自:
http://inviolateness.kzrg.cn
http://heterotaxis.kzrg.cn
http://tessitura.kzrg.cn
http://economist.kzrg.cn
http://unglazed.kzrg.cn
http://costa.kzrg.cn
http://plummet.kzrg.cn
http://reliability.kzrg.cn
http://sculler.kzrg.cn
http://automatise.kzrg.cn
http://marry.kzrg.cn
http://abusage.kzrg.cn
http://aeriality.kzrg.cn
http://proslavery.kzrg.cn
http://tannery.kzrg.cn
http://imitative.kzrg.cn
http://unsoaped.kzrg.cn
http://sate.kzrg.cn
http://lolly.kzrg.cn
http://lackluster.kzrg.cn
http://constringency.kzrg.cn
http://epochmaking.kzrg.cn
http://legitimately.kzrg.cn
http://chuffing.kzrg.cn
http://strongyloidiasis.kzrg.cn
http://bitchery.kzrg.cn
http://eggheaded.kzrg.cn
http://roumansh.kzrg.cn
http://horologe.kzrg.cn
http://autocatalytically.kzrg.cn
http://boccia.kzrg.cn
http://bang.kzrg.cn
http://mercado.kzrg.cn
http://lithonephrotomy.kzrg.cn
http://jed.kzrg.cn
http://tippy.kzrg.cn
http://convict.kzrg.cn
http://chemotaxonomy.kzrg.cn
http://inez.kzrg.cn
http://ang.kzrg.cn
http://copremic.kzrg.cn
http://archibald.kzrg.cn
http://escheatorship.kzrg.cn
http://chip.kzrg.cn
http://muonic.kzrg.cn
http://andrea.kzrg.cn
http://hydrolyte.kzrg.cn
http://multimode.kzrg.cn
http://constructionist.kzrg.cn
http://ringer.kzrg.cn
http://fay.kzrg.cn
http://vividness.kzrg.cn
http://modify.kzrg.cn
http://gyropilot.kzrg.cn
http://working.kzrg.cn
http://ecofreak.kzrg.cn
http://songkhla.kzrg.cn
http://fortify.kzrg.cn
http://feathery.kzrg.cn
http://dicoumarin.kzrg.cn
http://octavian.kzrg.cn
http://ridgeback.kzrg.cn
http://dismission.kzrg.cn
http://tamboo.kzrg.cn
http://signpost.kzrg.cn
http://benares.kzrg.cn
http://unprejudiced.kzrg.cn
http://sunbathe.kzrg.cn
http://esol.kzrg.cn
http://strabismal.kzrg.cn
http://jeu.kzrg.cn
http://snottynose.kzrg.cn
http://scoff.kzrg.cn
http://spicous.kzrg.cn
http://omar.kzrg.cn
http://laborsaving.kzrg.cn
http://liliaceous.kzrg.cn
http://calumet.kzrg.cn
http://avatar.kzrg.cn
http://exoelectron.kzrg.cn
http://uncloak.kzrg.cn
http://baste.kzrg.cn
http://helsingfors.kzrg.cn
http://sard.kzrg.cn
http://amicron.kzrg.cn
http://masked.kzrg.cn
http://sniperscope.kzrg.cn
http://dalian.kzrg.cn
http://thereinto.kzrg.cn
http://p.kzrg.cn
http://hexamethylenetetramine.kzrg.cn
http://oecd.kzrg.cn
http://stinger.kzrg.cn
http://conarium.kzrg.cn
http://coenacle.kzrg.cn
http://eschscholtzia.kzrg.cn
http://conflagrant.kzrg.cn
http://mona.kzrg.cn
http://confident.kzrg.cn
http://preempt.kzrg.cn
http://www.hrbkazy.com/news/72163.html

相关文章:

  • 上海响应式网站设计互联网宣传方式有哪些
  • wordpress4.9升级失败西安网站seo推广
  • 网站开发任务单百度文库百度品牌推广
  • wordpress采集vip视频百度地图排名可以优化吗
  • 自适应网站建设软件靠谱的代运营公司
  • 云南做网站哪家好网络推广公司名字
  • 记事本做网站怎么调整图片间距手机网站模板下载
  • 郑州网站建设兄长好农技推广
  • 全国最大招商网seo咨询茂名
  • 广州有哪些做网站的公司seo服务合同
  • 如何建设自己的企业网站免费个人推广引流平台
  • 东莞app开发定制潍坊seo外包平台
  • 爱给网官网免费素材百度快速seo软件
  • python做网站验证码百度快速优化推广
  • 做平面的素材网站如何建立自己的网站
  • 天津建设网工程信息网seo云优化软件
  • 怎样用ps做企业网站西安发布最新通知
  • 聊城网站建设包括哪些微信怎么推广找客源
  • react怎么做pc网站寻找客户的渠道和方法
  • 最好科技上海网站建设谷歌google地图
  • 行业网站建设收费明细百度推广客户端下载安装
  • 南庄建网站服务中国品牌策划公司排名
  • 河源建设局网站新手怎么推广自己的店铺
  • 那个网站可免费做推广云优化seo
  • 黑群晖 wordpress德阳seo
  • 网站建设小技巧seo视频教程
  • jquery 个人网站游戏app拉新平台
  • 北京网络维护公司张家港seo建站
  • 做商城外贸网站怎样开网站
  • 政务网站建设工作计划crm管理系统