自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 XMU 数据结构实验 交换二叉树中每个结点的左孩子和右孩子

XMU 数据结构实验 交换二叉树中每个结点的左孩子和右孩子

2022-11-17 01:07:28 217

原创 XMU 数据结构实验 是否完全二叉搜索树

XMU 数据结构实验 是否完全二叉搜索树

2022-11-16 23:33:40 154

原创 XMU 数据结构实验 小字辈

XMU 数据结构实验 小字辈

2022-11-16 21:47:29 222

原创 XMU 数据结构实验 修理农场

XMU 数据结构实验 修理农场

2022-11-15 23:25:33 148

原创 XMUOJ 校外实训一 求三次方跟

用二分方法解决代码:#include<iostream>#include<cstdio>using namespace std;int main(){ double l=-10000,r=10000,mid,n; cin>>n; while(r-l>=1e-8) { mid=(l+r)/2; if(mid*mid*mid>=n)r=mid; else l=mid;...

2022-05-24 08:33:24 256 1

原创 XMUOJ 校外实训一 【求方程的根】

从答案看,方程解在(5,6)中,从此区间进行二分代码(伪):#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int main(){ printf("5.705085930"); return 0;}代码:#include<iostream>#include<cstdio>#include&lt...

2022-05-17 12:29:06 296

原创 XMUOJ 校外实训一 【攻击范围】

与上题相似,同为二分,在二分后在l点向左向右寻找区间[a,b]即可代码:#include<iostream>#include<algorithm>using namespace std;const int N=100005;int p[N];int a,b;int search(int l,int r,int x){ while(l<r) { int m=(l+r)/2; if(p[m]<x)...

2022-05-17 12:14:26 316

原创 XMUOJ 校外实训一 【查找指定数】

二分…………代码:#include<iostream>#include<algorithm>using namespace std;const int N=100005;int p[N];int search(int l,int r,int x){ while(l<r) { int m=(l+r)/2; if(p[m]<x) { l=m+1; ...

2022-05-17 11:36:40 213

原创 XMUOJ 校外实训一 【求排列的逆序数】

在归并排序的过程中,求解逆序数1、两个数都在left 或right 中的逆序对2、两个数分别在left和right中求解1:用递归的方法求(意思就是递归到最后都是2这种类型)求解2:left与right都是排好序的数列,若left[2]>right[2],则left[2]——left[n]与right[2]都是逆序对代码:#include<iostream>#include<algorithm>using namespace std;c...

2022-05-17 11:03:12 415

原创 XMUOJ 校外实训一 【归并排序】

代码:#include<iostream>#include<algorithm>using namespace std;const int N=100005;int num[N],temp[N];int n;void mergesort(int num[],int left,int right){ if(left>=right)return ; int mid=left+right>>1; ...

2022-05-17 09:30:11 301

原创 XMUOJ 校外实训一 输出前k大的数

较为暴力sort排序后直接输出#include<iostream>#include<algorithm>using namespace std;const int N=1000010;int q[N];int main(){ ios::sync_with_stdio(false); int n,k; cin>>n; for(int i=0;i<n;i++)cin>>q[i]; cin>&gt...

2022-04-18 22:32:13 236

原创 XMUOJ-校外实训一 快选第k个数

和大数排序类似#include<iostream>using namespace std;const int N=1000010;int q[N];int quicksort(int q[],int l, int r,int k){ if(l>=r)return q[l]; int i=l-1,j=r+1,x=q[l+r>>1]; while(i<j) { do i++;while(q[i]<x);...

2022-04-18 22:24:32 205

原创 XMUOJ -校外实训一 【输出前k大的数】

#include<iostream>using namespace std;const int N=1000010;int q[N];int quicksort(int q[],int l, int r,int k){ if(l>=r)return q[l]; int i=l-1,j=r+1,x=q[l+r>>1]; while(i<j) { do i++;while(q[i]<x); do ...

2022-04-18 22:21:59 243 1

原创 XMUOJ-校外实训一 【大数排序】

快速排序的双指针解法#include<iostream>using namespace std;const int N=1000010;int q[N];void quicksort(int q[],int l, int r){ if(l>=r)return ; int i=l-1,j=r+1,x=q[l+r>>1]; while(i<j) { do i++;while(q[i]<x); ...

2022-04-18 21:47:26 330

原创 XMUOJ-校外实训一 【求八皇后的第n种解】

#include<cstring>#include<iostream>using namespace std;int res[92][8];int path[8];int cnt=0;void dfs(int n) { if(n>7) { for(int k=0; k<8; k++) { res[cnt][k]=path[k]; } cnt++; return ...

2022-03-20 16:19:08 616

原创 XMUOJ-校外实训一 【2的幂次方表示】

总体上,是将输入的正整数用二进制来表示。使用bitset#include<bitset>#include<vector>#include<iostream>#include<algorithm>using namespace std;vector<string> res;void dfs(int u){ bitset<16>a(u); bool first=true; for(...

2022-03-20 16:02:01 425

原创 XMUOJ-校外实训一 【递归求波兰表达式】

如果波兰表达式的第一位是一个符号,那么接下来是两个波兰表达式进行该符号的运算;如果波兰表达式的第一位不是符号,那么接下来将字符转为数字进行运算。#include<iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;double p(){ string s; cin>>s; if(s[0]=='+')...

2022-03-20 15:25:15 317

原创 XMUOJ-校外实训一 【放苹果】

苹果:m盘子:n①如果m<n,则该情况可以变为m个苹果,m个盘子②如果m>=n,则该情况接下来有两种可能:1、n个盘子中有一个是空的2、没有空盘子如果m=0,则只有一种方法,即空着盘子如果n=0,则无法放置...

2022-03-20 15:08:45 350

原创 XMUOJ-校外实训一 【爬天梯】

相当于从楼顶走下来,可以一次下两级或者一级即为dfs(n-1) or dfs(n-2)直到n==0结束或者n<0不可行结束。代码:#include<iostream>#include<algorithm>using namespace std;int cnt;void dfs(int n){ if(n<0)return ; if(n==0) { cnt++; return ; ...

2022-03-15 21:25:54 465

原创 XMUOJ-校外实训一 【n皇后问题】

dfs:在第u行内,检查第i列是否能够放置queen;j表示u之前的行同一列:i== res[j]对角线:两点若为对角线则横坐标相减的绝对值=纵坐标相减的绝对值,故abs(res[j]-i)==abs(u-j)代码:#include<iostream>#include<vector>#include<cstring>#include<algorithm>using namespace std;int n;...

2022-03-15 20:21:42 392

原创 XMUOJ-校外实训一 【字符全排列】

与数字排列基本相同。代码:#include<iostream>#include<algorithm>#include<cstring>#include<vector>using namespace std;bool used[10];vector <string>ans;string path;void dfs(string line, int u){ if(u==line.size()) {...

2022-03-15 19:45:34 280

原创 XMUOJ-校外实训一 【排列数字】

代码:#include<iostream>#include<algorithm>using namespace std;int n;const int N=10;bool used[N]; //表示当前数字是否用过int path[N]; //表示数字排列结果void dfs(int x){ if(x==n) ...

2022-03-15 19:21:53 268

原创 XMUOJ-校外实训一 【汉诺塔Ⅱ】

题目:与汉诺塔Ⅰ略有不同的是加入了目前移动盘子的序号汉诺塔Ⅰ:​​​​​​XMUOJ-校外实训一 【汉诺塔Ⅰ】_Archipelago_的博客-CSDN博客序号就是n,举个特例,最后一个,我猜他是n结果ac了代码:#include<iostream>#include<algorithm>using namespace std;void move(int num,char begin,char end){ cout<<n...

2022-03-09 21:04:00 304

原创 XMUOJ-校外实训一 【汉诺塔Ⅰ】

众所周知递归从左到右A,B,C三个柱子1、把n-1个利用c从a移动到b2、把第n个 直接移动到c3、把n-1个 利用a从b移动到c代码:#include<iostream>#include<algorithm>using namespace std;void move(char begin,char end){ cout<<begin<<"->"<<end<<endl;}voi...

2022-03-09 20:53:04 315

原创 XMUOJ-校外实训一 【熄灯问题】

unique

2022-03-08 21:07:46 356

原创 XMUOJ-校外实训一 【二进制密码锁】

题目:使用bitset更加方便bitset:c++ bitset类用法_Liam Q的专栏-CSDN博客_bitset c++https://blog.csdn.net/qll125596718/article/details/6901935C++ bitset类详解 (biancheng.net)思路:最左边(和最右边)按下后只会改变两个按钮的状态,其他位置按下会改变三个按钮状态,按钮按两次即可复原分为两种情况:①最左边按下 ②最左边不按下(最右边和最左边只选一个即

2022-03-08 19:45:31 952

原创 XMUOJ-校外实训一 【四数之和】

题目:给定一个目标值 target,请在整数数组 A中,找出四个元素(a,b,c,d) 使a+b+c+d==target。请找到所有满足条件的四元组,并且请按从小到大的顺序输出所有合法的四元组。注意:四元组中不允许包含重复数字,且输出的四元组中要求 a<b<c<d例如:给定target = 17,n=7, 数组a= [0, 2, 5, 10, 15,18,25]结果返回两个四元组:(0,2,5,10)暴力搜索超时双指针算法优化具体见两数之和,三数之和..

2022-03-07 22:05:45 555

原创 XMUOJ-校外实训一 【三数之和】

题目:给定一个目标值 target,请在整数数组 a中,找出三个元素(x,y,z) 使x+y+z==target。请找到所有满足条件的三元组,并且请按从小到大的顺序输出所有合法的三元组。注意:三元组中不允许包含重复数字,且输出的三元组中要求 x<y<z.例如:给定target = 17,n=7, 数组a= [0, 2, 7, 10, 15,18,25]结果返回两个三元组:(0,2, 15), (2,7,10)...

2022-03-06 19:48:34 311

原创 XMUOJ-校外实训一 【两数之和】

题目:给定一个目标值 target,请你在不包含重复元素的按升序排列的整数数组 a中,找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。例如:给定 a= [2, 7, 10, 15], target = 17,因为 a[1] + a[2] = 7 + 10 = 17,所以返回 [1 2]①可用暴力搜索,时间复杂度高②双指针算法前提:1、数组有序(题目中已确定为升序排列)2、两个指针的移动有单调性指针i位于数组开头,j位于结尾

2022-03-06 12:02:12 346

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除