HDU6627 equation(分段函数求值)
题目链接
题意:
两个长度为n的数组a和b和一个正整数C,计算有多少个x满足:
n∑i=1|ai⋅x+bi|=C思路:
该函数为分段函数,每段的转折点为−biai,先把转折点排序,计最开始的函数值为x⋅suma+sumb,每过一段,就会有一个|ai⋅x+bi|由ai⋅x+bi变为−ai⋅x−bi,那么suma−2⋅ai,sumb变为sumb−2⋅bi。每段函数都是线性的,大力枚举计算即可。然后对答案进行排序(博主忘记排序结果Wa到爆炸)。
代码:
1 |
|