摘要: [TJOI2019]甲苯先生的滚榜 ~~又双叒叕来水博客了~~ 几乎就是一个板子,虽然有两个关键字,但是实际上可以压成一个。 k=a*mo-b 其中a为过题数,b为罚时,mo=2e6,因为b<1.5e6。所以我们可以用这样一个二元组来表示。 虽然说相同的二元组可以对应不同的人,但实际上是谁不重要,重 阅读全文
posted @ 2023-04-28 20:40 gan_coder 阅读(22) 评论(0) 推荐(0)
摘要: ~~又来水博客了~~ [SDOI2016]征途 推一下柿子就会发现,我们要求最小值的部分是将整个序列分为来m段,然后每段和的平方相加最小。 $f[i][j]=f[k][j-1]+(s[i]-s[k])^2$,然后用滚动数组优化一下。 $g[i]=f[k]+s[i]^2-2s[i]s[k]+s[k]^ 阅读全文
posted @ 2023-04-28 17:17 gan_coder 阅读(27) 评论(0) 推荐(0)
摘要: [HNOI2008]玩具装箱 斜率优化入门题 显然有 $f[i]=\min{f[j]+(s[i]-s[j]+i-j-1-l)^2}$ 拆开可得 $f[j]+(s[j]+j)^2=f[i]+2(s[i]+i-1-l)(s[j]+j)$ 那么我们可以将决策看作是($s[j]+j$,$f[j]+(s[j] 阅读全文
posted @ 2023-04-28 16:07 gan_coder 阅读(73) 评论(0) 推荐(0)
摘要: 总体思路其实跟用线段树维护区间最大字段和差不多,不过唯一麻烦的地方在于要算上自己。 然后我们可以开一个队列来回收那些被delete的点,这样可以节省空间,特别需要注意的是release的时候,标记什么的一定记得清空。 本来insert我是直接一个个merge的,这样就会导致特别慢,因此我们可以借助笛 阅读全文
posted @ 2023-04-28 13:09 gan_coder 阅读(27) 评论(0) 推荐(0)