contesthunter NOIP模拟赛Day2 8.10

一、二叉树的根

题意:给出一颗无根树,求节点,要求把该节点变为树的根节点后树成为一颗二叉树。

小论:枚举节点,若它连的边数小于等于2,则它可以作为根节点;若它连的边数大于3,那么这棵树无论如何都不能成为一颗二叉树,所以无解。

情况:估计100分,实际100分。


二、距离统计

题意:有一个n*m的点阵,询问以这些点为顶点组成的长度为l的线段的个数。

小论:难度在于求长度为l的对角线的个数。就是要求a和b (a<=n,b<=m)使a^2+b^2=l^2,由本原勾股数可知,当x^2+y^2=z^2,gcd(x,y,z)=1 时(z-x)、(z-y) 均为完全平方数或完全平方数的两倍。我们就可以从1~sqrt(l)枚举l的约数,分别用这个约数和l除以这个约数得到的值作为上述的z。然后枚举z以内的完全平方数,得到x和y,判断gcd(x,y,z)是否等于1(用反证法易证x,y,z其实两两互质)。再由x,y得到a,b,更新答案。

情况:估计40分,实际40分。数学功底不够,不知道有、也推不出“若x^2+y^2=z^2且gcd(x,y,z)=1,则(z-x)、(z-y) 均为完全平方数或完全平方数的两倍”。当时就直接枚举a,判断是否可行。由此可见,打好数学基础确实重要。


三、电阻网络

题意:给一个电路,求总电阻。

小论:题目巨坑的描述,许多同学表示看不懂题。其实这题用个很简单的深搜就行。根据题目可知,它每个接口最多连出2条线,连出2条线的就是并联电路的开始,连出1条线且该线电阻为0的是并联的结束,连出1条线且该电阻为1的为串联一个电阻。用公式计算电阻。一直搜到最后一个接口。

情况:估计0分,实际20分。当时没怎么看懂题,根据样例和自己的理解乱搞了一下,其实方法和正解差不多,都是递归搜索,只是一些处理因为对题目的不理解而不到位。


总结:基础很重要。三道题,要求信息学、数学、物理(也能算是语文的文字理解能力吧)的基础,特别是数学基础(数学不好而信息学好貌似是不可能的)。所以,文化课不能丢下。

你可能感兴趣的:(contesthunter NOIP模拟赛Day2 8.10)