上一页 1 ··· 4 5 6 7 8 9 10 11 下一页
摘要: 简单的dfs从1节点开始往下深搜,然后回溯记录路径 #include<bits/stdc++.h> using namespace std; const int N=1e4+10; vector<int>a[N]; int n,m; vector<int>p; void dfs(int x,int 阅读全文
posted @ 2023-12-01 13:45 yufan1102 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 从一个点开始,每次都找与这个点最近的点,近队列,直到队列为空,是关于点的算法,时间复杂度为nlog(n) 模板: #define int long long using namespace std; const int N=9e5+10; int n,m; vector<pair<int,int>> 阅读全文
posted @ 2023-11-30 22:15 yufan1102 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 平衡字符串的性质 将左括号看出1,右括号看成-1 (1)最后加起来是0 (2)中间一直要是正数 所以代码如下 using namespace std; int n; int dx[2]={1,-1}; int ans=0; void dfs(int cur,int x){ if(x<0)return 阅读全文
posted @ 2023-11-29 22:15 yufan1102 阅读(5) 评论(0) 推荐(0) 编辑
摘要: next_permutation全排列公式 数据不大,直接暴力全排列模拟出数据即可 using namespace std; int p[9]={1,2,3,4,5,6,7,8,9}; int main(){ int a,b,c; cin>>a>>b>>c; int cnt=0; do{ int x 阅读全文
posted @ 2023-11-29 22:09 yufan1102 阅读(2) 评论(0) 推荐(0) 编辑
摘要: dfs深搜就行,搜到就结束,然后用一个数组来记录路径,重点是回溯 using namespace std; int sum=0; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; int vis[20][20]; char mp[20][20]; char an 阅读全文
posted @ 2023-11-29 21:56 yufan1102 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 每次都找最小的边,一直到n-1个边为止,是关于边的算法,时间复杂度为mlog(m) using namespace std; const int N=5e5+10; struct edge{ int u,v,w; }edge[N]; int fa[N]; int ans=0; int cnt=0; 阅读全文
posted @ 2023-11-29 21:54 yufan1102 阅读(7) 评论(0) 推荐(0) 编辑
摘要: B - Minimize Abs 1 思维题 题意:给定一个范围,你选择一个数,使得 思路:如果A[i]在l,r中间,那么直接打印就行,如果不是就打印就近的 using namespace std; void solve(){ int n,l,r; cin>>n>>l>>r; for(int i=1 阅读全文
posted @ 2023-11-27 14:58 yufan1102 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 2023 11 27 A. Cover in Water 题意是:有一片坑,可以进行两个操作,一个是在一个坑里倒水,一个是把水到在另一个坑里,如果一个坑的左右两边都有水,那么这个坑也会有水 思路:想想发现,只要有三个连续的坑,那么所有的坑都可以被填上,如果没有就只能一个一个的填。 using nam 阅读全文
posted @ 2023-11-27 14:54 yufan1102 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 2023 11 27 A. Jagged Swaps 题意是:给你一个数组进行无数次的操作 问你能不能单调 思路:通过观察发现进行操作大的一定会被放在后面,所以一定会单调,但是操作是从2开始的,所以下表1的地方一定要是1 using namespace std; int a[20]; void so 阅读全文
posted @ 2023-11-27 14:43 yufan1102 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 题意是:给定一个长度为 N 的数列,和 M 次询问,求出每一次询问的区间内数字的最大值。 ST表的基本功能是对区间进行查询,其核心使用的是倍增的思想 f[i][k]:意思是从第i个数开始往后2^k个数 f[i][k]=max(f[i][k-1],f[i+2^k-1][k-1]) 求【l,r】区间 m 阅读全文
posted @ 2023-11-26 21:37 yufan1102 阅读(6) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 下一页