摘要:
地址: http://cdqz.openjudge.cn/ds/ Challenge 0 给一个长为 \(n\) 的数列,有 \(M\) 次操作 \((1\le n, m \le 10^5)\),每次操作是以下两种之一: 修改数列中的一个数 求数列中某位置的值 解答:数组模拟即可。时间复杂度 \(O 阅读全文
摘要:
值得一想的题。对于整个序列,我们发现一开始根本无法下手,只能询问整个序列,得到一个答案 \(x\) 。 现在在 \(x\) 的左边尝试询问即 \([1,x]\)。假如次大值还是 \(x\) ,那么易证最大值就在区间 \([1,x-1]\) 里(即 \(\text{ans}<x\));假如次大值不是 阅读全文
摘要:
今天做的第三道二分的题目。这次是在实数域上二分,犯了很多不必要的错误www 在实数域上二分要预先确定好精度 \(eps\) 。在这道题上,\(eps\le 10^{-5}\) 比较保险。 我们还是考虑二分答案。对于每一个二分到的答案,我们这样判定合法性: 若设备已有的能量可以满足目前答案需要,忽略该 阅读全文
摘要:
众所周知,我刚刚学了二分。于是决定学以致用。看到一道往年省选,我就动了杀心。于是切了。 由于它的标签是二分,所以我就二分了。观察发现,道路的空旷指数是有序的,所以对这个域二分。很明显,你需要先把原有路标排序,然后才能判断是否放上新的路标。 然后就好做了。时间复杂度 \(O(n \log L)\) . 阅读全文
摘要:
第一次用二分来解题,感触很深。以前只是在猜数中用的二分,现在终于实践了呢。 思路也相当简单,以木材中长度最大者为右端点,以 \(0\) 为左端点。在这个值域内二分来寻找可能的最大值啊喂 kora。 时间复杂度 \(O(n \log k)\) ! #include <iostream> #includ 阅读全文
摘要:
学你妈,还有两天就要 CSP 了老子才开始复习 阅读全文
摘要:
学你妈 阅读全文
摘要:
这道题很谔谔。就一阅读理解呗。 本来是想状压DP的,结果懒了。事实上这就是一道组合数学。 题面人话翻译:有和为 $0$ 的 \(m\) 个数 \(a_i\sim a_m\),求 \(i\) 有多少种排列使得任意一个前缀和都大于等于 $0$ 。 不能这样直接算,给序列末尾加上一个 \(-1\) 然后求 阅读全文
摘要:
写这篇博文呢,主要还是为了准备集训队员交流,毕竟分块是我最喜欢的数据结构,所以我就试着写了一篇博文。 基本介绍: 分块是维护较为复杂的信息的,尤其是不满足区间可加性可减性的信息的重要工具。如果运用树状数组或线段树,代码也非常的麻烦和不直观,Debug 可以 Debug 一天。而分块是以一种“暴力”的 阅读全文
摘要:
阅读理解题,对于这种题建议在纸上模拟一下就很好读懂。 首先就是分析题意,发现快排不是稳定排序,所以每次都有排一遍。 考虑归并排序:直接运算符重载,双关键字排序,采用 STL 里面的 merge 函数,基本思想还是一致的,方便用于减少码量。 其余的归并时依靠 cmp 函数直接模拟一下就可以了。 阅读全文