标签:sp 2014 问题 bs nbsp acm 数组 c 模拟
唉 谷歌出的神题,差点爆零了。。。三小时终于A掉 B题
题目大概是说从左上角的点出发,经过某路线最后回到原点,求每个格子被路线包含的圈数的平方和。
首先可以知道,对于某个格子来说,从该格子的任意一个方向划一条射线,路径穿过该射线的次数就等于该格子被包含的圈数(正穿和反穿抵消)。
然后开一个100w的数组保存每个格子的上面那条线被向右走过的次数。模拟出路径,然后填满数组。求格子的圈数就等于这个格子和它上面所有格子里面填的值的和。然后全部平方加起来就可以了。
有一个点就是可以把高和宽中较短的那一条翻转到上边变成宽,使得模拟路径填数组的时候不会超时。
。。感觉写的不太好,不过自己想一想应该没问题吧,不难的题。
标签:sp 2014 问题 bs nbsp acm 数组 c 模拟
原文地址:http://www.cnblogs.com/syiml/p/4154409.html