怎么做百度seo网站/互联网seo是什么

怎么做百度seo网站,互联网seo是什么,企业网站分类举例,域名注册兼职总复习,打卡1. 一。排序 1。选段排序 太可恶了,直接全排输出,一个测试点都没过。 AC 首先,这个【l,r】区间一定要包含p,或者q,pq一个都不包含的,[l,r]区间无论怎么变,都对ans没有影响。 其次&…

总复习,打卡1.

一。排序

1。选段排序

太可恶了,直接全排输出,一个测试点都没过。

AC

  首先,这个【l,r】区间一定要包含p,或者q,pq一个都不包含的,[l,r]区间无论怎么变,都对ans没有影响。

  其次,[l,r}区间端点一定要是l,或者r,或者两者都是,不然区间排序后,对应的a[p]不一定是最小的,a[q]也不一定是最大的。

  最后,minn=min(maxx,a[i]),均可以minn=min(minn,a[i])。

我们分别固定一个区间端点,然后去枚举另一个端点,求两个值,还有ans,利用大顶堆,big队列堆顶-minn,以保证ans尽可能大,small队列也是如此。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e6+5;
ll a[N];
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n,p,q;cin>>n>>p>>q;for(ll i=1;i<=n;i++)cin>>a[i];priority_queue<ll,vector<ll>,greater<ll>> small;priority_queue<ll,vector<ll>,less<ll>> big;ll minn=a[p],maxx=a[q];ll len=q-p+1;big.push(a[p]);ll ans=0;for(ll i=p+1;i<=n;i++){minn=min(maxx,a[i]);big.push(a[i]);if(big.size()>len)big.pop();ans=max(ans,big.top()-minn);}small.push(a[q]);for(ll i=q-1;i>=1;i--){maxx=max(maxx,a[i]);small.push(a[i]);if(small.size()>len)small.pop();ans=max(ans,maxx-small.top());}cout<<ans;return 0;
}

 下面看细节,minn=min(minn,a[i])),minn=min(maxx,a[i])的区别。

2。字串排序 

 (待补.......)

3。排序

P2824 [HEOI2016/TJOI2016] 排序 

#include<bits/stdc++.h>
using namespace std;
typedef long  long ll;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n,m;cin>>n>>m;vector<ll> a(n+1,0);for(ll i=1;i<=n;i++)cin>>a[i];while(m--){ll op,l,r;cin>>op>>l>>r;if(op==0){sort(a.begin()+l,a.begin()+r+1);}else if(op==1){sort(a.rbegin()+l,a.rbegin()+r+1);}}ll q;cin>>q;cout<<a[q];return 0;
}

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;int main(){ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);ll n, m; cin >> n >> m;vector<ll> a(n + 1, 0);  // 注意下标从1开始// 输入数组for(ll i = 1; i <= n; i++) {cin >> a[i];}// 处理m次操作while(m--) {ll op, l, r;cin >> op >> l >> r;if(op == 0) {// 从a[l]到a[r]进行升序排序sort(a.begin() + l, a.begin() + r + 1); // 正常的升序排序} else if(op == 1) {// 从a[l]到a[r]进行降序排序sort(a.begin() + l, a.begin() + r + 1, greater<ll>()); // 使用greater进行降序排序}}ll q;cin >> q;cout << a[q] << endl;return 0;
}

线段树。。。。。此处略过。。。 

 

4。区间排序

AC 

#include<bits/stdc++.h>
using namespace std;
typedef long  long ll;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n,m;cin>>n;vector<ll> a(n+1,0);for(ll i=1;i<=n;i++)cin>>a[i];cin>>m;while(m--){ll l,r;cin>>l>>r;sort(a.begin()+l,a.begin()+r+1);}for(ll i=1;i<=n;i++)cout<<a[i]<<' ';return 0;
}

5。奖牌排序

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;struct node {ll x, y, z;// 重载操作符==bool operator==(const node& other) const {return x == other.x && y == other.y && z == other.z;}
};bool cmp1(const node &a, const node &b) {if (a.x != b.x) return a.x > b.x;else return 1;
}bool cmp2(const node &a, const node &b) {if (a.y != b.y) return a.y > b.y;else return 1;
}bool cmp3(const node &a, const node &b) {if (a.z != b.z) return a.z > b.z;else return 1;
}int main() {ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);ll n;cin >> n;vector<node> nodes(n);for (ll i = 0; i < n; i++) {cin >> nodes[i].x >> nodes[i].y >> nodes[i].z;}vector<node> n1(n), n2(n), n3(n);n1 = nodes;n2 = nodes;n3 = nodes;sort(n1.begin(), n1.end(), cmp1);sort(n2.begin(), n2.end(), cmp2);sort(n3.begin(), n3.end(), cmp3);for (ll i = 0; i < n; i++) {ll idx1 = find(n1.begin(), n1.end(), nodes[i]) - n1.begin();ll idx2 = find(n2.begin(), n2.end(), nodes[i]) - n2.begin();ll idx3 = find(n3.begin(), n3.end(), nodes[i]) - n3.begin();cout << min({idx1, idx2, idx3})+1 << '\n';}return 0;
}

AC 

#include<bits/stdc++.h>
using namespace std;
typedef int ll;
const ll N=200005;
ll a[N],b[N],c[N];
ll a1[N],b1[N],c1[N];
ll n;
bool cmp(ll x,ll y){return x>y;
}
int erfen1(int x)//在a数组中二分查找
{int l = 0,r = n+1;while(l+1 < r){int mid = (l+r)/2;if(a[mid] <= x) r = mid;//右边的都不是答案else l = mid;//左边的都不是答案}return r;
}int erfen2(int x)//在b数组中二分查找
{int l = 0,r = n+1;while(l+1 < r){int mid = (l+r)/2;if(b[mid] <= x) r = mid;else l = mid;}return r;
}int erfen3(int x)//在c数组中二分查找
{int l = 0,r = n+1;while(l+1 < r){int mid = (l+r)/2;if(c[mid] <= x) r = mid;else l = mid;}return r;
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n;for(ll i=1;i<=n;i++){cin>>a1[i]>>b1[i]>>c1[i];a[i] = a1[i];b[i] = b1[i];c[i] = c1[i];}sort(a+1,a+n+1,cmp);sort(b+1,b+n+1,cmp);sort(c+1,c+n+1,cmp);//for(ll i=1;i<=n;i++)cout<<a[i]<<" "<<b[i]<<" "<<c[i]<<'\n';for(ll i=1;i<=n;i++){ll idx1=erfen1(a1[i]);ll idx2=erfen2(b1[i]);ll idx3=erfen3(c1[i]);cout<<min({idx1,idx2,idx3})<<'\n';}return 0;
}

6。排列排序

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;int a[1000005];int main()
{int T;cin >> T;while (T--){int n, ans = 0;scanf("%d", &n);for (int i = 1; i <= n; i++) scanf("%d", &a[i]);int i = 1;while (i <= n){if (a[i] == i) // 当前元素已经在正确的位置{i++;}else // 不在正确位置{int maxv = a[i];int j = i + 1;maxv = max(maxv, a[j]);while (j <= n && maxv > j) // 继续扩展区间直到可以排序{j++;maxv = max(maxv, a[j]);}ans += (j - i + 1);i = j + 1; // 跳过已处理的区间}}cout << ans << endl;}return 0;
}

7。数列排序 

 

这题老演员了,逆序遍历,每个数前面如果有比它大的数,就和比他大的最大的那个数交换位置,纸上模拟是对的,但事实却差强人意 。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e5 + 5;
ll a[N];int main() {ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);ll n; cin >> n;for (ll i = 1; i <= n; i++) cin >> a[i];ll count = 0;for (ll i = n; i >= 2; i--) {auto it = max_element(a + 1, a + i);if (it != a + i - 1) {  // 如果当前最大元素不在当前位置swap(*it, a[i - 1]);  // 交换count++;}}cout << count << '\n';return 0;
}

逆天,居然可以直接暴力。。。。。。。。应该Just do it。。。。。。这个题写法超级多,我看甚至还有人用dfs,树状数组。。

 AC

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1e5 + 5;
ll a[N];
ll b[N];
map<ll, ll> F;int main() {ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);ll n;cin >> n;// 输入数组 a 和 bfor (ll i = 1; i <= n; i++) {cin >> a[i];b[i] = a[i];F[a[i]] = i;  // 记录每个元素的位置}// 排序数组 bsort(b + 1, b + n + 1);ll count = 0;for (ll i = 1; i <= n; i++) {if (a[i] != b[i]) {count++;ll x = F[b[i]];  // 获取 b[i] 在 a 数组中的原位置F[a[i]] = x;      // 更新位置映射swap(a[x], a[i]); // 交换}}cout << count << '\n';return 0;
}
#include<bits/stdc++.h>
using namespace std;
struct node
{int z,p;//其值、位置 
}a[100005];
int n,b[100005],ans=0;
bool cmp(node n1,node n2){return n1.z<n2.z;}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&b[i]);a[i].z=b[i];a[i].p=i;}//输入 sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++)//可以改成i<n {if(a[i].z==b[i])continue;int j=a[i].p;ans++;swap(b[i],b[j]);//注意了 b[i]和b[j]已交换 不要搞混对象 int l=i+1,r=n,mid;while(l<=r)//二分查找 {mid=(l+r)/2;if(a[mid].z>b[j])r=mid-1;else if(a[mid].z<b[j])l=mid+1;else break;//找到了 }a[mid].p=j;//修改地址 }printf("%d\n",ans);return 0;
}
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main() {int n;cin >> n;vector<int> a(n), sorted_a(n);// 读取输入for (int i = 0; i < n; i++) {cin >> a[i];sorted_a[i] = a[i];}// 排序后得到的数列sort(sorted_a.begin(), sorted_a.end());// 映射原数组到排序数组的索引vector<int> index_map(n);for (int i = 0; i < n; i++) {auto it = find(sorted_a.begin(), sorted_a.end(), a[i]);index_map[i] = distance(sorted_a.begin(), it);}vector<bool> visited(n, false);int min_swaps = 0;// 遍历每个元素for (int i = 0; i < n; i++) {// 如果这个元素已经被访问过或者已经在正确的位置上,跳过if (visited[i] || index_map[i] == i)continue;// 计算环的长度int cycle_length = 0;int j = i;while (!visited[j]) {visited[j] = true;j = index_map[j];  // 跳到下一个索引cycle_length++;}// 对于每个环,需要交换的次数是环的长度 - 1if (cycle_length > 1) {min_swaps += (cycle_length - 1);}}cout << min_swaps << endl;return 0;
}

 非AC

本来不想用struct,想简化一下,结果弄巧成拙,我好像知道我哪里错了。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+5;
ll a[N];
ll b[N];
ll erfen(ll x,ll l,ll r){ll mid=0;while(l<=r){mid=(l+r)/2;if(b[mid]>x)r=mid-1;else if(b[mid]<x)l=mid+1;else break;}return mid;
}
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n;cin>>n;for(ll i=1;i<=n;i++)cin>>a[i],b[i]=a[i];sort(b+1,b+n+1);ll count=0;for(ll i=1;i<=n;i++){if(b[i]!=a[i]){ll idx=erfen(a[i],i+1,n);swap(a[idx],a[i]);count++;}}cout<<count<<'\n';return 0;
}

修改一下:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n;cin>>n;ll a[n+1];ll b[n+1];map<ll,ll> mp;for(ll i=1;i<=n;i++){cin>>a[i];mp[a[i]]=i;b[i]=a[i];}sort(b+1,b+n+1);///不要写成b+n了。。。。是b+n+1.....ll count=0;for(ll i=1;i<=n;i++){if(a[i]!=b[i]){count++;ll idx=mp[b[i]];swap(a[idx],a[i]);mp[a[i]]=i;mp[a[idx]]=idx;//a[idx]=a[i];}}cout<<count<<'\n';return 0;
}

8。分数排序

暴力才27分

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> PII;
const ll N = 1e5 + 5;
ll a[N];
ll b[N];
ll c[N];// 自定义比较函数,按最简分数的大小排序
bool cmp(const PII &a, const PII &b) {long double x = a.first * 1.0 / a.second;long double y = b.first * 1.0 / b.second;return x < y;
}int main() {ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);ll n, q; cin >> n >> q;// 输入 a 和 b 数组for (ll i = 1; i <= n; i++) cin >> a[i];for (ll i = 1; i <= n; i++) cin >> b[i];// 输入查询数组 cfor (ll i = 1; i <= q; i++) cin >> c[i];// 用 vector 存储所有分数vector<PII> ppp;// 生成所有分数并存储for (ll i = 1; i <= n; i++) {for (ll j = 1; j <= n; j++) {ll yueshu = __gcd(a[i], b[j]);ll x = a[i] / yueshu;ll y = b[j] / yueshu;ppp.push_back({x, y});}}// 对分数按值进行排序sort(ppp.begin(), ppp.end(), cmp);// 输出查询的分数for (ll i = 1; i <= q; i++) {cout << ppp[c[i] - 1].first << " " << ppp[c[i] - 1].second << '\n';}return 0;
}

AC

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const ll N	=1e6+10;
ll a[N],b[N];
bool p[N];ll check(ld x,ll n){ll i=1,j=0;ll sum=0;while(i<=n){while((ld)a[j+1]<(ld)x*b[i]&&j<n)j++;sum+=j;i++;}return sum;
}int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n,q;cin>>n>>q;for(ll i=1;i<=n;i++)cin>>a[i],p[a[i]]=1;for(ll i=1;i<=n;i++)cin>>b[i];sort(a+1,a+1+n);sort(b+1,b+n+1);//for(ll i=1;i<=n;i++)cout<<a[i]<<" "<<b[i]<<'\n';while(q--){ll c;cin>>c;ld r=(ld)a[n]/b[1];ld l=(ld)a[1]/b[n];ld mid=0;while((r-l)>=1e-13){mid=(l+r)/2;if(check(mid,n)>=c)r=mid;//精度比较高,所以步长不可以为一了,也即不可以r=mid-1;l=mid+1;else l=mid;//else break;}ll fz=0;for(ll i=1;i<=n;i++){fz=round(l*b[i]);if(fz<=1e6&&p[fz]==1&&fabs(fz-l*b[i])<1e-7){ll yueshu=__gcd(fz,b[i]);//fz/=yueshu,b[i]/=yueshu;//不要这样会影响后面的数的计算cout<<fz/yueshu<<" "<<b[i]/yueshu<<'\n';break;}}}return 0;
}

9。排列排序问题 

1~n的排列正序或者逆序,通过切割成若干子序列,重排子序列或者反转,使最终的整个排列有序,我们知道如果相邻元素不相差1,比如1 5 7 6 2 4 3,其中无论15怎么翻转都不会使最终序列有序,所以1,5一定要切割开,通过重排使其有序,题目也就转化成了,求abs(a[i+1]-a[i])>1的个数了。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e6+5;
ll a[N];
int main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);ll n;cin>>n;for(ll i=1;i<=n;i++)cin>>a[i];ll cnt=0;for(ll i=1;i<n;i++){if(abs(a[i+1]-a[i])>1)cnt++;}cout<<cnt<<'\n';return 0;
}

10。排序集合

​
#include<bits/stdc++.h>
using namespace std;
int n, k;int main() {// 读取输入scanf("%d%d", &n, &k);// 特殊情况,如果k == 1,意味着空集if (k == 1) {printf("0\n");return 0;}k--; // 从0开始计数,因此减去1// 遍历所有的元素for (int i = 1; i <= n; i++) {// 如果k已经为0,说明我们已经找到了目标子集if (k == 0) {break;}// 如果k小于等于 2^(n-i),说明当前元素i必定在第k小的子集中if (k <= pow(2, n - i)) {printf("%d ", i); // 输出当前元素k--; // 减去已经选择的这个元素对应的子集数量} else {// 如果k大于 2^(n-i),说明当前元素i不在第k小的子集中k -= pow(2, n - i); // 跳过包含当前元素i的子集,更新k}}return 0;
}​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter_学习记录_实现列表上拉加载更多的功能

可以用ScrollController组件来实现这样列表上拉加载更多的功能: 1. 定义变量 在StatefulWidget 的组件内&#xff0c;添加三个属性&#xff1a; // 滚动视图的控制器final ScrollController _scrollController ScrollController();// 是否已显示了上拉加载中bool _isShowM…

【Linux】【网络】不同子网下的客户端和服务器通信其它方式

【Linux】【网络】不同子网下的客户端和服务器通信其它方式 那么&#xff0c;在 NAT 环境下&#xff0c;应该如何让内网设备做为服务器&#xff0c;使内网设备被外部连接&#xff1f; 1 多拨 部分运营商&#xff0c;支持在多个设备上&#xff0c;通过 PPPoE 登录同一个宽带账…

六十天前端强化训练之第一天到第七天——综合案例:响应式个人博客项目

欢迎来到编程星辰海的博客讲解 目录 前言回顾 HTML5与CSS3基础 一、知识讲解 1. 项目架构设计&#xff08;语义化HTML&#xff09; 2. 响应式布局系统&#xff08;Flex Grid&#xff09; 3. 样式优先级与组件化设计 4. 完整响应式工作流 二、核心代码示例 完整HTML结…

测试的BUG分析

在了解BUG之前,我们要先了解软件测试的生命周期,因为大多数BUG都是在软件测试的过程中被发现的 软件测试的生命周期 在了解 软件测试的生命周期 之前,我们要先了解 软件的生命周期 ,虽然他们之间只差了两个字,但是差距还是很大的 首先是 软件生命周期 ,这个是站在 软件 的角…

【洛谷贪心算法题】P1094纪念品分组

该题运用贪心算法&#xff0c;核心思想是在每次分组时&#xff0c;尽可能让价格较小和较大的纪念品组合在一起&#xff0c;以达到最少分组的目的。 【算法思路】 输入处理&#xff1a;首先读取纪念品的数量n和价格上限w&#xff0c;然后依次读取每件纪念品的价格&#xff0c;…

[STM32]从零开始的STM32 BSRR、BRR、ODR寄存器讲解

一、前言 学习STM32一阵子以后&#xff0c;相信大家对STM32 GPIO的控制也有一定的了解了。之前在STM32 LED的教程中也教了大家如何使用寄存器以及库函数控制STM32的引脚从而点亮一个LED&#xff0c;之前的寄存器只是作为一个引入&#xff0c;并没有深层次的讲解&#xff0c;在教…

SP导入智能材质球

智能材质球路径 ...\Adobe Substance 3D Painter\resources\starter_assets\smart-materials 放入之后就会自动刷新

网络原理----TCP/IP(3)

核心机制七----延时应答 默认情况下&#xff0c;接收方都是在收到数据报的第一时间&#xff0c;就返回ack&#xff0c;但是可以通过延时返回ack的方式来提高效率&#xff0c;理论上不是100%提高效率&#xff0c;但还是有一定帮助的。 因为如果接收数据的主机⽴刻返回ACK应答,…

MacBook Pro使用FFmpeg捕获摄像头与麦克风推流音视频

FFmpeg查看macos系统音视频设备列表 ffmpeg -f avfoundation -list_devices true -i "" 使用摄像头及麦克风同时推送音频及视频流: ffmpeg -f avfoundation -pixel_format yuyv422 -framerate 30 -i "0:1" -c:v libx264 -preset ultrafast -b:v 1000k -…

ubuntu中ollama设置记录

自己同一台电脑主机安装3080和3090显卡&#xff0c;测试发现ollama只默认跑在3090上&#xff1b;故查看一下设置&#xff0c;成功也把3080也运行起来了。 原因如下&#xff1a; 开始设置记录&#xff1a; Environment Variables: OLLAMA_DEBUG 作用&#xff1a;显示额外的调试…

【Python · PyTorch】循环神经网络 RNN(基础应用)

【Python PyTorch】循环神经网络 RNN&#xff08;简单应用&#xff09; 1. 简介2. 模拟客流预测&#xff08;数据集转化Tensor&#xff09;3.1 数据集介绍3.2 训练过程 3. 模拟股票预测&#xff08;DataLoader加载数据集&#xff09;3.1 IBM 数据集3.1.2 数据集介绍3.1.3 训练…

【JSON2WEB】15 银河麒麟操作系统下部署JSON2WEB

【JSON2WEB】系列目录 【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSO…

Spring Boot(七):Swagger 接口文档

1. Swagger 简介 1.1 Swagger 是什么&#xff1f; Swagger 是一款 RESTful 风格的接口文档在线自动生成 功能测试功能软件。Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。目标是使客户端和文件系统作为服务器以同样的…

cursor 弹出在签出前,请清理仓库工作树 窗口

问题出现的背景&#xff1a;是因为我有两台电脑开发&#xff0c;提交后&#xff0c;另一个电脑的代码是旧的&#xff0c;这个时候我想拉取最新的代码&#xff0c;就会出现如下弹窗&#xff0c;因为这个代码暂存区有记录或者工作区有代码的修改&#xff0c;所以有冲突&#xff0…

在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南

随着人工智能技术的飞速发展&#xff0c;本地部署大型语言模型&#xff08;LLM&#xff09;已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私&#xff0c;还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2&#xff08;24GB 内存&#xff09;上部署 DeepS…

《UE5_C++多人TPS完整教程》学习笔记33 ——《P34 关卡与大厅之间的过渡(Transition Level And Lobby)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P34 关卡与大厅之间的过渡&#xff08;Transition Level And Lobby&#xff09;》 的学习笔记&#xff0c;该系列教学视频为计算机工程师、程序员、游戏开发者、作家&#xff08;Engineer, Programmer, Game Developer,…

Vscode 便用快捷键设置教程

文章目录 简介&#xff1a;1. go to define (跳转到函数定义的位置)2. go to declaration (跳转到函数声明的位置)3. move line &#xff08;上下移动本行代码&#xff09;3.1上下复制本行代码 4. 前进和后退&#xff08;就是前进到光标上一次停留的位置&#xff0c;和后退到那…

【实战篇】【深度解析DeepSeek:从机器学习到深度学习的全场景落地指南】

一、机器学习模型:DeepSeek的降维打击 1.1 监督学习与无监督学习的"左右互搏" 监督学习就像学霸刷题——给标注数据(参考答案)训练模型。DeepSeek在信贷风控场景中,用逻辑回归模型分析百万级用户数据,通过特征工程挖掘出"凌晨3点频繁申请贷款"这类魔…

Vue核心知识:Vue动态权限到按钮完整方案

为了进一步实现上面提到的动态路由功能&#xff0c;并且加入对每个路由的权限控制&#xff08;即增、删、改、查按钮的权限控制&#xff09;&#xff0c;我们需要对数据库、后端接口、前端的设计做一些改进和扩展。下面我将详细描述如何在现有方案的基础上加入对路由的增、删、…

swift 开发效率提升工具

安装github copliot for xcode github/CopilotForXcode brew install --cask github-copilot-for-xcode安装swiftformat for xcode brew install swiftformatXcode Swift File代码格式化-SwiftFormat