三分/01分数规划
三分
最小球覆盖 2018南京D
三分套三分套三分
constexpr int N=105;
struct node{int x,y,z;
}a[N];
int n;
double road(double x1,double y1,double z1,double x2,double y2,double z2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)+(z1-z2)*(z1-z2));
}
double check(double x,double y,double z){double maxn=0;for (int i=1;i<=n;i++){maxn=std::max(maxn,road(x,y,z,a[i].x,a[i].y,a[i].z));}return maxn;
}
double check(double x,double y){double l=-100000,r=100000,ans=1e18;for (int i=1;i<=80;i++){double mid1=l+(r-l)/3,mid2=r-(r-l)/3;double res1=check(x,y,mid1),res2=check(x,y,mid2);if (res1<res2){r=mid2;}else{l=mid1;}ans=std::min(ans,std::min(res1,res2));}return ans;
}
double check(double x){double l=-100000,r=100000,ans=1e18;for (int i=1;i<=80;i++){double mid1=l+(r-l)/3,mid2=r-(r-l)/3;double res1=check(x,mid1),res2=check(x,mid2);if (res1<res2){r=mid2;}else{l=mid1;}ans=std::min(ans,std::min(res1,res2));}return ans;
}
void yrzr(){std::cin>>n;for (int i=1;i<=n;i++){std::cin>>a[i].x>>a[i].y>>a[i].z;}double l=-100000,r=100000,ans=1e18;for (int i=1;i<=80;i++){double mid1=l+(r-l)/3,mid2=r-(r-l)/3;// std::cout<<std::fixed<<std::setprecision(5)<<mid1<<" "<<mid2<<"\n";double res1=check(mid1),res2=check(mid2);if (res1<res2){r=mid2;}else{l=mid1;}ans=std::min(ans,std::min(res1,res2));}std::cout<<std::fixed<<std::setprecision(5)<<ans;
}
P2571 [SCOI2010] 传送带
感性理解一下,从 a b ab ab传送带到 c d cd cd传送带,每个传送带只有一个点出发/到达是最优的,所以单峰,满足三分性
int ax,ay,bx,by,cx,cy,dx,dy;
int p,q,r;
double road(double x1,double y1,double x2,double y2){return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
double check(double x,double y){double lx=cx,ly=cy,rx=dx,ry=dy,ans=1e18;for (int i=1;i<=100;i++){double mid1x=(2*lx+rx)/3,mid1y=(2*ly+ry)/3;double mid2x=(lx+2*rx)/3,mid2y=(ly+2*ry)/3;double res1=road(dx,dy,mid1x,mid1y)/q+road(x,y,mid1x,mid1y)/r;double res2=road(dx,dy,mid2x,mid2y)/q+road(x,y,mid2x,mid2y)/r;if (res1>res2){lx=mid1x;ly=mid1y;}else{rx=mid2x;ry=mid2y;}ans=std::min(ans,res1);}return ans;
}
void yrzr(){std::cin>>ax>>ay>>bx>>by>>cx>>cy>>dx>>dy>>p>>q>>r;double lx=ax,ly=ay,rx=bx,ry=by,ans=1e18;for (int i=1;i<=100;i++){double mid1x=(2*lx+rx)/3,mid1y=(2*ly+ry)/3;double mid2x=(lx+2*rx)/3,mid2y=(ly+2*ry)/3;double res1=road(ax,ay,mid1x,mid1y)/p+check(mid1x,mid1y);double res2=road(ax,ay,mid2x,mid2y)/p+check(mid2x,mid2y);if (res1>res2){lx=mid1x;ly=mid1y;}else{rx=mid2x;ry=mid2y;}ans=std::min(ans,res1);}std::cout<<std::fixed<<std::setprecision(2)<<ans;
}
[SHOI2017]期末考试
从小到大排序,三分最后出成绩的时间,然后贪心,将晚出的学科进行操作
时间复杂度通过前缀和预处理可以做到 O ( n l o g n + l o g 2 n ) O(nlogn+log^2n) O(nlogn+log2n)
注意测试点C==1e16时会炸longlong,进行特判
constexpr int N=1e5+5;
int A,B,C,n,m;
int t[N],b[N],sum[N],tol[N];
int check(int dl){if (b[m]<=dl){return 0;}int pos=std::upper_bound(b+1,b+1+m,dl)-b;int sum1=dl*(pos-1)-tol[pos-1],sum2=(tol[m]-tol[pos-1])-(m-pos+1)*dl;if (B<=A){return sum2*B;}else{if (sum1>=sum2){return sum2*A;}else{return sum1*A+(sum2-sum1)*B;}}
}
void yrzr(){std::cin>>A>>B>>C>>n>>m;for (int i=1;i<=n;i++){std::cin>>t[i];}for (int i=1;i<=m;i++){std::cin>>b[i];}std::sort(t+1,t+1+n);for (int i=1;i<=n;i++){sum[i]=sum[i-1]+t[i];}std::sort(b+1,b+1+m);for (int i=1;i<=m;i++){tol[i]=tol[i-1]+b[i];}if (C==1e16){std::cout<<check(t[1]);return;}int ans=1e18;int l=0,r=100000,res1,res2;while (l<r){int mid1=(2*l+r)/3,mid2=(l+2*r)/3;int pos1=std::upper_bound(t+1,t+1+n,mid1)-t-1;int pos2=std::upper_bound(t+1,t+1+n,mid2)-t-1;res1=(mid1*pos1-sum[pos1])*C+check(mid1);res2=(mid2*pos2-sum[pos2])*C+check(mid2);if (res1>res2){l=mid1+1;}else{r=mid2-1;}ans=std::min(ans,std::min(res1,res2));// std::cout<<mid1<<" "<<res1<<" "<<mid2<<" "<<res2<<"\n";}std::cout<<ans;
}
分数规划
小咪买东西
板子
void yrzr(){int n,k;std::cin>>n>>k;std::vector<int> c(n+1),v(n+1);for (int i=1;i<=n;i++){std::cin>>c[i]>>v[i];}int l=0,r=1e9,ans=0;auto check=[&](int x){std::vector<int> temp;for (int i=1;i<=n;i++){temp.push_back(v[i]-c[i]*x);}std::sort(temp.begin(),temp.end(),[&](int i,int j){return i>j;});int sum=0;for (int i=0;i<k;i++){sum+=temp[i];}return (sum>=0?1:0);};while (l<=r){int mid=(l+r)>>1;if (check(mid)){l=mid+1;ans=mid;}else{r=mid-1;}}std::cout<<ans<<"\n";
}
gpa
转换一下,其实就是买的物品个数变成了一个范围 [ n − k , n ] [n-k,n] [n−k,n]
c h e c k check check的时候,一旦出现一个满足范围且 s u m > = 0 sum>=0 sum>=0的时候就是合法的
void yrzr(){int n,k;std::cin>>n>>k;std::vector<int> s(n+1),c(n+1);for (int i=1;i<=n;i++){std::cin>>s[i];}for (int i=1;i<=n;i++){std::cin>>c[i];c[i]*=s[i];}double l=0,r=1e9,ans=0;auto check=[&](double x){std::vector<double> temp;for (int i=1;i<=n;i++){temp.push_back(c[i]-x*s[i]);}std::sort(temp.begin(),temp.end(),[&](int i,int j){return i>j;});double sum=0;for (int i=1;i<=n;i++){sum+=temp[i-1];if (sum>0&&n-i<=k){return 1;}}return 0;};for (int i=1;i<=60;i++){double mid=(l+r)/2;if (check(mid)){l=mid+1;ans=mid;}else{r=mid-1;}}std::cout<<std::fixed<<std::setprecision(8)<<ans;
}
P4377 [USACO18OPEN] Talent Show G
与之前不同的是,此题没有限制选的数量,而是限制分母的和,二分完后,转换为背包问题即可
void yrzr(){int n,W;std::cin>>n>>W;std::vector<int> w(n+1),t(n+1);for (int i=1;i<=n;i++){std::cin>>w[i]>>t[i];t[i]*=1000;}int l=0,r=1e9,ans=0;auto check=[&](int x){std::vector<int> c(n+1),v(n+1);for (int i=1;i<=n;i++){c[i]=t[i]-w[i]*x;v[i]=w[i];}std::vector<int> f(W+1,-1e18);f[0]=0;for (int i=1;i<=n;i++){for (int j=W;j>=0;j--){f[std::min(W,j+v[i])]=std::max(f[std::min(W,j+v[i])],f[j]+c[i]);}}return (f[W]>=0?1:0);};while (l<=r){int mid=(l+r)/2;if (check(mid)){l=mid+1;ans=mid;}else{r=mid-1;}}std::cout<<ans<<"\n";
}
P4322 [JSOI2016] 最佳团体
二分答案,然后分数规划模型,转换一下发现就是重新定义每个人的点权,然后跑一个树上背包,但是树上背包要满足:儿子选了父亲一定要选
,特殊预处理一下即可
相关文章:
三分/01分数规划
三分 最小球覆盖 2018南京D 三分套三分套三分 constexpr int N105; struct node{int x,y,z; }a[N]; int n; double road(double x1,double y1,double z1,double x2,double y2,double z2){return sqrt((x1-x2)*(x1-x2)(y1-y2)*(y1-y2)(z1-z2)*(z1-z2)); } double check(double…...
大批卖家产品被下架!Temu又有新动作?
大批卖家产品被下架!Temu又有新动作? 近日,Temu正式上线韩国站,截止目前已上线27个国家地区。Temu海外市场发展迅猛,外界的声音也褒贬不一。这其中最有发言权的,应该就是Temu平台的卖家了! …...
STM32 LL库 TIM3定时器多通道捕获输入采集
为什么不用HAL库,使用HAL库捕获输入一个通道还尚可,多通道捕获由于HAL的回调函数不符合我的要求,干脆直接切换到LL库。网上找了许多,代码处理写的不符合我的要求,这里记录一下我的调试过程。 TIM2输出1路PWM信号&#…...
如何为初创企业选择合适的 ERP 系统?
**ERP系统**是制造、分销、供应链、金融、会计、风险管理等多个行业必不可少的企业技术解决方案。不论垂直行业、企业规模或目标受众如何,将ERP作为企业管理战略的核心部分都非常重要。 对于渴望发展的小型企业和初创企业来说,更是如此。大型企业需要对…...
jssip contact的随机字符串的问题
let configuration {sockets: [socket],uri: sip:1001127.0.0.1,}; 如果这样注册freesswitch,那么fs注册信息中的Contact字段信息就是:sip:sdfsdfsdfsfcvdwvdwd.invalid;transportws;fs_natyes;fs_path... 正确的写法是: //URI是jssip内置…...
别再吐槽大学教材了,来看看这些网友强推的数学神作!
前言 关于大学数学教材的吐槽似乎从来没停止过。有人慨叹:数学教材晦涩难懂。错!难懂,起码还可以读懂。数学教材你根本读不懂;也有人说:数学教材简直就是天书。 数学教材有好有坏,这话不假,但更…...
Elasticsearch-汇总
Elasticsearch-基础介绍 跳转 分布式全文搜索引擎:包含【实时搜索】和【分析引擎】 Elasticsearch-倒排索引 跳转 倒排索引 跳转 Elasticsearch-Term Dictionary和Term Index 跳转 lucene-基础介绍 跳转 Elasticsearch-联合索引 跳转 Elasticsearch-Roaring B…...
9.3 【MySQL】系统表空间
了解完了独立表空间的基本结构,系统表空间的结构也就好理解多了,系统表空间的结构和独立表空间基本类似,只不过由于整个MySQL进程只有一个系统表空间,在系统表空间中会额外记录一些有关整个系统信息的页面,所以会比独立…...
STM32CUBEIDE生成hex文件 Release版本的下载不启动
现象描述: 使用STM32CUBEIDE生成hex文件,使用脱机下载器或者J-Flash下载到单片机中(STM32F407)单片机不启动。 测试其他的程序是可以启动的。 修改办法: 把Release版本切换到debug版本,重新编写…...
2023年亚太杯数学建模思路 - 复盘:校园消费行为分析
文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…...
ceph集群移除物理节点
1. 概述 ceph分布式存储在生产或者实验环境,经常涉及到物理节点加入或者删除,本文仅对移除物理节点的相关步骤做了操作记录,以方便需要时查阅。 2. 移除物理节点 2.1 out掉相应osd 操作之前通过ceph -s确保整个集群状态是OK的,…...
(八)Spring源码解析:Spring MVC
一、Servlet及上下文的初始化 1.1> DispatcherServlet的初始化 对于Spring MVC来说,最核心的一个类就是DispatcherServlet,它负责请求的行为流转。那么在Servlet的初始化阶段,会调用init()方法进行初始化操作,在DispatcherSe…...
maven或者gradle打完jar,jekins启动提示找不到问题
1、记录下遇到的一个问题,maven或者gradle打完jar,然后jekins发布,启动提示找不到实体类,mapper,xml问题 2、首先排查jar包中这些文件是否存在 3、然后排查每层的包名或者文件名是否能对应上 我这次遇到的问题就是本地…...
浏览器缓存sessionStorage、localStorage、Cookie
一、sessionStorage 1、简介 sessionStorage用于在浏览器会话期间存储数据,数据仅在当前会话期间有效。 存储的数据在用户关闭浏览器标签页或窗口后会被清除。 2、方法 使用sessionStorage.setItem(key, value)方法将数据存储在sessionStorage中。使用sessionSt…...
易点易动固定资产管理系统场景应用一:集成ERP/财务系统
在企业的日常运营中,固定资产管理是一个重要而繁琐的任务。传统的手工管理方式往往效率低下且容易出错,给企业带来不必要的成本和风险。为了解决这一问题,易点易动固定资产管理系统应运而生。本文将重点介绍易点易动固定资产管理系统在集成ER…...
k8s部署elk8 直接通过logstash获取日志文件方式
配置文件 kibana [rootnode101 config]# cat kibana.yml # # ** THIS IS AN AUTO-GENERATED FILE ** ## Default Kibana configuration for docker target server.host: "0.0.0.0" server.shutdownTimeout: "5s" elasticsearch.hosts: [ "http:/…...
git 本地多个账号错乱问题解决
当我们在本地有多个git账号时,例如公司的gitlab有一个git账号,自己的开源项目有一个GitHub账号,我们可能会出现账号错乱的情况,例如提交到公司gitlab的代码是github账号 这种情况通常是由于您的git config配置文件中的用户信息未…...
wu-ui-uniapp 多平台快速开发的UI框架
WU-UI 多平台快速开发的UI框架(无论平台,一致体验) 官方群 wu-ui官方1群: 767943089 说明 wu-ui(如虎添翼) 是 全面兼容多端的uniapp生态框架,基于vue2、vue3和nvue开发。丰富组件库,便捷工具库,简单高效。无论平台&#x…...
Spring Boot Actuator:自定义端点
要在Spring Boot Actuator中实现自定义端点,可以按照以下步骤进行操作: 1.创建一个自定义端点类 该类需要使用Endpoint注解进行标记,并使用Component注解将其作为Spring Bean进行管理。 package com.example.highactuator.point;import lo…...
实时音视频方案汇总
若有好的方案欢迎留言讨论,非常感谢,汇总了一些,从市面上了解的一些低时延的端到端的方案,仅供参照,若有问题,也欢迎留言更正! 方案 方案描述 时延 备注 1大华同轴高清电缆200米电缆…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
