当前位置: 首页 > news >正文

wordpress站点收录好天津网络推广公司

wordpress站点收录好,天津网络推广公司,网站制作模板北京,网站命名方式正题 题面链接:https://www.luogu.com.cn/problem/CF932F 题目大意 nnn个点的一棵树#xff0c;从xxx跳到yyy#xff08;要求yyy在xxx的子树中#xff09;会产生Ax∗ByA_x*B_yAx​∗By​的代价#xff0c;求每个节点出发跳到某个叶节点的最小代价。 解题思路 考虑dpdpdp的…正题 题面链接:https://www.luogu.com.cn/problem/CF932F 题目大意 nnn个点的一棵树从xxx跳到yyy要求yyy在xxx的子树中会产生Ax∗ByA_x*B_yAx​∗By​的代价求每个节点出发跳到某个叶节点的最小代价。 解题思路 考虑dpdpdp的话那么有fxfyAx∗Byf_xf_yA_x*B_yfx​fy​Ax​∗By​这个式子可以考虑斜率优化若y1y_1y1​比y2y_2y2​优那么有fy1−fy2By1−By2≥Ax\frac{f_{y_1}-f_{y_2}}{B_{y_1}-B_{y_2}}\geq A_xBy1​​−By2​​fy1​​−fy2​​​≥Ax​ 也就是我们对于每个节点要维护一个子树里所有点构成的一个下凸壳。 考虑树上启发式合并CDQCDQCDQ我们要求一个序列使得被贡献的点排在贡献点的后面。维护一个序列每次我们保留重子树的序列然后再加入其它轻子树的序列当到一个节点的头顶上是一条轻边时我们就对这个序列跑一次CDQCDQCDQ来维护凸壳然后清空序列。需要注意的是对于二次扫描轻子树的节点需要标记不能在CDQCDQCDQ分治中被修改答案。 时间复杂度O(nlog⁡2n)O(n\log^2 n)O(nlog2n) codecodecode #includecstdio #includecstring #includealgorithm #includestack #define ll long long using namespace std; const ll N1e510; struct node{ll to,next; }e[N*2]; ll n,tot,ls[N],a[N],b[N],f[N],siz[N],son[N]; ll cnt,q[N],p[N],v[N],st[N],rfn[N]; void addl(ll x,ll y){e[tot].toy;e[tot].nextls[x];ls[x]tot;return; } void dfs(ll x,ll fa){siz[x]1;for(ll ils[x];i;ie[i].next){ll ye[i].to;if(yfa)continue;dfs(y,x);siz[x]siz[y];if(siz[y]siz[son[x]])son[x]y;}return; } bool cmp(ll x,ll y) {return a[x]a[y];} bool cMp(ll x,ll y) {return (b[x]b[y])?(f[x]f[y]):(b[x]b[y]);} double slope(ll x,ll y) {return (double)(f[x]-f[y])/(b[x]-b[y]);} void cdq(ll l,ll r){if(lr)return;ll mid(lr)1,cnt1l-1,cnt2mid;for(ll il;ir;i)if(rfn[p[i]]mid)q[cnt1]p[i];else q[cnt2]p[i];for(ll il;ir;i)p[i]q[i];cdq(l,mid);ll tot0;for(ll il;imid;i){if(b[p[i]]b[p[i-1]]i!l)continue;while(tot1slope(st[tot-1],st[tot])slope(st[tot-1],p[i]))tot--;st[tot]p[i];}for(ll imid1;ir;i){if(v[p[i]])continue;while(tot1slope(st[tot-1],st[tot])-a[p[i]])tot--;ll xp[i],yst[tot];f[x]min(f[x],f[y]a[x]*b[y]);}cdq(mid1,r);sort(pl,p1r,cMp);return; } void calc(ll x,ll fa){p[cnt]x;rfn[x]cnt;v[x]1;for(ll ils[x];i;ie[i].next){ll ye[i].to;if(yfa)continue;calc(y,x);} } void solve(ll x,ll fa,ll top){for(ll ils[x];i;ie[i].next){ll ye[i].to;if(yfa||yson[x])continue;solve(y,x,y);}if(son[x])solve(son[x],x,top);else f[x]0;for(ll ils[x];i;ie[i].next){ll ye[i].to;if(yfa||yson[x])continue;calc(y,x);}p[cnt]x;rfn[x]cnt;v[x](!son[x]);if(xtop){sort(p1,p1cnt,cmp);cdq(1,cnt);cnt0;}return; } int main() {scanf(%lld,n);for(ll i1;in;i)scanf(%lld,a[i]);for(ll i1;in;i)scanf(%lld,b[i]);for(ll i1;in;i){ll x,y;scanf(%lld%lld,x,y);addl(x,y);addl(y,x);}memset(f,0x3f,sizeof(f));dfs(1,1);solve(1,1,1);for(ll i1;in;i)printf(%lld\n,f[i]);return 0; }
http://wiki.neutronadmin.com/news/184920/

相关文章:

  • 做视频在线观看网站广东圆心科技网站开发网站模板设计
  • 个人网站怎么做代码WordPress模版二次元
  • 建个电子商务网站多少钱如何用dw做网站前端
  • 淘客做自己的网站软件项目实施流程
  • 惠州淡水网站建设公司深圳网站设计公司怎么样
  • wdcp 网站备份wordpress4.7无法安装
  • ps做网站动图东莞营销型网站建站
  • wap网站设计规范什么是三合一网站建设
  • 公司的网站怎么建设360建筑网忘记登入密码了怎么办
  • 通过邮箱查注册网站网络推广是什么职位
  • 商城网站的功能学网站开发多少钱
  • seo矩阵培训东莞债优化
  • 查看网站外链代码wordpress 还原
  • 怎样建设网站是什么做网站的困难
  • 网站模板开发主要作用网站页面创意
  • 专业做财务公司网站济南市住房和城乡建设局官网
  • 华为云助力企业网站安全保障优秀企业网站案例
  • 网站seo工具wordpress 下载文件
  • 合肥有哪些做网站的公司wordpress前端
  • 网站开发的程序平台重点实验室网站建设的意义
  • a8新媒体的案例免费seo快速收录工具
  • 超大型网站建设购物网站开发历史
  • 郴州网站建设培训个人网站建设与企业网站
  • iis配置网站phpwordpress全站同一个标题
  • 如何建设网站方便后期维护北京口碑最好的教育机构
  • 成都网站建设益友网络wordpress手机号码登录
  • 成绩查询网站开发土特产网站模板 织梦
  • 专业服务网页制作上海网站seo外包
  • 建立个人网站多少钱和卫通app下载
  • 电商网站功能设计用jquery制作网页