摘要: 矩形面积并。 需要转化一下思路:记录每一个位置的数以及位置。 对数字进行从小到大排序,数字一样的按位置从小到大排。 这样,一样的数就在一起了。连续的相同的x个数就可以构成很多解,这些解对应于二维平面上某矩形内整点个数(包括边界)。 这样就处理出很多很多的矩形,因为重复只能计算一次,所以可以采用矩形面 阅读全文
posted @ 2016-07-21 22:30 Fighting_Heart 阅读(236) 评论(0) 推荐(0)
摘要: 枚举环排列+二分图匹配计算答案。 可以枚举一下yin的排列方式,因为是环,所以可以固定一个,剩下的8个进行全排列。 对于每一个全排列,会产生n个位置供yang放置,如果某位置放置某yang不会使该yang褪色,则该位置向该yang连边。 然后跑一次二分图最大匹配,即可得到在yin这样的排列方式下,最 阅读全文
posted @ 2016-07-21 22:23 Fighting_Heart 阅读(301) 评论(0) 推荐(0)
摘要: 因为一行最多只有20个数,也就是说只有(1<<20)种状态,向右移动表示小的数推向了大的数。可以用SG函数预处理出所有情况。然后把每一行的SG函数值异或一下,非零则必胜,否则输。 阅读全文
posted @ 2016-07-21 22:20 Fighting_Heart 阅读(282) 评论(0) 推荐(0)
摘要: 对于第一问:无修改的查询区间GCD,可以采用RMQ倍增的思想。 第二问:可以预处理。暴力枚举左端点L。GCD从左到右是递减的,并且肯定是有一些段是一样的值,值的种类最多只有log(1000, 000, 000)种,因此可以二分确定每一段的范围。然后用map统计一下即可。 阅读全文
posted @ 2016-07-21 22:18 Fighting_Heart 阅读(256) 评论(0) 推荐(0)
摘要: 题目说每条边权值都不一样,说明最小生成树是唯一的,不存在最小期望这一说。 然后就是先求出最小生成树,随便确定一个根节点,计算出每个点的子树有多少节点,记为c[x]。 指向x的这条边被统计的次数为c[x]*(n-c[x])。然后基本就可以算出答案了。 阅读全文
posted @ 2016-07-21 22:14 Fighting_Heart 阅读(209) 评论(0) 推荐(1)