摘要: http://noip.ybtoj.com.cn/contest/14/problem/1 虽然这道题是例题,但是它非常的经典。所以我决定写一写。 通常,求解”最大值最小“或”最小值最大“一类的问题,都会用到二分算法。但仅凭这一个条件无法确定使用二分算法,下面举几个栗子 1. (这是本题) 总的分组 阅读全文
posted @ 2020-08-04 15:57 Gold_stein 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 虽然这道题是一道例题,但是因为它用到了我不大熟悉的高精度算法,所以还是决定写一写。 至于证明过程相信无论是在书上,还是网上,聪明的你都已经知道了。 #include<bits/stdc++.h> using namespace std; const int N=1010; int n,mul[N*4 阅读全文
posted @ 2020-08-04 14:27 Gold_stein 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 看到数据范围,就想写一个线性复杂度的算法,一开始我是这样的: #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int n,a[N],ans,b[N]; int main() { scanf("%d",&n); for(i 阅读全文
posted @ 2020-08-04 10:49 Gold_stein 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 一开始想用一个堆来维护最大值,不仅调了半天而且还会TLE。。。 最后发现只要预处理最大值即可。 对于任何时刻的栈顶,只要尚未入栈的数当中没有比它大的,那么它就是最优的,否则需要继续入栈。 #include<bits/stdc++.h> using namespace std; const int N 阅读全文
posted @ 2020-08-04 10:20 Gold_stein 阅读(211) 评论(0) 推荐(0) 编辑
摘要: http://noip.ybtoj.com.cn/contest/12/problem/2 根据定义,我们可得,对任意两棵树,如果它们不会相互遮挡: #include<bits/stdc++.h> using namespace std; const int N=1e5+5,inf=0x3f3f3f 阅读全文
posted @ 2020-08-04 10:18 Gold_stein 阅读(310) 评论(0) 推荐(0) 编辑