摘要: 字符串 (doing) KMP (√) "[HNOI2008]GT考试" AC自动机 (√) "[TJOI2013]单词" "[POI2000]病毒" "[JSOI2007]文本生成器" "[USACO12JAN]视频游戏的连击Video Game Combos" 后缀自动机 (√) "[TJOI2 阅读全文
posted @ 2019-01-26 16:28 Qihoo360 阅读(187) 评论(1) 推荐(0) 编辑
摘要: "题目链接" 易得第$i$关的最小攻击力为$\max_{j=1}^i\frac{sum[i] sum[j 1]}{x+d (i j)}$ 十分像一个斜率式,于是看作一个点$P(x+d i,sum[i])$和点$Q(d j,sum[j 1])$的斜率 于是就是求当前$i$的点$P$和之前的所有点$Q$ 阅读全文
posted @ 2019-01-26 14:59 Qihoo360 阅读(148) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 斜率优化总结待补,请催更。~~不催更不补~~ $$f[i]=f[j]+a (sum[i] sum[j])^2+b (sum[i] sum[j])+c$$ $$=f[j]+a sum[i]^2+a sum[j]^2 2a sum[i] sum[j]+b sum[i] b sum[j]+c 阅读全文
posted @ 2019-01-26 14:19 Qihoo360 阅读(157) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 把线段以斜率为第一关键字,截距为第二关键字升序排序。 然后维护一个单调栈,保证栈中两两线段的交点的$x$坐标单调上升就行了。栈中的线段即为所求。 cpp include include using namespace std; const int MAXN = 50010; struc 阅读全文
posted @ 2019-01-26 09:15 Qihoo360 阅读(150) 评论(0) 推荐(0) 编辑
You're powerful!