当前位置: 首页 > 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://wiki.neutronadmin.com/news/39560/

相关文章:

  • 公司网站备案条件专业制作网站服务
  • 合网站建设网站收录怎么弄
  • 清远专业网站制作公司唐山做网站优化公司
  • 做网站图片格式北京网页设计师工资有多少
  • 服装设计网站大全免费推广平台有哪些 请一一例举
  • 北京个人网站设计app软件免费下载安装最新版
  • 网站建设 百度云长春中企动力怎么样
  • 网络型网站分为合肥免费做网站
  • 行业网站设计公司网站域名变更怎么查询
  • 房产网站内容建设规划网站做微信链接怎么做的
  • 公司网站备案网站建设工作动态
  • 网站设计做什么网站做分享链接
  • 电影网站建设规划书wordpress widgets
  • 昆明自助建站软件wordpress 调用特征图片
  • vs网站开发视频教程聊城网站优化信息
  • 做网站 数据库图片wordpress主题
  • 机关网站建设和运行情况汇报怎么样购买服务器建设网站
  • 西安便宜的网站建设网站建设需要的流程
  • 哈尔滨寸金网站建设公司口碑深圳建设网站上市
  • 创建了网站seo如何分析网站
  • 建设双语的网站手机商城图片
  • 哪家专门做特卖的网站?wordpress 微信主题
  • 大连手机网站建设aws 搭建wordpress
  • 霸县网站建设wordpress导入文件格式
  • 安庆网站建设电话wordpress 图片的设置
  • 建设将网站加入受信网站再试网站找到后台了 如何破解账号 密码
  • flash类网站开发wordpress仿站网
  • 东莞海边网站建设工作室智慧树网页设计与制作答案
  • 做外贸网站设计上需要注意什么wordpress分类排版
  • 丹阳网站建设咨询网页展示模板