死于算法,生于算法
死于算法,生于算法
全部文章
分类
基础算法(10)
未归档(1)
题解(20)
归档
标签
去牛客网
登录
/
注册
死于算法,生于算法的博客
全部文章
(共31篇)
Surround the Trees
这道题是一道凸包模板题,但是这个模板着实有点数学化hh,这种题喜欢卡精度(我不会) 现在开始边代码边解释 #include<iostream> #include<cstring> #include<algorithm> #include<cstdio>...
2022-03-21
0
377
题解 | #可爱の星空#
解法一(dfs) 每两个点连接一条边可以看成是两个数相加.根据题干要求,要代价最小,也就是转换成两个加数且这两个加数要相差小.所以也就是分成x/2和x/2或x/2,x/2+1. #include<iostream> using namespace std; typedef long lo...
2021-11-30
3
657
题解 | #走出迷宫#
#include<iostream> #include<algorithm> #include<cstring> #include<queue> using namespaces std; const int N=510; int x1,y1,x2,y...
2021-11-17
1
460
数独
这个因为要进行试探某一位置是否可填,所以就是dfs,主要麻烦在某个数是否被使用.这里我们开3个布尔数组进行是否可填 h[N][N]:第i行的j是否被填过 l[N][N]:第i列的j是否被填过 x[N][N]:第i个小方格中是否填过j #include<iostream> #define ...
2021-11-14
0
572
棋盘问题
这个我是按照单个点来判断的,一定要注意当s==k时要返回,因为后面不能继续放置了. #include<iostream> using namespace std; const int N=9; int n,k,res; char a[N][N]; bool c[N],r[N]; void...
2021-11-14
0
446
n皇后
这个整体的思路就是要回溯,如果当前的不能放,那么就回去,然后我们分析可以发现位于对角线上的皇后有规律 主对角线:y=x+b——>x-y=b 副对角线:y=-x+b——>x+y=b 所以我们可以开两个数组来进行存储当前位置的对角线是否有皇后占领 这是第一种方式,按照行数来直接判断 #inc...
2021-11-13
0
379
在N个数中取m个数的组合
这个我们可以简化,就是按照字典序输出,所以就可以规定当前位必须大于上一位,所以我们可以传个参数来保存上一次 #include<iostream> using namespace std; const int M=3; int n=5,m=3;//假定在5个数中选3个数 int a[M];...
2021-11-13
0
796
老子的全排列呢&&DFS
这就是一个深搜,我们把dfs的参数设为第x位,所以就是遍历1~8,看看哪个数没有被用到(也就是设置vis数组来表示有没有被用到),a数组用来表示第x位为哪个数字 #include<iostream> using namespace std; const int N=9; int a[N]...
2021-11-13
1
561
认亲戚
这个就是一个简单的并查集,如果是就合并.我们这里主要是用序号来代表人名,所以需要使用到map #include<iostream> #include<map> using namespace std; const int N=2e4+10; map<string,int...
2021-11-12
0
414
食物链
主要是有三种动物,所以我们以这三种动物为集合,每次操作的时候,我们要把所以情况合并起来,然后也就是需要开三倍数组.我的理解就是当前并查集仅仅就是把存在的关系列出来了,然后进行查找,而不是说把他们分别是什么记录下来(在合并前用n和2*n就分开了) #include<iostream> #i...
2021-11-12
0
458
首页
上一页
1
2
3
4
下一页
末页