C122 李超树合并+DP CF932F Escape Through Leaf

news/2024/11/18 8:47:07/文章来源:https://www.cnblogs.com/dx123/p/18192193

视频链接:C122 李超树合并+DP CF932F Escape Through Leaf_哔哩哔哩_bilibili

 

 

 

C65【模板】线段树合并 P4556 [Vani有约会]雨天的尾巴 - 董晓 - 博客园 (cnblogs.com)

CF932F Escape Through Leaf

#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;#define ll long long
#define N 100005
#define INF 0x3f3f3f3f3f3f3f3f
#define mid ((l+r)>>1)int h[N],to[N<<1],ne[N<<1],idx;
inline void add(int x,int y){ne[++idx]=h[x],to[idx]=y,h[x]=idx;
}
struct line{ll k,b;
}p[N];
int rt[N],tot,ls[N<<5],rs[N<<5],id[N<<5];
ll n,a[N],b[N],f[N];ll Y(int i,ll x){ //求Y值return p[i].k*(x-N)+p[i].b; //x-N:修正
}
void change(int &u,int l,int r,int i){ //修改if(!u){id[u=++tot]=i; return;}if(Y(i,mid)<Y(id[u],mid)) swap(i,id[u]);if(Y(i,l)<Y(id[u],l)) change(ls[u],l,mid,i);if(Y(i,r)<Y(id[u],r)) change(rs[u],mid+1,r,i);
}
ll query(int u,int l,int r,ll x){ //查询if(!u) return INF;ll ans=Y(id[u],x);if(x<=mid)return min(ans,query(ls[u],l,mid,x));else return min(ans,query(rs[u],mid+1,r,x));
}
void merge(int &x,int y,int l,int r){ //合并if(!x||!y){x=x|y; return;}merge(ls[x],ls[y],l,mid);merge(rs[x],rs[y],mid+1,r);change(x,l,r,id[y]);  //插入直线id[y]
}
void dfs(int x,int fa){ //递归合并for(int i=h[x];i;i=ne[i]){int y=to[i];if(y==fa) continue;dfs(y,x);merge(rt[x],rt[y],1,N<<1);}f[x]=query(rt[x],1,N<<1,a[x]+N);if(f[x]==INF) f[x]=0; //修正叶子节点p[x]={b[x],f[x]};change(rt[x],1,N<<1,x); //插入直线x
}
int main(){scanf("%lld",&n);for(int i=1;i<=n;++i)scanf("%lld",&a[i]);for(int i=1;i<=n;++i)scanf("%lld",&b[i]);for(int i=1,x,y;i<n;++i)scanf("%d%d",&x,&y),add(x,y),add(y,x);dfs(1,0);for(int i=1;i<=n;++i)printf("%lld ",f[i]);
}

 

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

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

相关文章

kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans

1、大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job。 今天给大家分享一个使用xxl-job调度carte的流程文件的示例。整个调度流程图如下: 1)xxl-job-admin,页面可视化配置任务。 2)xxl-job-executor,job执行器,…

PKUSC 2024 最短路径

本文首发于 [QOJ](https://qoj.ac/blog/skip2004/blog/866) 大家好,我是钱哥,我来写一下 PKUSC2024 最短路径 的题解。没有做过这个题的同学可以先自行做一做。 我们下面来讲解一下如何一步步解决这个题目。 subtask 4 首先,我们来解决第一个具有挑战性的子任务:\(m \leq…

工业福利!用.NET快速开发物联网扫码器设备的通用扫码功能

不管你是用.net framework还是用.net core或者更高版本.net环境,这篇文章也许都能帮到你!因为接下来我会提供一个简单粗暴的方式,来快速实现多款扫码器的通用扫码功能。目前本地测试过的包括基恩士系列、康耐视系列、以及其他支持以太网通信的多款小众厂家等。 下面开始重点…

执行npm run serve有时提示npm update check failed

背景:这个错误虽说无关紧要,但有时候会出现就感觉不爽。 错误提示: 解决方法:在网络上查阅资料后才知道是因为文件夹权限的问题 (1.)删除目录configstore由于权限问题,该目录经常出现故障。如果删除该目录,则下次运行命令时将重新生成该目录。 (2.)在 Windows 上删除…

IKNP协议详解

详细介绍OT extension的重要文章: Extending Oblivious Transfers Efficiently. 作者是Yuval Ishai, Joe Kilian, Kobbi Nissim, and Erez Petrank, 发表在2003的Crypto上.一起学习OT extension的重要文章: Extending Oblivious Transfers Efficiently. 作者是Yuval Ishai, Joe…

vulnhub - w1r3s.v1.0.1

对于vulnhub靶机w1r3s.v1.0.1的渗透流程vulnhub - w1r3s.v1.0.1 高质量视频教程 - b站红队笔记 靶机下载 本地环境 本机ip:192.168.157.131 w1r3s虚拟机设置NAT模式 信息收集 扫描网段得到攻击机ip:192.168.157.158详细信息扫描 nmap -A -p- 192.168.157.158开放了四个端口 2…

自研WPF插件系统(沙箱运行及热插拔)

前言插件化的需求主要源于对软件架构灵活性的追求,特别是在开发大型、复杂或需要不断更新的软件系统时,插件化可以提高软件系统的可扩展性、可定制性、隔离性、安全性、可维护性、模块化、易于升级和更新以及支持第三方开发等方面的能力,从而满足不断变化的业务需求和技术挑…

通过CM 1542-1与1500CPU进行S7通信

通过CM 1542-1与1500CPU进行S7通信时,通信伙伴的SIMATIC-ACC不要勾选,设置正确的机架/插槽,TSAP设置为03.01才能通信成功。如果通过1500CPU本体网口与1500CPU进行S7通信时,仅需勾选SIMATIC-ACC就可以通信成功

关于Windows端口被占用

cmd查看被占用端口的pidnetstat –aon |findstr “xxxxx”关闭找到端口被占用对应的PIDTASKKILL /PID xxxxx /F如: 本文来自博客园,作者:小刘爱学习呀,转载请注明原文链接:https://www.cnblogs.com/liuhao-blog/p/18198723

软件设计师(中级) 笔记

软件设计师 「学习路线」(推荐该顺序学习,按照先易后难排序) 1、上午题—计算机系统(5~6分)1.cpu:cpu是硬件系统的核心功能:控制器(程序控制,操作控制) 运算器(时间处理,数据处理)运算器:算术逻辑单元(ALU):实现算术运算和逻辑运算累加寄存器(AC):为ALU提供…

ABC353

A link暴力寻找\(2\)及以后比\(a_1\)大的数。点击查看代码 #include<bits/stdc++.h>using namespace std;int n; int a[105];signed main(){cin >> n;for(int i = 1;i <= n;++ i)cin >> a[i];for(int i = 2;i <= n;++ i){if(a[i] > a[1]){cout <…

《RandAugment: Practical automated data augmentation with a reduced search space》阅读笔记

论文标题 《RandAugment: Practical automated data augmentation with a reduced search space》 随机增强: 缩小搜索空间的实用自动数据扩增技术 作者 Ekin D. Cubuk、Barret Zoph、Jonathon Shlens 和 Quoc V. Le 来自 Google Research, Brain Team 初读 摘要最近的研究表明…