6/29~9/26 做题总结 HDOJ篇

1178  Heritage from father

强大的矩阵乘法

Ai=∑j

Si=∑Aj

就是等差数列求和再求和

构造矩阵乘法:

(Ai  S(i-1)  i  1)M=(A(i+1)  Si  i+1   1)

其中M=

1 1 0 0

0 1 0 0

1 0 1 0

1 0 1 1

然后二分快速求幂

 

HDOJ2009暑期集训公开赛(9)-非原创

A 跟整除,同余有关...zxz写的

E lb想出来的,记录"波峰"和"波谷",模拟的时候-1/+1

G 线性递推,矩阵乘法....lb写的TLE得厉害

I  还是同余....zxz写的

很囧的比赛....数学味浓

 

HDOJ2009暑期集训公开赛(13)-非原创

1002  Sudoku  套DLX的模板过的

1003  Planet Alignment  题目描述有问题.....zxz写的,实际上有0的情况

1004  Sum of Cubes  给的图就是误导...实际x可以取负数,枚举

1005  Bold ASCII Lines  水题,模拟

1006  Cover the Square  zxz说画图猜想.....据说标程是二分得出来的,还需研究

1007  Bus Schedules  SSSP,刚开始还想拆点,实际直接满足最优性,边权要边Dijkstra边算,人手不足没时间写了

1008  Fibonacci Number  写的吐血....210+行...后4位用矩阵乘法%10000...

前4位原来用通项直接做,发现超过14xx double就爆掉了,只能再用一次矩阵乘法.....

看标程有简单的方法,设x=log10((sqrt5+1)/2/sqrt5),把x表示成a+b的形式,其中a是整数部分,b是小数部分,则x^a就是末尾0的个数,没用

直接1000*(10^b)就把前4位弄出来了,很好很强大

你可能感兴趣的:(6/29~9/26 做题总结 HDOJ篇)