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

网站icp备案号哪家网站建设公司好

网站icp备案号,哪家网站建设公司好,网站建设入门教程视频,网站备案logo题意#xff1a;给一棵 nnn 个点的有点权的树#xff0c;你需要找 kkk 条根到叶子的路径#xff0c;使得路径并集的权值和最大。 n≤2105n\leq 2\times 10^5n≤2105 其实就是个贪心#xff0c;只是从这个角度更自然一点( 先有个显然的 dp#xff0c;设 f(u,k)f(u,k)f(u,…题意给一棵 nnn 个点的有点权的树你需要找 kkk 条根到叶子的路径使得路径并集的权值和最大。 n≤2×105n\leq 2\times 10^5n≤2×105 其实就是个贪心只是从这个角度更自然一点( 先有个显然的 dp设 f(u,k)f(u,k)f(u,k) 为从 uuu 往下找 kkk 条链覆盖的权值最大值。 f′(u,k)max⁡i0k{f(u,i)f(v,k−i)}[k0]auf(u,k)\max_{i0}^k \{f(u,i)f(v,k-i)\}[k0]a_uf′(u,k)i0maxk​{f(u,i)f(v,k−i)}[k0]au​ 发现是个闵可夫斯基和的形式。 然后往这个方向考虑不管怎么理解都能看出这是个凸壳。 所以合并的时候继承叶子最多的儿子或者直接继承子树最大的也可以的凸包其他的暴力做闵可夫斯基和。可以用堆来维护斜率也就是差分然后暴力插入。最后把第一项 aua_uau​ 即可。 复杂度是 O(nlog⁡2n)\Omicron(n\log ^2n)O(nlog2n)但常数很小。 脑抽写了个平衡树我是 SB #include iostream #include cstdio #include cstring #include cctype #include vector #include cstdlib #define MAXN 200005 using namespace std; inline int read() {int ans0;char cgetchar();while (!isdigit(c)) cgetchar();while (isdigit(c)) ans(ans3)(ans1)(c^48),cgetchar();return ans; } typedef long long ll; int ch[MAXN][2],key[MAXN],tot; ll val[MAXN]; inline int newnode(int v){return val[tot]v,key[tot]rand(),tot;} int merge(int x,int y) {if (!x||!y) return x|y;if (key[x]key[y]) return ch[x][1]merge(ch[x][1],y),x;return ch[y][0]merge(x,ch[y][0]),y; } void split(int x,ll v,int l,int r) {if (!x) return (void)(lr0);if (val[x]v) split(ch[x][1],v,l,r),ch[x][1]l,lx;else split(ch[x][0],v,l,r),ch[x][0]r,rx; } int getfir(int x) {if (!ch[x][0]) {int tx;xch[x][1],ch[t][1]0;return t;}return getfir(ch[x][0]); } inline void insert(int x,int v) {int l,r;split(x,val[v],l,r);xmerge(merge(l,v),r); } vectorint e[MAXN]; int a[MAXN],rt[MAXN],lev[MAXN],son[MAXN]; void dfs(int u) {if (e[u].empty()) return (void)(lev[u]1);for (int i0;i(int)e[u].size();i){dfs(e[u][i]);if (lev[e[u][i]]lev[son[u]]) son[u]e[u][i];lev[u]lev[e[u][i]];} } void Dfs(int u) {if (son[u]) Dfs(son[u]),rt[u]rt[son[u]];else return (void)(rt[u]newnode(a[u]));for (int i0;i(int)e[u].size();i)if (e[u][i]!son[u]){Dfs(e[u][i]);while (rt[e[u][i]]) insert(rt[u],getfir(rt[e[u][i]]));}int pgetfir(rt[u]);val[p]a[u];rt[u]merge(p,rt[u]); } int main() {int n,k;nread(),kread();for (int i1;in;i) a[i]read();for (int i1;in;i){int u,v;uread(),vread();e[u].push_back(v);}dfs(1),Dfs(1);ll ans0;while (k--) ansval[getfir(rt[1])];coutans;return 0; }
http://mrfarshtey.net/news/39560/

相关文章:

  • 域名交易asp.net 网站wordpress简历模板
  • wordpress文章大网站wordpress数据查询系统
  • 全新的手机网站设计wordpress主页修改主页
  • dedecms 资源类网站模板易企秀怎么做招聘网站超链接
  • 纪检监察门户网站建设论证报告河北省住房和城乡建设厅新网站
  • 企业网站内容如何更新电子网址怎么创建
  • 专做零食的网站建站网站的图片
  • 余姚专业网站建设公司鞍山人才招聘网官网
  • 怎样查看网站服务商山东关键词优化联系电话
  • 免费看电视的网站3d建模素材
  • 毕业设计开发网站要怎么做百度爱采购怎样入驻
  • 做网站找哪家好要钱吗免费免费网站模板
  • 建设酒店网站ppt模板服务器网站绑定域名网站建设
  • 电商网官方网站黄山旅游攻略自助游
  • 实验室网站建设重要性做返利网站能赚钱么
  • 福州房地产网站建设阿里云网站建设有什么好处
  • 网站如何不需要备案微信销售平台
  • 品牌建设网站特点河南大学学科建设处网站
  • 网站做推广企业东莞常平翔龙天地
  • 社交做的最好的网站有哪些吉林珠海网站建设
  • 建设小微公司网站需要多少钱高端网站开发费用
  • 投资公司网站设计网站显示危险网站
  • 广告公司网站开发wordpress会员互动
  • 北京想象力网站建设公司茂名网站建设服务
  • 怎么在word里做网站网架公司招聘打板施工队伍
  • 怎么找网站啊公司网站建设成都
  • 聚名网app下载小程序seo帝搜软件sem880官网
  • 有哪些企业可以做招聘的网站有哪些内容php网站模板开源
  • 去哪儿网站做宣传多少钱创意智能产品设计
  • 网站的反链要怎么做如何学做网站平台