货物搜集

2024-03-16 23:48
文章标签 搜集 货物

本文主要是介绍货物搜集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

货物搜集

题解

我们可以先更新出到某个点所需的最大武力值,再二分出总的最小武力值即可。

源码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<stack>
#include<vector>
#include<queue>
#define MAXN 1000005
using namespace std;
typedef long long LL;
int n,maxx[MAXN],Max,ans;
int to[MAXN],paid[MAXN],nxt[MAXN];
int tot,head[MAXN],a[MAXN];
LL W;
#define gc() getchar()
template<typename _T>
inline void read(_T &x)
{_T f=1;x=0;char s=gc();while(s>'9'||s<'0'){if(s=='-')f=-1;s=gc();}while(s>='0'&&s<='9'){x=(x<<3)+(x<<1)+(s^48);s=gc();}x*=f;
}
void addEdge(int u,int v,int w)
{to[++tot]=v;paid[tot]=w;nxt[tot]=head[u];head[u]=tot;
}
void dfs(int u,int fa)
{//printf("%d %d\n",u,maxx[u]);for(int i=head[u];i;i=nxt[i]){int v=to[i];if(v==fa) continue;maxx[v]=max(paid[i],maxx[u]);dfs(v,u);}
}
bool tant(int x)
{LL res=0;for(int i=2;i<=n;i++)if(maxx[i]<=x)res+=1ll*a[i];return res>=W;
}//判断当前武力值是否可行
void tann(int l,int r)
{//printf("%d %d\n",l,r);if(l>r) return ;int mid=(l+r)>>1;if(tant(mid)){ans=mid;tann(l,mid-1);}elsetann(mid+1,r);
}//二分
int main()
{ read(n);read(W);for(int i=2;i<=n;i++)read(a[i]);for(int i=1;i<n;i++){int u,v,w;read(u);read(v);read(w);addEdge(u,v,w);addEdge(v,u,w);Max=max(w,Max);}maxx[1]=0;dfs(1,1);//更新整棵树ans=Max;tann(0,Max);//求答案printf("%d",ans);return 0;
}

谢谢!!!

这篇关于货物搜集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817136

相关文章

【2025】公司仓库管理系统的设计与实现(公司仓库信息管理系统,仓库信息系统,管理系统,信息管理系统,货物仓管系统)

博主介绍:     ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。 技术范围:     我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT

数据结构:顺序表的应用--仓库货物管理信息管理系统

分析下列功能需求,自定义存储货物的结构体类型以及顺序表类型,并以初始化方式提供初始的一些货物信息表。 (1)并输出所有货物信息。 (2)按商品编号查询,并显示查询结果。 (3)删除某个货物(在二级菜单中选择是按商品编号还是按商品名称进行删除)。 (4)按商品库存的升序进行排序。 (5)完成入库管理:当一个货物要入库时,首先确定它是否是一个新的货物,如果不是新的,则查询到该货物并修改其数量

初学构建小项目之仓库管理系统货物类型管理功能实现(三)

上一篇博客把仓库管理系统的主页面实现了,主要是一些按钮布局的实现,这一篇博客才是真正涉及到仓库管理系统货物类型管理的实现功能。       首先是货物类型表的建立。       CREATE TABLE t_goodsType(id INT PRIMARY KEY AUTO_INCREMENT,goodsTypeName VARCHAR(20) NOT NULL,goodsTyp

python-货物种类(赛氪OJ)

[题目描述] 某电商平台有 n 个仓库,编号从 1 到 n 。当购进某种货物的时候,商家会把货物分散的放在编号相邻的几个仓库中。我们暂时不考虑售出,你是否能知道,当所有货物购买完毕,存放货物种类最多的仓库编号为多少?输入格式: 在第一行中给出两个正整数 n , m ,分别代表仓库的数目和进货的次数。接下来 m 行,每行三个正整数 l , r , d 。编号在 l 和 r 之间的仓库收进编号为d的货

【后续更新】python搜集上海二手房数据

源码如下: import asyncioimport aiohttpfrom lxml import etreeimport loggingimport datetimeimport openpyxlwb = openpyxl.Workbook()sheet = wb.activesheet.append(['房源', '房子信息', '所在区域', '单价', '关注人数和

信息搜集--敏感文件Banner

免责声明:本文仅做分享参考... 目录 git安装: git目录结构: 敏感目录泄露 1-git泄露 (1)常规git泄露 scrabble工具 (2)git回滚 (3)git分支 GitHacker工具 (4)git泄露的其他利用 .git重定向问题 2-SVN泄露 dvcs-ripper工具 3-小结 dirsearch目录扫描工具 敏感备份文件 1-

搜狗浏览器搜集用户隐私遭泄露

今天,有网友在专业技术卡饭论坛上称,使用QQ帐号登录搜狗浏览器,可以查看到数千其他用户的个人账号,包括QQ、邮箱、支付宝、银行等涉及用户财产的账户信息,甚至可以直接进入其他人的支付宝进行转账购物,甚至直接支付交易。   网友在帖子中称,“一直使用搜狗浏览器,最近更新了4.2新版,登录慢多了,折腾了几下居然发现搜狗浏览器一个大漏洞!”网友发现,用QQ帐号登录搜狗,快速点几下退出,等几分钟

Android开源控件搜集--Text View

http://blog.csdn.net/binglumeng/article/details/53205044?locationNum=2&fps=1 http://blog.csdn.net/binglumeng/article/details/53205044?locationNum=2&fps=1 http://blog.csdn.net/binglumeng/article

CSP 第34次认证第四题 货物调度

题目链接 只想做一个30分解法。考场上写dfs只能过15分,不思其解。系统未开放评测。 将复现方法粘贴如下,开放数据后再进行测试。 #include <iostream>#include <vector>#include <set>#include <algorithm>#include <map>using namespace std;int n, m, v;struct sto