首页 > 其他分享 >二分专题训练

二分专题训练

时间:2023-07-19 10:57:00浏览次数:42  
标签:二分 专题 frac 训练 sum ge le dsf lambda

KC 喝咖啡

  • 题目描述:给\(n\)个物品,每个物品有两个属性\(v_i\)和\(c_i\),选出其中\(m\)件,最大化\(\frac{\sum v_i}{\sum c_i}\)。
  • 数据范围:\(1≤m≤n≤200\),\(1≤c_i,v_i≤1×10^4\)。

01分数规划的板子题,不过很久没写过了还是记录一下。

对于一个数值\(\lambda\),验证其是否符合条件是更为容易的。例如我们需要验证是否存在一种选法使得\(\frac{\sum v_i}{\sum c_i}\ge \lambda\),由于\(c_i\)非负,简单变换一下就是\(\sum\left(v_i-\lambda c_i\right)\ge 0\),那么将\(v_i-\lambda c_i\)排序后看最大的\(m\)个之和是否非负即可。

时间复杂度为\(O(n\log v)\),\(v\)为值域。


Average and Median

  • 题目描述:给定\(n\)个数\(\{a_n\}\),现在要选出一些数,满足任意两个相邻的数中至少有一个数被选择。求出所有选择方案中,被选中数字平均值和中位数的最大值(偶数\(2k\)个数的中位数视作第\(k\)小的数) 。
  • 数据范围:\(2\le n\le 10^5\),\(1\le a_i\le 10^9\)。

感觉这类求平均值的题目二分的可能性很大。

对平均值,需最大化\(\frac{\sum a_{i}}{k}\)(\(k\)是选数的数量),是一个01分数规划的模型,对于\(\frac{\sum a_{i}}{k}\ge\lambda\)可以转换为\(\sum(a_i-\lambda)\ge0\),记\(c_i=a_i-\lambda\),看是否存在一种选法使\(\sum c_i\ge 0\)即可。

令\(f_i\)为目前到\(i\)且必须选\(i\)能取得的最大\(\sum c_i\)值,那么转移为\(f_i=\max\{f_{i-1},f_{i-2}\}+c_i\),最后\(\max\{f_{n-1},f_{n}\}\)即是答案。

dsf
df
dsf
dsf
dsf
dsf

标签:二分,专题,frac,训练,sum,ge,le,dsf,lambda
From: https://www.cnblogs.com/seketsu/p/17564964.html

相关文章

  • 代码随想录算法训练营第三十三天| 1049. 最后一块石头的重量 II 494. 目标和 474.一
    1049.最后一块石头的重量II思路:因为含有两个石头的相撞,所以需要把dp的目标值改成sum/2,然后取得这个目标值的最大值,然后对sum-2*target代码:1//要求:有多个石头,两两撞击,取得剩下的石头的最小值2//——》一定要碰到最后一个3//注意:4//1,x==y:两个粉碎,x<y:y=......
  • 【嵌入式面经专题】4-IIC协议
    1.概述I2C(Inter-IntegratedCircuitBUS)集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。2.物理层只要求两条总线线路,一条是串行数据线SDA,一条是串行时钟线SCL。(IIC是半双工,而不是......
  • PerfView专题 (第十四篇): 洞察那些 C# 代码中的短命线程
    一:背景1.讲故事这篇文章源自于分析一些疑难dump的思考而产生的灵感,在dump分析中经常要寻找的一个答案就是如何找到死亡线程的生前都做了一些什么?参考如下输出:0:001>!tThreadCount:22UnstartedThread:0BackgroundThread:1PendingThread:0DeadThread:......
  • 代码随想录算法训练营第57天 | ● 647. 回文子串 ● 516.最长回文子序列 ● 动
     第九章 动态规划part17●  647. 回文子串  ●  516.最长回文子序列●  动态规划总结篇 今天 我们就要结束动态规划章节了,大家激不激动!!!   详细布置   647. 回文子串    动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。https:......
  • 代码随想录算法训练营第58天 | ● 739. 每日温度 ● 496.下一个更大元素 I - 第1
     第十章 单调栈part01 ●  739. 每日温度 ●  496.下一个更大元素 I    详细布置    739. 每日温度  今天正式开始单调栈,这是单调栈一篇扫盲题目,也是经典题。 大家可以读题,思考暴力的解法,然后在看单调栈的解法。 就能感受出单调栈的巧妙 ......
  • 代码随想录算法训练营第59天 | ● 503.下一个更大元素II ● 42. 接雨水 - 第10章
     第十章 单调栈part02 ●  503.下一个更大元素II ●  42. 接雨水    详细布置   503.下一个更大元素II  这道题和 739. 每日温度 几乎如出一辙,可以自己尝试做一做 https://programmercarl.com/0503.%E4%B8%8B%E4%B8%80%E4%B8%AA%E6%9B%B4%E5%......
  • 代码随想录算法训练营第60天 | ● 84.柱状图中最大的矩形 - 第10章 动态规划part03
     第十章 单调栈part03有了之前单调栈的铺垫,这道题目就不难了。  ●  84.柱状图中最大的矩形   今天是训练营最后一天,恭喜坚持两个月的录友们,接下来可以写一篇自己 代码随想录一刷的总结。好好回顾一下,这两个月自己的博客内容,以及自己的收获。  ......
  • 二分图相关算法模板
    二分图判定概念解释二分图:设$G=(V,E)$是一个无向图,如果顶点$V$可分割为两个互不相交的子集$(A,B)$,并且图中的每条边$(i,j)$所关联的两个顶点$i$和$j$分别属于这两个不同的顶点集$(i\inA,j\inB)$,则称图$G$为一个二分图相关性质定理一个图是二分图$\Leftrightarrow$图中不......
  • LeetCode 852. Peak Index in a Mountain Array 二分
    Anarrayarramountainifthefollowingpropertieshold:arr.length>=3Thereexistssomeiwith0<i<arr.length-1suchthat:arr[0]<arr[1]<...<arr[i-1]<arr[i]arr[i]>arr[i+1]>...>arr[arr.length-......
  • 大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型
    大语言模型的预训练[2]:GPT、GPT2、GPT3、GPT3.5、GPT4相关理论知识和模型实现、模型应用以及各个版本之间的区别详解1.GPT模型1.1GPT模型简介在自然语言处理问题中,可从互联网上下载大量无标注数据,而针对具体问题的有标注数据却非常少,GPT是一种半监督学习方法,它致力于用大量......