04 2022 档案
摘要:领奖台数 题意:给定任意一个序列$a_1,\cdots, a_n$,其中没有重复元素。如果$i < j < k$ 且$a_j > a_i > a_k$,三个数字的大小关系就像运动会颁奖时的领奖台。于是我们称序列中满足该条件的三元组$(i,j,k)$的个数为序列的领奖台数。设计一个算法来计算序列的领奖
阅读全文
摘要:1552D_Array Differentiation 思维:联想到图 /* 题意:给定序列 a 问能否构造出 b 使得 a 中每个数都可由 b 中数作差得到 将b数组看成点权,a数组看成边权,ai = bj - bk => j~k间有向边边权为ai,把作差理解成一条有向边 那么即得到一个 n 点
阅读全文
摘要:Optimal Partition // dp + fenwick + 离散 + 前缀和 // 可以证明:对于最优划分,分数为0和负数的区间一定可以优化成长度只有1的子段 // 现在只考虑分数为正数的情况:f[i] = max{f[j] - j} + i; 则维护一棵Fenwick Tree即可 /
阅读全文
摘要:Reverse Sort Sum 法1:首先可得数组A中的1的总个数,对于$f(i,A)$,如果前$i$位有$x$个1,那么数组C的$[i - x + 1, i]$区间会+1,所以考虑反向操作,让区间-1,然后从后往前推(每次将Bi的贡献从Ci中删除),然后遍历到$C_i$时,如果大于0则$A_{i
阅读全文
摘要:381. O(1) 时间插入、删除和获取随机元素 - 允许重复 class RandomizedCollection { public: unordered_map<int,unordered_set<int>>hash; vector<int> nums; // 380基础上 哈希套哈希 Rand
阅读全文
摘要:380. O(1) 时间插入、删除和获取随机元素 class RandomizedSet { public: unordered_map<int,int>hash; vector<int>nums; // 使用哈希表支持O(1)插入删除 // 使用数组配合支持随机索引 RandomizedSet()
阅读全文
浙公网安备 33010602011771号