[补题]暑期集训day7_GYM101845

版权声明:欢迎转载评论 https://blog.csdn.net/m0_37809890/article/details/81914898

来源 2018 ACM-ICPC, Universidad Nacional de Colombia Programming Contest
队友太强了orz

A - Apple Trees

0时刻有一个0岁的皮皮,每个皮皮会在10,20,30,40岁时分别生下16,9,4,1个皮皮,每个皮皮会在45岁死亡。问第T年有几个皮皮。

可以将皮皮分为5种:0到9岁,10到19岁,20到29岁,30到39岁,40到50岁。
然后就可以写出今年到10年后的转移矩阵,使用矩阵快速幂可以求解。
因为皮皮的繁衍只会在整十年进行,所以所有皮皮的年龄个位数都是一样的,即如果 T % 10 >= 5 ,则不用计算40岁以上的皮皮。

总结:
想法到位,但是矩阵快速幂写起来很不熟练。
将皮皮分成5段而不是10段很有效。

B - Binary Strings

给定两个长度相同的零一串,要求使用两种操作将串A变为串B:1.把尾部数字拿到头部,2.flip两个相邻的数字。问最少使用几次操作2,无解输出-1.

D - Divorce

给定一个坐标纸上的凸多边形,有m条经过两个顶点的直线都可以将它分为两部分,求哪种分法使得较小部分的面积最大。

I - Intense Bit Wheel

将一个数表示为2进制后,在n个二进制位里循环左移m位,输出结果。

L - L-shapes

用L形状将n*n的网格填满,n为2的幂次且网格之中已有一个格子被填充,输出方案。

猜你喜欢

转载自blog.csdn.net/m0_37809890/article/details/81914898