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

网络营销策略的方法seo全国最好的公司

网络营销策略的方法,seo全国最好的公司,诏安县城乡规划建设局网站,网站推广策略怎么写2023牛客暑期多校训练营6-A Tree https://ac.nowcoder.com/acm/contest/57360/A 文章目录 2023牛客暑期多校训练营6-A Tree题意解题思路代码 题意 解题思路 最大价值和这个数据范围,一眼 d p dp dp。 直接在树上并不好处理,问题是如何有效转化、处理…

2023牛客暑期多校训练营6-A Tree

https://ac.nowcoder.com/acm/contest/57360/A

文章目录

  • 2023牛客暑期多校训练营6-A Tree
    • 题意
    • 解题思路
    • 代码

题意

在这里插入图片描述

解题思路

最大价值和这个数据范围,一眼 d p dp dp

直接在树上并不好处理,问题是如何有效转化、处理 x , y x,y x,y之间的最短路径上的最大边权值。这里用到了 k r u s k a l 重构树 kruskal重构树 kruskal重构树 k r u s k a l 算法 kruskal算法 kruskal算法是一种贪心地求最小生成树的算法,本题所用算法参照了该算法的思路,将一张无向图的边按边权排序,一次取用,不同的是,我们将每条边转化为带有点权的虚点,任意两点由虚点连接,而原图上的点均为叶子结点,如图:
在这里插入图片描述
一条边的两个端点将祖先连在一起,可以用并查集实现。

根据这种树的特殊性质,其虚点的权值自上而下减少,原图上两个点之间的最短路径上的最大权值即为该图上两点最近公共祖先的点权。此时可以进行树形 d p dp dp了!

在这里插入图片描述

d p x , b dp_{x,b} dpx,b表示以 x x x为根的字数内黑点个数为 b b b的贡献最大值,对于原图上任意边,其贡献值为
( W 1 × B 2 + W 2 × B 1 ) × k (W_1\times B_2+W_2\times B_1)\times k (W1×B2+W2×B1)×k,推理得:
d p x , b = M a x b − s z r ≤ b 1 ≤ m i n ( b , s z l ) ( d p l , b 1 + d p r , b − b 1 + k x × ( b 1 ( 左子树黑点个数 ) × ( s z r − b + b 1 ) ( 右子树白点个数 ) + ( s z l − b 1 ) ( 左子树白点个数 ) × ( b − b 1 ) ( 右子树黑点个数 ) ) ) dp_{x,b}=Max_{b-sz_r\le b_1\le min(b,sz_l)}(dp_{l,b_1}+dp_{r,b-b_1}+\\ k_x\times(b_1(左子树黑点个数)\times(sz_r-b+b_1)(右子树白点个数)+\\ (sz_l-b_1)(左子树白点个数)\times(b-b_1)(右子树黑点个数))) dpx,b=Maxbszrb1min(b,szl)(dpl,b1+dpr,bb1+kx×(b1(左子树黑点个数)×(szrb+b1)(右子树白点个数)+(szlb1)(左子树白点个数)×(bb1)(右子树黑点个数)))
对于叶子结点 l e a f leaf leaf
d p l e a f , a [ l e a f ] ⊕ 1 = − c o s t l e a f d p l e a f , a [ l e a f ] = 0 dp_{leaf,a[leaf]\oplus 1}=-cost_{leaf}\\ dp_{leaf,a[leaf]}=0 dpleaf,a[leaf]1=costleafdpleaf,a[leaf]=0

注意内存与结果大小, d p dp dp数组可以用 v e c t o r < l o n g l o n g > vector<long long> vector<longlong>

代码

#include<bits/stdc++.h>
#define ll long long
#define pb push_back
using namespace std;
const int N=6005;
int n,a[N],c[N],f[N],m,sz[N],b[N];
pair<int,int>e[N];
struct node{int u,v,w;
}p[N];
vector<ll> dp[N];
bool cmp(node a,node b){return a.w<b.w;
}
int sf(int x){if(f[x]==x)return x;return f[x]=sf(f[x]);
}
void dfs(int u){if(u<=n){dp[u][a[u]^1]=-c[u];dp[u][a[u]]=0;sz[u]=1;return;}int l=e[u].first,r=e[u].second;dfs(l),dfs(r);sz[u]=sz[l]+sz[r];dp[u]=vector<ll>(sz[u]+1,-0x3f3f3f3f3f3f);if(sz[l]>sz[r])swap(l,r);for(int x=0;x<=sz[u];x++)for(int i=max(0,x-sz[r]);i<=min(sz[l],x);i++){dp[u][x]=max(dp[u][x],dp[l][i]+dp[r][x-i]+b[u]*(i*(sz[r]-x+i)+(sz[l]-i)*(x-i)));}
}
int main(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i],dp[i].resize(2);for(int i=1;i<=2*n;i++)f[i]=i;for(int i=1;i<=n;i++)cin>>c[i];for(int i=1;i<n;i++){int u,v,w;cin>>u>>v>>w;p[i].u=u,p[i].v=v,p[i].w=w;}sort(p+1,p+n,cmp);m=n;for(int i=1;i<n;i++){int u=p[i].u,v=p[i].v,w=p[i].w;if(sf(u)==sf(v))continue;++m;b[m]=w;e[m].first=sf(u),e[m].second=sf(v);f[sf(u)]=f[sf(v)]=m;}dfs(sf(1));ll ans=0;for(int i=0;i<=n;i++){ans=max(ans,dp[sf(1)][i]);}cout<<ans;
}
http://www.khdw.cn/news/7905.html

相关文章:

  • 网络运维培训大概多少钱锦州seo推广
  • 网站建设每年需要交多少钱定制网站建设电话
  • 东莞网站建设 鞋材厂软文有哪些发布平台
  • 建设营销型网站流程百度推广如何办理
  • 个人建网站教程常州seo外包公司
  • 供应链管理系统论文seo短视频网页入口引流网站
  • 免费网站中文源码下载接广告推广的平台
  • 广州必去的景点排名seo关键词排名怎么提升
  • 东莞企业网东莞排名优化团队
  • 房地产建筑设计公司什么叫seo网络推广
  • 东莞回收网站设计中文域名注册
  • 哈尔滨网络推广经理招聘搜索引擎优化的重要性
  • php做网站还是linux搜狗seo快速排名公司
  • 网站权重6了该则么做优化方案推广图片大全
  • 成都网站建设工作室仿站定制模板建站
  • 做婚礼效果图的网站有哪些全球网站流量排名查询
  • 泰州手机网站制作深圳百度seo代理
  • 高端网站设计新鸿儒信息发布
  • 建站行业现状市场营销四大分析方法
  • [8dvd]flash网站源文件 flash整站源码线上宣传方式有哪些
  • 建站推荐网站百度指数如何分析数据
  • 服务器网站日志腾讯网qq网站
  • 网页设计作品收获与思考网站关键词优化排名怎么做
  • 在pc端网站基础上做移动端做推广怎么做
  • 郑州网站建设技术支持最新国际军事动态
  • 网站建设销售经理职责株洲seo优化公司
  • wordpress注册修改密码云南seo网络优化师
  • 赛迪建设网站网络营销策略的特点
  • ajax 翻页 wordpress揭阳百度快照优化排名
  • 长沙市住房与城乡建设厅网站整合营销策划