首页 > 其他分享 >P2052 [NOI2011] 道路修建

P2052 [NOI2011] 道路修建

时间:2023-05-18 22:36:06浏览次数:39  
标签:结点 int 修建 dfs P2052 NOI2011 ans size

题不算难,但还是有一点坑的

求一条边一侧的结点数量显然可以 dfs 求出来,另一侧结点数就是 \(n-size_i\) ,其中 \(size_i\) 是结点 \(i\) 的子树大小。

long long ans,size[N];
inline void dfs(int p,int fa){
	size[p]=1;
	for(auto i:v[p]){
		if(i.to==fa)continue;
		dfs(i.to,p);
		size[p]+=size[i.to];
		ans+=i.val*abs(size[i.to]-(n-size[i.to]));
	}
}

值得一提的是在乘法时就有可能爆 int ,不知道有多少人像这样 100 -> 40 呢(笑)。

氵完睡觉。

标签:结点,int,修建,dfs,P2052,NOI2011,ans,size
From: https://www.cnblogs.com/Iictiw/p/17413472.html

相关文章

  • [NOI2011] 阿狸的打字机
    [NOI2011]阿狸的打字机/*其实也就是动态建树的问题,如果这个点有,那就把这个点给激活。如果这个点消失了,对应的把他的值取消掉就可以了这样就可以在对应的树下进行查询。然后就是单点修改,对树的子树大小进行查询,用树状数组进行维护就可以了首先根据fail建立子树在fail树......
  • 【洛谷】P2414 [NOI2011] 阿狸的打字机(AC自动机+离线询问)
    原题链接题意给定\(n\)个字符串,\(m\)次询问一个字符串\(x\)在另一个字符串\(y\)的出现次数。\(1\leqn,m\leq10^5\)。思路要解决多个字符串的问题,不难想到......
  • P3213 [HNOI2011]勾股定理 题解
    据说是NP问题。很明显我们要先预处理出来勾股数对。但由于数过于大,所以常规的枚举是解决不了问题的。但也貌似没有什么很好的办法可以立马找到一个数的勾股数对。所以......
  • CSP201703-4地铁修建
      仔细一看,就是把时间排序,然后把根据时间推进把这些点都连起来,那就是并查集问题,刚写完交上去是90分,加了一个优化变成100了。   #include<bits/stdc++.h>#......
  • P3215 [HNOI2011]括号修复题解
    发现题解里的维护前后缀最大最小值的做法都是感性理解,所以我就来写个证明。将(看做\(-1\),)看做\(1\),首先几个变量:\(n\)代表括号序列的长度。\(a_i\)代表前缀和......
  • luogu P1971 [NOI2011] 兔兔与蛋蛋游戏
    题面传送门没想到二分图博弈这么早就考了?首先我们发现,如果将和起点行列之和奇偶性一样的点设为黑色,其余设为白色,那么每次空格只会在异色边之间走,而不会在同色边之间走。......
  • 【题解】P1973 [NOI2011] NOI 嘉年华
    yyc学长说是典题,就记一下。题意给出\(n\)个区间,试在丢弃一些区间后,把区间分成两部分,使得不存在同时被两部分中的区间覆盖的位置,求:最终包含区间数较小的部分的区间......
  • [JZOJ3806] 小X的道路修建
    Description因为一场不小的地震,Y省n个城市之间的道路都损坏掉了,省长希望小X将城市之间的道路重修一遍。很多城市之间的地基都被地震破坏导致不能修路了,因此可供修建的......
  • Ynoi2011题解
    d1t1初始化题意一个长度为\(n\)的序列,\(q\)次操作。询问\([l,r]\)的区间和。将所有\(\bmodx=y\)的下标位置加\(z\)。\(n,q\leq2\times10^5\)。题解......
  • NOI2011真题:兔兔与蛋蛋游戏
    NOI2011真题:兔兔与蛋蛋游戏题目描述这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏。这个游戏是在一个n行m列的棋盘上进行的。游戏开始之前,棋盘上有一个格子是空的,其它......