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

南京网站建设 seo长沙建个网站要多少钱

南京网站建设 seo,长沙建个网站要多少钱,做茶叶网站的素材,静安建设网站题目大意 给你一棵有 n n n个节点的树#xff0c;并用 01 01 01串告诉你哪些节点上有棋子#xff08;恰好一棵#xff09;。 你可以进行若干次操作#xff0c;每次操作可以将两颗距离至少为 2 2 2的棋子向彼此移动一步。 问能否通过若干次操作使得所有的棋子都在一个点上…题目大意 给你一棵有 n n n个节点的树并用 01 01 01串告诉你哪些节点上有棋子恰好一棵。 你可以进行若干次操作每次操作可以将两颗距离至少为 2 2 2的棋子向彼此移动一步。 问能否通过若干次操作使得所有的棋子都在一个点上。如果能输出最小操作次数否则输出 − 1 -1 −1。 1 ≤ n ≤ 1 0 6 1\leq n\leq 10^6 1≤n≤106 时间限制 2000 m s 2000ms 2000ms空间限制 256 M B 256MB 256MB。 题解 看这道题之前可以先看看AGC034E Complete Compress本题为其加强版。 我们可以枚举最后所有棋子聚集在哪个点设这个点为 r r r我们设 r r r为根。 设 d i s u dis_u disu​表示 u u u的子树中每个棋子到 u u u的距离那每一次操作会使 d i s r dis_r disr​减少 2 2 2或者不变。我们发现 如果不变的话相当于浪费了一次所以最优的肯定是选择减少 2 2 2。 每次减少 2 2 2要不是在 r r r的一个儿子的 d i s dis dis值减少 2 2 2要不是在 r r r的两个儿子分别减少 1 1 1。我们考虑什么时候无解无解就是子树不能抵消完。设 m n u mn_u mnu​表示子树 u u u中的棋子在内部操作若干次直到不能再操作时的 d i s u dis_u disu​也就是需要与其他子树操作的最小次数。设 v v v为 u u u的儿子我们比较 m n v s i z v mn_vsiz_v mnv​sizv​和 d i s u − d i s v − s i z v dis_u-dis_v-siz_v disu​−disv​−sizv​的大小 s i z v siz_v sizv​表示子树 v v v中的棋子个数 如果 m n v s i z v ≤ d i s u − d i s v − s i z v mn_vsiz_v\leq dis_u-dis_v-siz_v mnv​sizv​≤disu​−disv​−sizv​那就是能抵消完最后剩的就是 m n u d i s u % 2 mn_udis_u\%2 mnu​disu​%2如果 m n v s i z v d i s u − d i s v − s i z v mn_vsiz_vdis_u-dis_v-siz_v mnv​sizv​disu​−disv​−sizv​就不能抵消完那我们拿其他部分来抵消 m n v mn_v mnv​ m n u m n v s i z v − ( d i s u − d i s v − s i z v ) mn_umn_vsiz_v-(dis_u-dis_v-siz_v) mnu​mnv​sizv​−(disu​−disv​−sizv​) 我们记录 u u u的所有儿子 v v v的 m n v d i s v 2 s i z v mn_vdis_v2siz_v mnv​disv​2sizv​的最大值 m x u mx_u mxu​然后用这个最大值来与 d i s u dis_u disu​作比较即可。 最后看 m n r mn_r mnr​是否为 0 0 0。如果为 0 0 0则可以抵消完则用 d i s r / 2 dis_r/2 disr​/2来更新答案这里的 d i s r dis_r disr​是最开始的 d i s r dis_r disr​否则以 r r r为最终聚集的点是无解的。 时间复杂度为 O ( n 2 ) O(n^2) O(n2)。下面考虑优化。 我们可以用换根 D P DP DP。设 s u m u sum_u sumu​表示所有棋子到 u u u的距离然后和上面类似地维护 f a d i s u fadis_u fadisu​表示以 u u u为根节点除去 u u u的子树部分之外的所有棋子到 u u u的距离 f a m n u famn_u famnu​表示以 u u u为根节点时除去 u u u子树部分之外的部分内部操作若干次直到不能再操作时的 d i s u dis_u disu​。其实和上面的定义是类似的只不过上面是在 u u u的子树中这里是在 u u u的子树之外。 因为在更新 u u u的儿子 v v v的 f a m n v famn_v famnv​时有可能用到自己的 m n v d i s v 2 s i z v mn_vdis_v2siz_v mnv​disv​2sizv​所以我们在记录 m n v d i s v 2 s i z v mn_vdis_v2siz_v mnv​disv​2sizv​的最大值时还要记录次大值 m x u , 0 / 1 mx_{u,0/1} mxu,0/1​分别表示最大值和次大值。 用与上面类似的方法来维护然后对每个点判断是否有解有解就更新答案。 时间复杂度为 O ( n ) O(n) O(n)。 可以参考代码帮助理解。 code #includebits/stdc.h using namespace std; const int N1000000; int n,tot0,d[2*N5],l[2*N5],r[N5],dep[N5],siz[N5]; long long ans1e18,dis[N5],mn[N5],fadis[N5],sum[N5],famn[N5],mx[N5][2]; char s[N5]; void add(int xx,int yy){l[tot]r[xx];d[tot]yy;r[xx]tot; } void dfs1(int u,int fa){siz[u](s[u]1);for(int ir[u];i;il[i]){int vd[i];if(vfa) continue;dfs1(v,u);siz[u]siz[v];dis[u]dis[v]siz[v];long long tmpdis[v]siz[v]*2mn[v];if(tmpmx[u][0]){mx[u][1]mx[u][0];mx[u][0]tmp;}else if(tmpmx[u][1]) mx[u][1]tmp;}if(mx[u][0]dis[u]) mn[u]dis[u]%2;else mn[u]mx[u][0]-dis[u]; } void dfs2(int u,int fa){for(int ir[u];i;il[i]){int vd[i];if(d[i]fa) continue;long long nowdis[u]-dis[v]-siz[v];fadis[v]nowsiz[1]-siz[v]fadis[u];sum[v]dis[v]fadis[v];long long famxmx[u][0],fasumsum[u]-dis[v]-siz[v];if(famxdis[v]siz[v]*2mn[v]) famxmx[u][1];famxmax(famx,famn[u]fadis[u]);if(famxfasum) famn[v]fasum%2siz[1]-siz[v];else famn[v]famx-fasumsiz[1]-siz[v];long long mxdmax(mx[v][0],fadis[v]famn[v]);if(mxdsum[v]sum[v]%20) ansmin(ans,sum[v]/2);dfs2(v,u);} } int main() { // freopen(charlotte.in,r,stdin); // freopen(charlotte.out,w,stdout);scanf(%d,n);scanf(%s,s1);for(int i1,x,y;in;i){scanf(%d%d,x,y);add(x,y);add(y,x);}dfs1(1,0);if(mn[1]0) ansdis[1]/2;sum[1]dis[1];dfs2(1,0);if(ans1e18) printf(-1\n);else printf(%lld\n,ans);return 0; }
http://www.hkea.cn/news/14511575/

相关文章:

  • 公司网站建设 wordpress湖北城乡住房建设厅网站怎查证件
  • 网站异常传播怎么解除成都网站建设全美
  • 忘记网站后台密码做旅行社网站
  • 资讯网站 怎么做国家企业查询系统官网天眼查
  • 太原市做网站海南在线分类信息平台
  • 阳泉建设局网站网站建设如何学
  • 微信公众号上微做网站wordpress月亮花园
  • 网站备案号注销查询系统创建网站忘记了怎么办
  • 网站视频做背景淘宝联盟返利网站怎么做
  • 做化工类网站内容wordpress默认图像不显示
  • 网站关键词密度过高推广网站的方法有搜索引擎营销、邮件营销
  • seo网站优化经理微软雅黑做网站会涉及到侵权吗
  • 不会代码建设网站下拉框代码自做生成网站
  • 做潮鞋的网站和平台西安浐灞生态区规划建设局网站
  • 深圳做网站专业公司沭阳网站建设招聘
  • 做什么网站最赚钱邢台123式的网站怎么做
  • cms网站建设系统有优惠券网站 怎么做代理
  • 定制网站报价网页qq登陆聊天
  • 长沙企业网站建设收费中国建设信息网官网八大员证查询
  • 模板网站试用网页配色设计手册
  • 学网站建设需要用哪几个软件交互设计作品集网站
  • 网站建设 淘宝运营做黄页网站要告我
  • 轻松筹网站可以做吗网站集群建设和网站集约化
  • 网站设计 方案做铝材的网站
  • 企业网站建设联系wordpress图片弹窗
  • 大连的网站建设字幕组 主页 wordpress
  • 淘宝做推广网站网站的空间和域名备案
  • 网站开发项目帮朋友做网站不给钱
  • 怎样做营销型网站推广ppt保定设计网站建设
  • 东莞市做网站的公司利用赞赏码做网站收款