【hihocoder 1511】树的方差】的更多相关文章

题意 对于一棵 \(n\) 个点的带标号无根树,设 \(d[i]\) 为点 \(i\) 的度数,定义一棵树的方差为数组 \(d[1..n]\) 的方差. 给定 \(n\) ,求所有带标号的 \(n\) 个点的无根树的方差之和,答案对 \(998244353\) 取模. 题解 注意是方差之和,而不是方差的期望. 首先方差有个套路转化,\(\displaystyle V[x]= \frac{E[x^2]}{n} -(E[x])^2\) ,也就是平方的期望 除去 \(n\) 减去期望的平方. 此处可以…
题目3 : 树的方差 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 对于一棵 n 个点的带标号无根树,设 d[i] 为点 i 的度数. 定义一棵树的方差为数组 d[1..n] 的方差 给定 n ,求所有带标号的 n 个点的无根树的方差之和. 你需要将答案对 998244353 取模. 方差的定义:https://en.wikipedia.org/wiki/Variance 输入 仅一行:一个正整数 n 2 ≤ n ≤ 106 输出 仅一行:一个非负整数表示答案 样…
#1391 : Countries 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are two antagonistic countries, country A and country B. They are in a war, and keep launching missiles towards each other. It is known that country A will launch N missiles. The i-th miss…
[题目链接]:http://hihocoder.com/problemset/problem/1511 [题意] [题解] 有个方差的公式 V(X)=E(X2)−E(X)2 这里E(X)指的是X的期望; 显然所有树的度数的期望都是2*(n-1)/n 则问题转换成求E(X^2)了; 这里用到了树的prufer数列->关于prufer数列 即每一个prufer数列都对应了不同的树; 然后根据数列中的数字出现的次数和其在树中的度数的关系; 我们可以枚举每一个节点在prufer数列中出现的次数X; 在n…
hihoCoder 1014 题目提示已经很清楚了~ 贴代码…… #include <iostream> #include <cstdio> #include <cstring> using namespace std; + ; ; struct Node{ int cnt; int next[alNum]; void init(){ memset(next,-,sizeof(next)); cnt = ; return; } }; Node trie[MAXN]; i…
本文出自:http://blog.csdn.net/svitter 原题:http://hihocoder.com/contest/hiho2/problem/1 题解:使用Trie树..基础题目.一開始使用memset(child, 0, sizeof(child))总是MLE,应该是NULL定义的问题.指针直接为0是不合适的. 代码: #include <iostream> #include <string.h> #include <stdio.h> using n…
描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进. 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到以这个字符串开头的所有单词呢?” 身经百战的小Ho答道:“怎么会不能呢!你每给我一个字符串,我就依次遍历词典里的所有单词,检查你给我的字符串是不是这个单词的前缀不就是了?” 小Hi笑道:“你啊,还是太年轻了!~假设这本词典里有10万个单…
题面在这里! 正式告别文化课回归的第一题QWQ,然鹅半个月之后还是要退役QWQWQWQWQ 好像很久之前就见过的一个题,当时只会打一打 O(N^2) 的暴力QWQ,正好今天又写了遍这个暴力用来对拍23333 正解的话就是把O(N^2)的暴力用数据结构优化一下. (按照常规套路,先把树建成有根树,以1为根) 考虑把原问题建模,每条边的贡献就是这条边 i 的特征0/1数组的区间内不止一种数的区间数,特征数组a[]是指,如果点x在边i下面,那么a[x]=1:否则a[x]=0. 这个显然补集转化一下会更…
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个包含 N 个顶点 M 条边的无向图 G ,判断 G 是不是一棵树. 输入 第一个是一个整数 T ,代表测试数据的组数. (1 ≤ T ≤ 10) 每组测试数据第一行包含两个整数 N 和 M .(2 ≤ N ≤ 500, 1 ≤ M ≤ 100000) 以下 M 行每行包含两个整数 a 和 b ,表示顶点 a 和顶点 b 之间有一条边.(1 ≤ a, b ≤ N) 输出 对于每组数据,输出YES或者NO表示 G …
题目大意:给出一棵有根树(根为 \(0\) ),点有点权.可以删除点(非根),并将其子树接到其父亲上.我们称一个树为树堆当前仅当树上每个点都满足其权值大于等于其子树中所有点的点权.现在对于每个点要求其子树删去一点后形成的树堆的最大大小,其中这个点在其自身的子问题内是不可删除的. 题解 这个每个点的子树都求一遍一眼就可以看出是 线段树合并 或者 dsu on tree ,然后略加思索发现这个维护的过程类似 DP ,可以发现不太适合 dsu on tree ,因此选择 线段树合并 .现在考虑怎么维护…