- 博客(9)
- 资源 (1)
- 收藏
- 关注

原创 ——对并查集的优化问题
并查集的模板化操作最开始的并查集是这个样子的int find(int r){ while(r!=bin[r]) { r=bin[r]; } return r;//不断向上查找父节点,直至找到父节点}void unite(int x,int y){ x=find(x); y=find(y); if(x!=y) fa[x]=y;//不论树高直接莽上去连接}其中find 为查找函数 unite为链接函数当数据足够多时,上面的基本方
2020-12-03 22:06:47
308
4
原创 ——考核补题合集
下面是本次考核的补题:序列树在O. michestep王国,有一棵名叫Habaritran的树,树上有一个长度为 n 的序列 a,由于树的营养 不足,序列只由 0 和1 构成,修理工Mitchell mitt觉得序列中每个连续的长度为 k 的子串中的0 与1数量都相同,这棵树才看起来很nice。当然,修理工Mitchell mitt可以将序列中任何一个 0 修改成1,也可以将任何一个1修改为0,请问修理工Mitchell mitt最少需要修改多少次,才能将这棵树变得nice。.
2020-12-28 20:10:27
165
2
原创 DFS暴搜无法解决的问题——剪枝操作
一个正方形的镇区分为 N*N(1≤N≤7) 个小方块。农场位于方格的左上角,集市位于左下角。Betsy 穿过小镇,从左上角走到左下角,刚好经过每个方格一次。当 N=3时,Betsy 的漫游路径可能如下图所示:| | | || F********** || | | * |------------*—| | | * || ***** | * || * | * | * |——----*—| * | * | * || M |
2020-12-15 19:45:49
448
2
原创 ——DFS与回溯解决N皇后问题
简单引入一道题目在一个NN的国际棋盘上,放置N个皇后,使她们相互之间不能进攻(任意两皇后不能位置同一行、同一列、同一斜线)。因为每行只有一个皇后,我们可以用一行N个数值来表示NN棋盘上皇后位置。结果中第i列的数值j表示棋盘上第[i,j]位置上有一个皇后。2 4 6 1 3 5表示棋盘上第[1,2]、[2,4]、[3,6]、[4,1]、[5,3]、[6,5]位置上有一个皇后。Input输入为一行一个数字,代表N(6≤N≤13)Output前三行为先得到的三组解, 每组解为N个数,之间
2020-12-13 19:50:25
243
1
原创 ——STL库中algorithm的(全排列函数)next_permutation函数的优势
前些天好奇去百度了一下algorithm的函数库,偶然发现还要全排列这种好东西这就给我们解决某些问题提供了很大的方便了下面有请我们的主角登场next_permutation函数这个函数就是将你给定的序列之后的排列全排出来后来看到还有pre_permutation函数是将之前的序列全排下面上一道例题用两种方法来写:Description输出N个数的无重复全排列Input输入一个数值N1<=N=50Output输出N个数的无重复全排列,每个数之间用空格隔开最后..
2020-12-08 16:30:34
235
1
原创 ——解决大数和问题
引言总所周知 c++中整型的最大数位为一般就是long long int 类型(10^18)可当题目要求数位过高时,我们应该如何操作呢?大数相加的思路:大致是运用string类,模拟算术运算,可以用栈来做颠倒数位的工作下面上例题:小明在做小红给他出的算术题加法题,但是小红为了治一治小明懒惰的毛病,给他出的数都很大,这下小明郁闷了,想请你帮忙。输入 输入的第一行是一个正整数N,表示一共有N组测试数据。 每组数据由1~100行正整数组成,每行正整数的长度不大于100位。当输入0时,表示此组数
2020-12-04 18:24:41
411
1
原创 —— 约瑟夫环(自杀环)的数学解法
—— 约瑟夫环(自杀环)的数学解法首先简单介绍一下约瑟夫环:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后 结果+1即为原问题的解。数学推导我们分别将他们的编号编为0,1.,2......N-1每次即从M-1的人出局例如说:M=3;第一次出
2020-12-03 20:17:48
3592
7
原创 ——BFS(广搜)的套路化操作
——BFS(广度优先搜索)的模板化操作bfs的核心思想运用c++stl库中的队列queue展开对中间状态的判断对于每次符合条件的元素进行入队操作不断状态转移后的一个符合题意的结果,即为最优解###基本模板 int dx[4]={-1,1,0,0};int dy[4]={0,0,-1,1};//定义四个方向` point s;//s为拥有x,y,step的结构体变量 s.x=sx; s.y=sy; s.step = 0;//完成初始化 v[s.x ][s.y]=
2020-12-02 21:49:08
180
2
Educoder 计算机组成实验 运算器设计+存储系统设计+单总线CPU设计
2022-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人