随笔分类 -  板刷算法进阶指南

摘要:二分: while(l<r) { int mid=(l+r)/2; if(符合条件) r=mid; else l=mid+1; } 固定下二分的写法: 终止条件:l==r; 取mid=(l+r)/2; if(mid符合条件) r=mid; else l=mid+1; 也就是说这里把mid左边. 二分 阅读全文
posted @ 2019-05-11 16:02 逆天峰 阅读(467) 评论(0) 推荐(0) 编辑
摘要:指数级枚举:1到n任意选取的所有方案数: #include<bits/stdc++.h> using namespace std; int n,a[1100],vis[1100],cnt,m; inline void dfs(int x) { if(x==n) { for(int i=1;i<=n; 阅读全文
posted @ 2019-05-09 13:38 逆天峰 阅读(494) 评论(0) 推荐(0) 编辑
摘要:#include<bits/stdc++.h> using namespace std; int n,a[10][10],vis[10],ans,b[10][10]; inline int read() { int x=0,ff=1; char ch=getchar(); while(!isdigi 阅读全文
posted @ 2019-05-04 13:27 逆天峰 阅读(495) 评论(0) 推荐(0) 编辑

作者:逆天峰
出处:https://www.cnblogs.com/gcfer//