E95 01分数规划+树上背包 P1642 规划

news/2025/1/29 23:36:23/文章来源:https://www.cnblogs.com/dx123/p/18689201

视频链接:

 

 

P1642 规划 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

// 01分数规划+树上背包 复杂度:n*m*log(1e9)
#include <bits/stdc++.h>
using namespace std;int read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-'0';c=getchar();}return f*x;
}
const int N=105,Inf=1<<30;
int head[N],idx;
struct E{int to,ne;}e[N<<1];
int n,m,a[N],b[N],sz[N];
double c[N],f[N][N];void add(int u,int v){e[++idx]={v,head[u]};head[u]=idx;
}
void dfs(int u,int fa){sz[u]=1; f[u][0]=0;for(int i=head[u];i;i=e[i].ne){int v=e[i].to;if(v==fa) continue;dfs(v,u);sz[u]+=sz[v];for(int j=min(m,sz[u]);j>=0;j--) //容量for(int k=0;k<=min(j,sz[v]);k++) //决策f[u][j]=max(f[u][j],f[u][j-k]+f[v][k]);}for(int i=min(m,sz[u]);i>0;i--) f[u][i]=f[u][i-1]+c[u];
}
bool check(double x){for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) f[i][j]=-Inf;for(int i=1;i<=n;i++) c[i]=a[i]-x*b[i];dfs(1,0);for(int i=1;i<=n;i++) if(f[i][m]>=0) return 1;return 0;
}
int main(){n=read(),m=read();for(int i=1;i<=n;i++) a[i]=read();for(int i=1;i<=n;i++) b[i]=read();m=n-m;for(int i=1;i<n;i++){int a=read(),b=read();add(a,b); add(b,a);}double l=0,r=1000000;while(r-l>1e-3){double mid=(l+r)/2;if(check(mid)) l=mid;else r=mid;}printf("%.1lf\n",l);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/875614.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

年级第一暗杀计划

[SDOI2008] 仪仗队 题目描述 作为体育委员,C 君负责这次运动会仪仗队的训练。仪仗队是由学生组成的 \(N \times N\) 的方阵,为了保证队伍在行进中整齐划一,C 君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。现在,C 君希望你告诉他队伍整齐…

Burp Suite Professional 2025.1 发布下载,新增功能简介

Burp Suite Professional 2025.1 发布下载,新增功能简介Burp Suite Professional 2025.1 (macOS, Linux, Windows) - Web 应用安全、测试和扫描 Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sysin.org/blog/burp-suite-pro/ …

ubuntu配置核心转储文件路径并调试(nju ics PA)

调整 core pattern编辑 /etc/sysctl.conf sudo nano /etc/sysctl.conf修改kernel.core_pattern kernel.core_pattern=./core.%d.%f.%p.%t# %d 可执行文件目录名 # %f 可执行文件名 # %p 进程 ID # %t 时间的十进制值 (2) 可以自行修改格式,参考变量名和含义 使其生效 sudo sy…

solon-flow 你好世界!

solon-flow 是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有 “开放式” 驱动定制支持,像 jdbc 有 mysql 或 pgsql 等驱动,可为不同的应用场景定制不同的驱动处理。solon-flow 是一个基础级的流处理引擎(可用于业务规则、决策处…

1/25 遇到的问题

1.数据库连接报错 错误代码: nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBExceptionorg.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined inclass path resource [org/s…

【模拟电子技术】14-基本共射放大电路的动态分析

【模拟电子技术】14-基本共射放大电路的动态分析给出问题,求三个参数。反推:需要Aus就需要求解交流通路(动态参数H等效模型),交流通路需要知道Rbe,Rbe需要知道Rbb,Rbb需要知道静态工作点,静态工作点需要分析直流通路,思路有了。得到Au现在再次探讨输入电阻对放大电路的…

[2025.1.25 MySQL学习] 约束

约束概念:约束是作用于表中字段的规则,用于限制存储在表中的数据 目的:保证数据库中数据的正确、有效性和完整性 分类:

QT+VS “QtRunWork”任务返回了 false,但未记录错误。

无法打开 源 文件 " ui_xxx.h 源文件不可用 Qt开发报错:Q_INTERFACES Error: Undefined interface报错:QtRunWork”任务返回了 false,但未记录错误。 无法打开 源 文件 " ui_xxx.h 源文件不可用 原因: 1.查看错误:“QtRunWork”任务返回了 false,但未记录错误…

2025牛客寒假算法基础集训营2 个人题解

2025牛客寒假算法基础集训营2 个人题解2025牛客寒假算法基础集训营2 个人题解 A.一起奏响历史之音! #include<bits/stdc++.h> #define endl \n using namespace std; void solve(){bool flag=false;for(int i=1;i<=7;i++){int x;cin>>x;if(x!=1 && x!=…

亚像素视觉使用与故障处理

亚像素视觉使用与故障处理 V1.0 2024.05修订日期修订内容2024/5/20初版(V1.0)目录1. 界面介绍 41.1运行画面 41.2设定画面 42.操作方法 52.1设定与运行模式切换 52.2 手动拍照测试、执行条件选择 52.3常用工具使用与工具…