总之被刷 了- -。。
第一题。
二分答案。。、重新构造序列,比这个数大的当做1,比他小的当做-1,相等的当做0,用单调队列求出一个最大子序列,
当大于0的时候(比赛的时候我是用大于-1.这样只有30分。。。。。我觉得应该是大于-1,比如4 , 6 , 6的情况。。中位数为6情况。这段序列的应该是-1,非常囧。。是我理解有问题还是数据有问题)当大于0 的时候。。说明有更大的数可以当做某段的中位数
第二题。
四个线段树弄一下 - -考试时候因为数组一个开反了。。全部re - -。。后来改了 只有 30分- -其余都tle。。囧。。用pascal会tle。。用c才ac了 = =|太囧了。。。我在本地时限开两秒用pascal总共11.64.。我的c++10.84.。标称10.16= =囧。。pascal就是超时了囧
第三题。比赛时没想出来
赛后才搞清楚
这题我们把它全部取log。这样就变化成为了 给每行加数。列减去数。。使得满足条件
那么对于一个数
就是
Ai(行加的数)
Bj(列加的数)
l<=g[i,j]+ai-bj<=r
那么ai-bj<=r bj-ai<=-l 这样我们可以想到差分约束系统。。这样构图求最短路就可以了 bellmanford直接判断负环
第四题,由于没有题解+能力有限 = 不会做。。求正解求指教。。
第一题
第二题
第三题