摘要: 题前废话: 然后树状数组也是用来维护前缀和的一种数据结构,对于树状数组,修改与求和都是O(nlogn)的,还是很nice的; 基本思想: 首先我们知道,对于任何一个数i,都可以分解成几个不同(指x的值不同)的2^x,那么对于一段区间[1,n],我们可以按照n的二进制分解将这个大区间分成几个小区间: 阅读全文
posted @ 2019-07-03 19:57 Sweetness 阅读(208) 评论(0) 推荐(0)
摘要: 子矩阵【题目链接】 然后这是一道非常暴力的题,首先是直接dfs的暴力操作: 因为同时枚举行和列不好枚举,所以我们可以先枚举行,当行枚举完了,再枚举列。然后都枚举完了,就可以按照题目要求算一下,然后比较算到的答案与当前值的大小,保留较小的那一个。 CODE: 亲测不加-o2 55pts,加了-o2 7 阅读全文
posted @ 2019-07-03 18:34 Sweetness 阅读(268) 评论(0) 推荐(0)
摘要: 推销员【题目链接】 好了为了凑字数先把题目复制一下: 好了题解第一篇正解: 首先输入,莫得什么好说的: 然后是思路: 对于每一个x,我们有两种选择: ①选择前x个a值最大的; ②选择前x-1个a值最大的,再在x~n中选择一个s[i]*2+a[i]最大的。 先按照a从大到小排序; 然后数组q[i]记录 阅读全文
posted @ 2019-07-03 09:50 Sweetness 阅读(186) 评论(0) 推荐(0)