摘要: 戳这里看原题 这道题目一看就是要求在每个数前面的一段前缀中的前驱和后继。 很直白地就会想到二叉平衡树。 对于每一天的最小波动值只需要在二叉平衡树中插入节点的时候记录前驱和后继就可以很方便地算出来了。 所以总的来说,这道题就是一道模板题 先贴上treap的板子吧。。 1 //treap 2 #incl 阅读全文
posted @ 2018-01-31 22:41 CYJian 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 戳这里看原题 明显的dp。。 dp[i]表示摆i盆花的方案数。 容易得到:dp[i]=(dp[i-1]+dp[i-2]+...+dp[i-a[j]])%mod 边界条件:dp[0]=1. 但是要注意在求和时判断数组下标的下限。 1 #include <bits/stdc++.h> 2 using n 阅读全文
posted @ 2018-01-31 22:10 CYJian 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 戳这里看原题 主要思路: 这道题一眼看过去就可以贪心。。 首先可以按L排序。。 显然排序之后我们就可以抛开L不管了。。 然后就可以愉快的贪心了。。 细节: 这道题可以看成用 最少的合法序列(详见原题) 装下所有木棍。。 可以考虑用一种数据结构来记录序列最末端的木棍。。 可以考虑先按上述思路排序, 然 阅读全文
posted @ 2018-01-31 21:45 CYJian 阅读(222) 评论(0) 推荐(0) 编辑