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