二分
取竹
Hai capito?
展开
-
[bzoj] 1082: [SCOI2005]栅栏
预处理掉无用状态,二分查找可以切出多少木板。dfs搜索可行性,加上剪枝优化。#include #include using namespace std;int n,m,tot,ans,l,r,mid;int a[55],b[1005],sl[1005],bl[1005];bool f;long long sum;void dfs(int ak,int bk,int w){原创 2017-05-23 21:16:57 · 281 阅读 · 0 评论 -
[bzoj]1046: [HAOI2007]上升序列
题目要求我们求出以每个数开头的最长上升序列,那么我们就倒着做最长下降序列。best[i]数组记录以i开头的最长上升序列的最大值。处理时记得是位置的字典序。#include using namespace std;const int N=100005;int n,cnt,m;int a[N],f[N],best[N];inline int find(int x){ int原创 2017-06-29 21:36:32 · 219 阅读 · 0 评论 -
[bzoj]4590: [Shoi2015]自动刷题机
二分答案,暴力验证。找到一个最小满足的值与一个最大满足的值。记得最后判断二分的是否正确。#include #include #define ll long longusing namespace std;int n,k;ll w[100005];ll sum,x,y;inline ll pd(ll x){ register int i; ll now=0,ret=0;原创 2017-07-06 21:43:36 · 379 阅读 · 2 评论