摘要: two pointers two pointers是算法编程中一种非常重要的思想,但是很少会有教材单独拿出来讲,其中一个原因是它更倾向于是一种编程技巧,而长得不太像是一个“算法”的模样。two pointers的思想十分简洁,但却提供了非常高的算法效率,下面就来一探究竟。 以一个例子引入:给定一个递 阅读全文
posted @ 2021-02-10 17:53 Dazzling! 阅读(28) 评论(0) 推荐(0) 编辑
摘要: sb读入!sb输出,不能输出空行! 找数组中的极值点。 const int N=210; int a[N]; int n; int main() { int T; while(cin>>T) { while(T--) { cin>>n; for(int i=0;i<n;i++) cin>>a[i]; 阅读全文
posted @ 2021-02-10 12:14 Dazzling! 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 二分的基础的用法是在单调序列或单调函数中进行查找。因此当问题的答案具有单调性时,就可以通过二分把求解转化为判定(根据复杂度理论,判定的难度小于求解),这使得二分的运用范围变得很广泛。进一步地, 我们还可以扩展到通过三分法去解决单峰函数的极值以及相关问题。 二分的实现方法多种多样,但是其细节之处确实需 阅读全文
posted @ 2021-02-10 10:33 Dazzling! 阅读(42) 评论(0) 推荐(0) 编辑