摘要: $n \leq 10000$的不同数字,问能组成的最长等差数列。 $f(i,j)$--$i,j$结尾的最长等差数列。枚举中间$i$,往左右扩展,找$j,k$,用$f(j,i)$来更新$f(i,k)$。 $n \leq 100000$的暂时不会。 1 //#include<iostream> 2 #i 阅读全文
posted @ 2018-06-11 21:33 Blue233333 阅读(237) 评论(0) 推荐(0) 编辑
摘要: $n \leq 100000$的树支持$m \leq 100000$个操作:每个点有两个权值$a$和$b$,一,链加;二,链上$b_i+=a_i*d$,问最后所有的$b_i$。 这个题我在看到之前有想过链上的情况,当时以为标记是O(1)下传的就没细想。现在看来需要一些特殊技巧。首先链剖加线段树。 方 阅读全文
posted @ 2018-06-11 20:53 Blue233333 阅读(179) 评论(0) 推荐(0) 编辑
摘要: $n \leq 50000$的序列,问选不超过$m \leq 50000$个区间使得和最大。 如果正数区间总数比$m$小那肯定全选。否则有两种方式减少区间数量:丢掉一个正区间;补一个负区间连接两个正区间。贪心即可。 先把左右端的负数去掉,然后把正区间和负区间处理出来。优先队列维护区间值,然后开个链表 阅读全文
posted @ 2018-06-11 13:35 Blue233333 阅读(238) 评论(0) 推荐(0) 编辑