NOI2013部分题解】的更多相关文章

Day 1 T1:向量内积 直接暴力有60.发现将n个向量合成$n\times d$的矩阵$A$,然后求$A\times A^T$,得到的矩阵包含了所有的答案. 先考虑$k=2$,将答案矩阵和全1矩阵比较,为0的地方就是答案. 回忆一个十分经典的问题:判断$A\times B$是否与$C$相等. 先随机一个行向量v,若$v\times(A\times B)=v\times A \times B\neq v\times C$,则直接返回$false$.多次随机,成功率为$1-(\frac12)^{…
[fake题解][NOI2013]向量内积 做法1 大暴力.哪里不会T哪里. 做法2 所有数都%=k不影响结果.(废话 k的取值只有2和3,所以肯定是要分类讨论的.k=2肯定简单些啦. k=2 出现的数只会有0和1 两个0或1相乘,乘积就是与之后的值 所以可以把向量用bitset存起来,这样计算就是\(O(\frac{d}{32})\),结果是3.125 然后上暴力,\(O(\frac{n^2}{2}\times 3.125)\),能卡过(事实并非如此,飞起了) k=3 先讨论前14个点的k=3…
UPD: 那位神牛的题解更新了,在这里. ---------------------------------------------------------------------------------------------------- 被这题虐了好久……本来是看这个题解,然后晕乎乎的,没怎么看懂……然后YGW巨神质疑那个程序,于是就举出了一个反例……(rzO  Orz).于是本蒟蒻就顺着那个题解的思路和YGW的反例弄出了一种奇葩的方法…… 我们在BFS序上分割,分出每一层.这样一种分割方…
挖坑2333 等我把代码写完了再写…
目录 题目链接 题解 代码 题目链接 loj#2665. 「NOI2013」树的计数 题解 求树高的期望 对bfs序分层 考虑同时符合dfs和bfs序的树满足什么条件 第一个点要强制分层 对于bfs序连续的a,b两点,若a的bfs序小于b的bfs序,且a的dfs序大于b的,那么它们之间肯定要分层,对答案贡献为1 对于dfs序连续的a,b两点,若a的dfs序小于b的,且a的bfs序也小于b,那么它们的深度差不超过1,也就是说它们在的bfs序上之间最多分一层 先把前两个条件都判一下,然后把第2个条件…
[BZOJ3244][NOI2013]树的计数(神仙题) 题面 BZOJ 这题有点假,\(bzoj\)上如果要交的话请输出\(ans-0.001,ans,ans+0.001\) 题解 数的形态和编号没有关系,因此对于\(bfs\)序重标号,同时修改一下\(dfs\)序方便做题. 因为\(bfs\)的层数等于树高,所以我们相当于要把\(bfs\)划分为若干段, 那么,每一种\(bfs\)划分显然要么不合法,要么对应一种树的形态. 那么,我们来考虑\(bfs\)划分的几个限制. 首先有一个很明显的限…
[BZOJ3242][NOI2013]快餐店(动态规划) 题面 BZOJ 题解 假设我们要做的是一棵树,那么答案显然是树的直径的一半. 证明? 假设树的直径是\(2d\),那么此时最远点的距离是\(d\) 假设存在一个点的距离大于\(d\),那么直径可以由这个点到达直径的一个端点拼出. 所以最远点距离为\(d\). 现在的问题在基环树上. 可以用\(dp\)求出所有外向树上的直径以及能够一直向下延伸的最大深度\(f[i]\). 显然最终在基环树上的答案一定只会经过基环树的一部分, 也就是如果从某…
[BZOJ3243][NOI2013]向量内积(矩阵,数论) 题面 BZOJ 题解 这题好神仙. 首先\(60\)分直接是送的.加点随机之类的可以多得点分. 考虑正解. 我们先考虑一下暴力. 我们把\(n\)个向量拼接在一起,形成一个\(n\times d\)的矩阵. 显然这个矩阵和它的转置矩阵,也就是一个\(d\times n\)的矩阵做乘法, 结果是一个\(n\times n\)的矩阵,第\(i\)行第\(j\)列就是\(i,j\)两个向量的结果. 如果这个矩阵全是\(1\)(除主对角线),…
[BZOJ3240][NOI2013]矩阵游戏(数论) 题面 BZOJ 题解 搞什么矩阵十进制快速幂加卡常? 直接数学推导不好吗? 首先观察如何从每一行的第一个推到最后一个 \(f[i]=a·f[i-1]+b\) 利用数列的一系列知识 我们设\(f[i]+x=a(f[i-1]+x)\) 解出\(x=\frac{b}{a-1}\) 所以\(f[m]=a^{m-1}(f[1]+x)-x\) 也就是\(f[m]=a^{m-1}·f[1]+(a^{m-1}-1)x\) 再把它变到下一行去 \(f'[1]…
[UOJ#122][NOI2013]树的计数 试题描述 我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的 DFS 序以及 BFS 序.两棵不同的树的 DFS 序有可能相同,并且它们的 BFS 序也有可能相同,例如下面两棵树的 DFS 序都是 1 2 4 5 3,BFS 序都是 1 2 3 4 5. 现给定一个 DFS 序和 BFS 序,我们想要知道,符合条件的有根树中,树的高度的平均值.即,假如共有 K 棵不同的有根树具有这组 DFS 序和 BFS 序,且…