1:给定数组a[n],以及q次查询(l,r),输出al - a(l+1) - a(l+2) ... a(r-1) - ar的值2:给定一排多米诺骨牌,每次可以选择一个位置和一个方向(左或右)进行推倒,如果相邻骨牌比当前的数值小就会被推倒,并继续向该方向传播,直到遇到不小的骨牌为止。问最少需要多少次操作才能将所有骨牌都推倒3: 给一段长度为len的绳子,并分成n份,以及一个数组a[n],a[i]>=3表示需要将这小段绳子围成a[i]边形,-1表示随意,问这n个图形里面积最小的最大是多少1 : 前缀和,al - a(l+1) - a(l+2) ... a(r-1) - ar = al - [a(l+1) + a(l+2) ... a(r-1) + ar]2 : 从一端开始遍历,从当前位置开始找最长的连续递增的且长度大于2的一段,能找到ans++,否则尝试递减的,能找到ans++,否则当前位置只能推倒自己,ans++,然后继续找下一段3 :二分最大面积,每次求n个图形都围成mid所需要的最短绳子总长与len比较,多边形就用正多边形,-1用圆形