![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Goldinger
这个作者很懒,什么都没留下…
展开
-
linux
1.mv 剪切粘贴 mv a b 将a移动到b 也可以作为重命名用2.cp a b -r 把文件夹a复制到文件夹b中 注意这里的a是文件夹3. -r 是递归缩写 如果对文件夹进行操作 是要加-r的4. 删除 rm a -r 删除文件夹 rm a 删除文件 *rm .txt 删除当前文件夹所有以.txt格式的文件如果加 *不加后缀的话是把当前文件夹所有文件全部删掉...原创 2022-01-18 13:51:37 · 149 阅读 · 0 评论 -
椭圆(turtle)
from turtle import *penup()goto(0, -100)pendown()y = 100list1 = ['red', 'blue']for k in list1: color(k) begin_fill() circle(y) penup() goto(0, -85) pendown() y -= 15 end_fill()hideturtle()penup()goto(0, 70)pend.原创 2022-04-25 23:40:28 · 802 阅读 · 0 评论 -
最长上升子序列
#include <cstdio>#include <algorithm>using namespace std; int n,a[20010];int c[20010];int len=0; int find(int x){ int l=1,r=len,mid; while(l<=r) { mid=(l+r)>>1; if(x>c[mid])l=mid+1; //记原创 2022-04-14 00:06:00 · 39 阅读 · 0 评论 -
动态规划(备忘录)
#include<iostream>using namespace std;int max(int a,int b){ return a>b?a:b;}int main(){ int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; int m[n]; m[0]=a[0]; for(int i=1;i<n;i++){ if(m[i-1]>0) .原创 2022-04-14 00:00:11 · 1782 阅读 · 0 评论 -
分治策略----寻找数组中第k小的元素
#include <stdio.h>/*先给出一个划分函数(快速排序的划分)*/int partition(int* ar, int left, int right){ int i = left; int j = right; int tmp = ar[i]; while (i < j) { while (i<j && ar[j] > tmp) { j--; } if (i < j) ar[i] = ar[j];原创 2022-04-09 10:18:16 · 334 阅读 · 0 评论 -
快速归并排序
#include<iostream>#include<vector>using namespace std;void mergesort(vector<int>& a, int l,int r){ if(l==r) return ; int mid=(l+r)/2; mergesort(a,l,mid); mergesort(a,mid+1,r); int t[r-l+1]; int i=0; int ll=l; int rr=mid原创 2022-03-21 11:36:56 · 43 阅读 · 0 评论 -
二分查找(三种情况)+回文子串(递归)
#include <bits/stdc++.h>using namespace std;typedef long long int ll;int n; int a[1100];int main(){ int n; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; int x; cin>>x; int l=0; int r=n-1;原创 2022-03-20 15:24:33 · 229 阅读 · 0 评论 -
循环赛(分治法)
#include <bits/stdc++.h>using namespace std;typedef long long int ll;int n; int a[1100][1100];int main(){ scanf("%d",&n); n=pow(2,n); int h=1; a[0][0]=1; do{ //以i j为基 h 为增量 for(int i=0;i<h;i++){原创 2022-03-20 13:17:01 · 352 阅读 · 0 评论 -
数组(二分查找快速排序)
#include<iostream>#include<vector>using namespace std;void ef(vector<int> &a,int l,int r,int k){ while(l<=r) { int mid=(l+r)/2; if(a[mid]==k){ cout<<mid+1; break;} else if(a[mid]>k)原创 2022-03-07 11:15:16 · 68 阅读 · 0 评论 -
归并排序(分治法)
#include<bits/stdc++.h>using namespace std; //归并过程void merge(int arr[], int l, int mid, int r){ int help[r-l+1];//辅助数组 int i = 0; int lIndex = l; int rIndex = mid+1; while(lIndex <= mid && rIndex <= r){ help[i++] = arr[lIndex原创 2022-03-05 21:03:56 · 92 阅读 · 0 评论 -
快速排序(不定长数组)
#include<iostream>#include<vector>using namespace std;//快速排序(从小到大)void QuickSort(vector<int>& arr,int left, int right){ if(left >= right) return; int i, j, base, temp; i = left, j = right; base = arr[le原创 2022-03-05 17:49:41 · 279 阅读 · 0 评论 -
划拳 结构体
划拳划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为:每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就输了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。> 下面给出甲、乙两人的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个人谁先倒。#include<bits/stdc++.h>using namespace std;typedef struct node{ int a,b原创 2022-02-16 16:31:48 · 49 阅读 · 0 评论 -
HENAU冬令营-递推专题(第七组题解)
A - 上台阶2小瓜一次只能向上走1级或者3级或者5级台阶问: 有多少种方法走上n阶台阶#include<iostream>using namespace std;long step[1000003] = {0};int main(){ int N; cin>>N; if(N<=0){ return 0; } step[0] = 1; step[1] = 1; step[2] = 2;原创 2022-02-10 00:20:07 · 121 阅读 · 0 评论 -
nth_element差分
int b[101];sort(b+1,b+100 ); //排序cout<<b[100/2+5];nth_element(b+1, b+55,b+100)//b排序后找出b+55的赋给b[55]; 更快;cout<<b[55];原创 2022-01-15 00:07:26 · 140 阅读 · 0 评论 -
删除值为x的元素
//删除值为x的元素void deletelist(vector<int>&a,int x){ int k=0,i; for(int i=0;i<a.size();i++){ if(a[i]!=x) a[k++]=a[i]; } /* 记录==x的个数 向前移 int k=0,i=0; while(i<a.size()){ if(a[i]=原创 2021-11-03 13:32:14 · 199 阅读 · 0 评论 -
2021-07-29快速幂
快速幂:n&1:(1即01)二进制:均为1时为1.n为奇数时:1n为偶数时:0幂x=pow(a,n)n为偶数时:x=(aa)^(n/2)n为奇数时:x=a(a*a)^(n/2)最后n=1返回ans.#include<iostream>using namespace std;int power(int a, int n)//a^n{ int ans = 1; while (n > 0) { if (n & 1)原创 2021-07-30 14:03:12 · 43 阅读 · 0 评论 -
2021-07-11并查集
并查集:并就是合并 查就是查找 集就是集合总而言之:合并集合,查找集合为了方便将两个数字的集合合并为了方便判断两个数字是否属于同一集合#include<iostream>using namespace std;int a[5005];int find(int i) { if (a[i] == 0) return i;//初始化(a[0]=0,a[1]=1) return a[i] = find(a[i]);//查找父节点(不断找父节点)}void bcj(原创 2021-07-12 00:55:53 · 49 阅读 · 0 评论 -
2021-07-09一维二维前缀和差分
#include<iostream>#include<algorithm>using namespace std;int b[100] = { 0 }, a[100] = { 0 };int sum[100];//初始值为0void add(int l, int r, int v) { b[l] += v; b[r + 1] += v;}//0,0,5,0,0,-5 .// 3,0,5,0,0,-8.//差分改 b[l]+=v, b[r+1]-=v //即原创 2021-07-09 19:45:23 · 47 阅读 · 0 评论 -
2021-06-19深浅拷贝
import copy# copya=[1,2,3]x=copy.copy(a)x.append('W')print(x,a,sep='\n')'''[1, 2, 3, 'W'][1, 2, 3]'''#带有子对象的拷贝 copy型b=[1,2,3,['4','5'],6]c=copy.copy(b)print(c) #[1, 2, 3, ['4', '5'], 6]c.append(7)print(b,c)''' [1, 2, 3, ['4', '5'], 6]原创 2021-06-19 21:31:01 · 56 阅读 · 0 评论 -
两个字典中的值求和后合并
a={"河南":3,"浙江":2,"吉林":1}b={"河南":8,"浙江":3,"山东":5,"江苏":6,"安徽":4,"福建":2}#法1:for key,value in a.items(): b[key]=b.get(key,0)+valueprint(b)""" #法二 if key not in b:#主要为检查键 b[key]=value else : b[key]+=value""""""#法3:from coll原创 2021-04-03 09:26:12 · 245 阅读 · 0 评论