上一页 1 2 3 4 5 6 7 ··· 18 下一页
摘要: map可以动态进行插入删除等操作,但其常数太高了。 如果只用一个有序数组来存储的话,那么可以提供更好的查询复杂度的常数,同时在构建的时候由于不需要保存额外的信息所以非常节约内存:需要小心的是这个map只能找到第一个重复的元素,如果需要进行覆盖操作的话,一般还是得使用BST去做。当然也可以get之后对 阅读全文
posted @ 2023-12-04 01:35 purinliang 阅读(33) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/contest/1854/problem/B 看了官方题解才大概懂的。 先设想一个前提,如果要求你最后开了恰好x张牌,并且x=n的,只是没有那么多牌开了,导致白白损失了开牌次数。 为了统一这一种情况,可以在牌堆后面补上若干个为值为0的虚拟的牌,和上面的问 阅读全文
posted @ 2023-07-30 03:50 purinliang 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 最近打了一次 Codeforces ,发现有很多小 bug 其实可以用随机数据 + assert 就能找出来的。而且也能验证一些猜想或者打表。每次都写这个东西太耗时间了。现在临时写一个后面慢慢完善。 ```cpp namespace RandomGenerator { const int MAXN 阅读全文
posted @ 2023-07-30 02:23 purinliang 阅读(22) 评论(0) 推荐(0) 编辑
摘要: **出处:** Educational Codeforces Round 152 **链接:** https://codeforces.com/problemset/problem/1849/E **题目大意:** TODO(先去看原题吧) **解题思路:** PS:这里的解题思路跟标准答案不太一样 阅读全文
posted @ 2023-07-28 05:19 purinliang 阅读(148) 评论(0) 推荐(0) 编辑
摘要: **出处:** Codeforces Round 887 **链接:** https://codeforces.com/problemset/problem/1852/B **题目大意:** 给定一个包含 $n$ 个非负整数的频次序列 $f$ 。 构造任意一个等长的整数序列 $b$ ,要求 ① $b 阅读全文
posted @ 2023-07-24 20:24 purinliang 阅读(199) 评论(0) 推荐(0) 编辑
摘要: **出处:** Codeforces Round 887 **链接:** https://codeforces.com/problemset/problem/1852/A **题目大意:** 给定一个包含 $n$ 个正整数的表示删除位置的严格升序序列 $p$ ,以及另外一个连续正整数的被删除的无穷序 阅读全文
posted @ 2023-07-24 19:17 purinliang 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 把一个数组的元素,从左到右插入笛卡尔树,可以用栈O(n)地构建出来。笛卡尔树上的节点满足堆的性质(小根堆就是一个节点小于其两个子节点的权值)。所以用这个方式扫描出的笛卡尔树,一棵子树就是对应一段连续的区间,而子树的根节点就是这段区间的最值(小根堆就是最小值)。 以最大矩形面积的小根堆为例: 从根节点 阅读全文
posted @ 2022-12-01 01:24 purinliang 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 手写二分在涉及负数的时候,处理得不好容易导致死循环,比如下面这个例子: 对于任意的 \(x_1<x_2\) ,若 \(check(x_1)\) 为真,则 \(check(x_2)\) 也为真(真区间在右边)时: ll findFirst (ll L, ll R) { while (L < R) { 阅读全文
posted @ 2022-03-18 00:08 purinliang 阅读(31) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-12-22 00:38 purinliang 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-12-21 00:45 purinliang 阅读(0) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页