浙江工商大学2020年新生赛部分题解(三)
2、战神和一笔画圆
这个题目其实是考一个叉积的概念,当然也可以通过斜率来判断,但是太复杂了,有各种情况,不合适。
直接介绍一下叉积,当两个向量叉积大于零时,说明第一个向量转到第一个向量的方向为逆时针。
向量a为(x1, y1), 向量b为(x2, y2),a X b = x1 * y2 - x2 * y1;
上面应该是高中叉积的概念,当然你要了解计算几何里面,在计算几何里,△ABC的面积就是“向量AB”和“向量AC”两个向量叉积的绝对值的一半。其正负表示三角形顶点是在右手系还是左手系。
3、战神打包快递
其实这题我感觉是个意想的题,就是想想是这个道理,然后写一发就过了的题。
具体说,我们让节省的材料尽可能多,当然我们可以让两个矩形较长的边靠在一起就行了。接下来其实即使一个公式的问题,先考虑一共需要多少,减去节省的,就能AC本题了。
出题人有一个详细的证明,我去找一下截个图:
5、战神数颜色
这个题是比较经典的题,就是求贡献的题。
我们考虑每一个数对答案造成的贡献,对于ai,我们算这一项能出现多少次,出现多少次其实就是选取区间左右端点的方案数的的乘积,乘法原理嘛。举个栗子,对于第3项a3 = 2,出现的所有区间, 左端点可以是1、2、3;右端点可以是3、4、5、6;一共有3 * 4 = 12种。所以a3的贡献是a3 * 12。
所以答案就是:
by pangge
2020/12/20 19:09 算法之光实验室