摘要:
hdu 4655题意:给一个序列,每个位置可以涂1~ai种颜色,连续不相同的颜色为一段,对于一个排列,所有的涂色方法产生的段数为S,求最大的S;分析:对于一个排序,所有的段数为n*{a1*a2*...*an} - (相邻两个位置涂相同颜色的个数S);怎么计算相邻两个位置涂相同颜色的个数S?p[i]表示前缀积,即p[i] = a1*a2*..*ai;q[i]表示后缀积,即q[i] = ai*...*an;S =sum( p[i-1]*q[i+2]*min(ai,ai+1) ) (0 2 #include 3 #include 4 #include 5 #include 6 #include 7 阅读全文
posted @ 2013-08-09 10:57
Rabbit_hair
阅读(244)
评论(0)
推荐(0)

浙公网安备 33010602011771号