上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 67 下一页
摘要: 水题~ const int N=25; char g[N][N]; bool vis[N][N]; int n,m; PII st; bool check(int x,int y) { return x>=0 && x<n && y>=0 && y<m; } int bfs() { queue<PI 阅读全文
posted @ 2020-12-19 20:32 Dazzling! 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 由于边权有$1$和$2$两种情况,所以就不能用裸的$BFS$了,改成优先队列$BFS$(其实就是$dijkstra$)。 const int N=210; struct Node { int dis; int x,y; bool operator>(const Node &W) const { re 阅读全文
posted @ 2020-12-19 15:05 Dazzling! 阅读(44) 评论(0) 推荐(0) 编辑
摘要: $flood-fill$裸题 \(DFS\) const int N=110; char g[N][N]; bool vis[N][N]; int n,m; bool check(int x,int y) { return x>=0 && x<n && y>=0 && y<m; } void dfs 阅读全文
posted @ 2020-12-18 22:50 Dazzling! 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 简单回溯法 注意:回溯法搜索全空间可不清vis数组 const int N=25; int a[N]; bool vis[N]; int n; bool isprime(int x) { for(int i=2;i*i<=x;i++) if(x % i == 0) return false; ret 阅读全文
posted @ 2020-12-18 22:35 Dazzling! 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 读题$→$$BFS$裸题,信心满满交了一发$→$$\color$ const int N=10; char g[N][N]; int dist[N][N]; int n,m,tim; PII st,ed; bool check(int x,int y) { return x>=0 && x<n && 阅读全文
posted @ 2020-12-17 12:43 Dazzling! 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 水题~ int cmp(double a,double b) { if(fabs(a-b) < eps) return 0; return a>b?1:-1; } int main() { double x; while(~scanf("%lf",&x)) { if(!cmp(x,0)) break 阅读全文
posted @ 2020-12-17 10:53 Dazzling! 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 一般情况下,动态规划的解题步骤是: 第一步:根据原问题和子问题来确定状态(我的dp数组要表示什么东西) 第二步:根据状态确定状态转移方程(递推式,怎样求解dp数组) 第三步:确定要不要优化和编程实现方式 (其实可以这样理解——第一步是确定“我是谁,我在哪”,第二步是确定“我从哪里来”或者“我到哪里去 阅读全文
posted @ 2020-12-16 16:13 Dazzling! 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 状态表示:\(f(i,j)\):从下标$i$合并到下标$j$的最大价值。 先看石子合并($n$堆石子): $$1,2,...,n$$ $f(1,n)$即为答案。 再看环形: 最后的答案为:$f(1,n)(f(n,1)和f(1,n)结果相同),f(2,1),f(3,2),...,$中的最小值。 我们当 阅读全文
posted @ 2020-12-16 10:08 Dazzling! 阅读(106) 评论(0) 推荐(0) 编辑
摘要: $0-1$背包裸题 const int N=110,M=1010; int f[M]; int n,m; int main() { cin>>m>>n; for(int i=1;i<=n;i++) { int v,w; cin>>v>>w; for(int j=m;j>=v;j--) f[j]=ma 阅读全文
posted @ 2020-12-15 21:13 Dazzling! 阅读(112) 评论(0) 推荐(0) 编辑
摘要: $LIS$简单变形。 状态表示: \(l[i]\):$1~i$的最长上升子序列长度 \(r[i]\):$i~n$的最长下降子序列长度 注意最后是输出出列的人数=_=。 const int N=110; int a[N]; int l[N],r[N]; int n; int main() { cin> 阅读全文
posted @ 2020-12-15 21:03 Dazzling! 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 67 下一页