会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hz_Rockstar
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
6
下一页
[置顶]
C++STL手写版
摘要: 手写STL,卡常专用。 node为变量类型,可以自由定义,以下不再赘述。 1、stack(栈) 开一个数组,和一个top指针,压栈时++,弹栈时--即可。 2、queue(循环队列) 用两个指针,记录队头和队尾,达到两端时特判即可。 3、deque(双端队列) 和队列类似。 4、priority_q
阅读全文
posted @ 2019-10-09 19:45 hz_Rockstar
阅读(994)
评论(2)
推荐(9)
2021年9月12日
史上最快平衡树——红黑树
摘要: 红黑树是一种二叉搜索树,单次操作复杂度上限$logn$,效率极高,基本用指针实现。 为了减小常数,红黑树的操作全部非递归实现。 下面系统介绍一下红黑树,包括复杂度的证明和基本操作。 1、红黑树的结构: 红黑树是二叉搜索树,满足BST性质,左儿子数值都小于当前节点,右儿子数值都大于当前节点,中序遍历单
阅读全文
posted @ 2021-09-12 15:12 hz_Rockstar
阅读(838)
评论(2)
推荐(3)
2019年12月2日
CSP-S2019退役记/爆内存记
摘要: DAY 0 准备出发。 出发前教练说遇到事不慌,打电话,又听教练说了说历年赶车经历。 然后这趟路上居然没有什么大事。 在车上有些闲,于是就和其他人聊了会天,聊着聊着没意思,就用手机翻博客园。 这样就不用现场打印东西拿着了嘛。 中午到站吃饭,凭借直觉感觉二楼人超多,就在一楼买了份KFC,待回他们都下来
阅读全文
posted @ 2019-12-02 21:42 hz_Rockstar
阅读(476)
评论(0)
推荐(9)
2019年11月11日
模拟测试109
摘要: T1: 设$dp[i][j]$表示考虑到第$i$层,到每个点路径的奇偶性状态为$j$的方案数。 但是转移是O(k^2)的。 把每个点的出边集合压成一个二进制数,可以将转移复杂度优化到$O(k)$。 还可以进一步优化。 预处理出$f[i][j][0/1]$表示在第$i$层,状态为$j$时,边是否取反的
阅读全文
posted @ 2019-11-11 10:42 hz_Rockstar
阅读(155)
评论(0)
推荐(2)
模拟测试108
摘要: T1: 答案为$\frac{\sum \limits_{i=1}^n abs(a_i-a_{ans})}{2^k}$。 因为每次两个CPU一定选择不同的方案。 时间复杂度$O(n)$。 T2: 路径一定由左括号,中间一段和右括号组成。 左右括号可以用hash匹配。 中间一段的方案可以DP求出。 设$
阅读全文
posted @ 2019-11-11 10:19 hz_Rockstar
阅读(169)
评论(0)
推荐(3)
模拟测试107
摘要: T1: 枚举中心所在位置,每次贪心找到左右最近的一个相同字符移动。 可以用单调指针扫。 时间复杂度$O(n^2)$。 T2: 两个数的乘积为平方数,那么这两个数各自去掉平方因子后相等。 去掉平方因子后可以用map统计答案。 对于普通的$O(\sqrt{p})$试除法,复杂度不允许,就算将所有的质数筛
阅读全文
posted @ 2019-11-11 09:43 hz_Rockstar
阅读(210)
评论(0)
推荐(1)
2019年11月9日
模拟测试106
摘要: T1: 断环成链并复制一倍,然后区间DP。 设状态为合并区间$[l,r]$的最大得分。 时间复杂度$O(n^3)$。 T2: 最后一次向上爬不会滑下来,于是可以枚举最后一次吃的药丸。 将所有药丸按照$A-B$排序,每次贪心地选择最大的几个值,二分出到达的天数。 还需要判断中间高度是否严格大于$C$,
阅读全文
posted @ 2019-11-09 10:14 hz_Rockstar
阅读(106)
评论(0)
推荐(0)
2019年10月31日
模拟测试95
摘要: T1: 求$\sum \limits_{i=0}^p \lfloor \frac{iq}{p} \rfloor$的值。 发现从0枚举很鸡肋。 \begin{array}{ll} 2ans &=& 2\sum \limits_{i=1}^p \lfloor \frac{iq}{p} \rfloor \
阅读全文
posted @ 2019-10-31 15:40 hz_Rockstar
阅读(237)
评论(1)
推荐(0)
模拟测试94
摘要: T1: 高精度复杂度不允许,但是我们只关注相对大小,所以可以对答案取对数。 $lg(X^Y)=YlgX$ $lg(Y!)=\sum \limits_{i=1}^Y lgi$ 直接比较即可。 时间复杂度$O(n)$。 T2: 考虑对序列进行差分。 差分后区间加减转化为对相距$k$的两个数同时加上两个相
阅读全文
posted @ 2019-10-31 15:10 hz_Rockstar
阅读(194)
评论(1)
推荐(1)
2019年10月30日
模拟测试93
摘要: T1: 将序列求前缀和,题意转化为对于位置$i$和$j$,满足$i<j$,$a_i<a_j$并且$b_i<b_j$,最大化$j-i+1$的值。 典型的三维偏需,可以CDQ做。 更好的做法是按一维排序,然后用数状数组维护。 时间复杂度$O(nlogn)$。 T2: 每次可以选择一个根,将左右子树接上,
阅读全文
posted @ 2019-10-30 21:40 hz_Rockstar
阅读(359)
评论(0)
推荐(0)
2019年10月29日
模拟测试92
摘要: T1: 显然每个数是独立的。 无解情况的判定用裴蜀定理即可 用$ex_gcd$求出一组特解,对于每个数,只需要求出使$|x|+|y|$最小的一组解即可。 最优解一定取在$x$或$y$接近$0$时,取个$min$即为答案。 时间复杂度$O(n)$。 T2: 根据贪心思想。 考虑两个数对$(a_i,b_
阅读全文
posted @ 2019-10-29 17:24 hz_Rockstar
阅读(145)
评论(0)
推荐(0)
1
2
3
4
5
6
下一页
公告