USACO 乱做
USACO22JAN] Minimizing Haybales P
就是考虑新加入点 \(i\) 之后, \(i\) 要插在哪里。首先一定是 \(i\) 尽可能需要放到前面的东西的字典序比它小的位置上,然后。然后考虑需要找到一段区间使得能插进去,就是这段区间的元素都 \([x-h,x+h]\)。
这个用平衡树维护就行。
[USACO22JAN] Counting Haybales P
好玩。
首先,如果奇偶性相同,那就相对位置一定不变。
如果奇偶性不同,才需要考虑大小。
所以设 \(f_{i,j}\) 表示放了 \(i\) 个奇数,\(j\) 个偶数,对于每个数找到最近的不能交换的奇偶性不同的数,然后如果当前状态符合限制才进行转移。
[USACO21OPEN] Balanced Subsets P
这个说来说去,意思就是选出的东西是矩形扣掉四个角。
设 \(f_{i,l,r,0/1,0/1}\) 表示到第 \(i\) 行,从 \(l\) 到 \(r\),当前矩形左侧正在增加或减少,右侧正在增加或减少的方案数。
直接转移是不行的,然后考虑把 \(l,r\) 看成二维的坐标,然后需要的时候就做二维前缀和。
[USACO21OPEN] United Cows of Farmer John P
弱化版就是 HH 的项链,
和那个题一样,枚举右端点,考虑什么样的左端点可行。
这个就是加了一个中间点可不可行。
然后考虑中间点会限制从自己到上一个的位置的所有元素的贡献。
所以线段树维护的是区间加减,单点加减,但是这两个是分开的,总的是相乘的关系。
注意一个点可能被贡献多次。
[USACO17DEC]A Pie for a Pie G
考虑对于 \(2n\) 个点,前 \(n\) 个代表甲的,后 \(n\) 个代表乙的。
从一个集合里的点向另外一个集合里的点连边,含义为如果我送出这个派,那么意味着我需要收到什么样的派。
最后由终止的派开始跑最短路,如果到一个点能跑到就说明这个点是可行的。
然后由于一个点开始要连好多点,所以排个序线段树优化建图。
[USACO21JAN] Paint by Letters P
就是平面图欧拉定理。
把所有相邻的相同的点链上边,然后算联通块。边数和点数好求,但是区域数不好求。
首先预处理我居然想了半天。其实画一下就能想明白的。
然后就是在每个区域上记一个 tag,求的时候直接求区域里面有多少个 tag,然后就是需要判边界上有多少个 tag 在区域里面的,如果在的话,就说明这个是无界域,需要减掉。
[USACO20JAN]Springboards G
我是垃圾。
我是垃圾。
我是垃圾。
我是垃圾。
就是排一维序,然后直接树状数组就行了。
后记
你急啥,你急也没用,你先别急让我先急。我喵喵喵去年联赛打了15分都没退役,你退什么退役。
喵。
喵。
红太阳是神。
喵。
陷入沉睡的牢笼,
梦醒以后喧闹依旧。
站在夜色上空,
像置身事外的钟。
转瞬停止,将信封握在手中,
未来某一天也许会有人能读懂。
月光消失了不见,
黑夜踏上了离别,
下一刻预言,光明会耀眼。
请让我留恋,
明天第一束光线
天亮之前,与你笑着再见。

浙公网安备 33010602011771号