摘要: vector: 用法: sort(ve.begin(),ve.end());//排序 ve.push_back();//末尾插入 ve.pop_back();//末尾删除 ve.insert(v.begin(),x);//在最头插入x ve.insert(v.begin()+2,x);//在第二个元 阅读全文
posted @ 2024-06-25 16:55 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 并查集 并查集,就是看谁和谁是一伙的,加入到同一棵树中。 代码要点: //找到一个结点根结点的函数 int fin(int x) { if(rt[x]==x)return x; return rt[x]=fin(rt[x]);//快速查找 } //把每一个序号的父结点改为自身 for(int i = 阅读全文
posted @ 2024-06-25 16:55 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 前缀和&二维前缀和 1. 前缀和 先写了一道前缀和的题目,以前的a56爆大奖在线娱乐这能骗人,其实不太沾边,a56爆大奖在线娱乐先放一个模板代码在这。 前缀和的原理就是,a[i]的意义是从1~i的数的总和是多少,如果a56爆大奖在线娱乐想 #include<bits/stdc++.h> using namespace std; const int N 阅读全文
posted @ 2024-06-25 16:55 wlqtc 阅读(2) 评论(0) 推荐(0) 编辑
摘要: (Day6)算法复健运动for蓝桥杯-常用数学 1. 欧几里得算法:辗转相除法(求gcd) int gcd(int a, int b) { return 0 == b ? a : gcd(b, a % b); } 或者C++直接调用: 编译没过,说是不能是无符号数 unsigned int a=10 阅读全文
posted @ 2024-06-25 16:54 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day7)算法复健运动for蓝桥杯-二分 二分比较简单,这里主要摘一些常用的写法: 1.找到目标数 int l,r,mid; while(l<=r) { if(a[mid]==x)return mid; else if(a[mid]<x)l=mid+1; else r=mid-1; } 2.找范围 阅读全文
posted @ 2024-06-25 16:54 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day9)算法复健运动for蓝桥杯-双指针 先粘一个博客:素材来源/luoyj/p/12408871.html 尺取法(又称为:双指针、two pointers)是算法竞赛中一个常用的优化技巧,用来解决序列的区间问题,操作简单、容易编程。 如果区间是单 阅读全文
posted @ 2024-06-25 16:53 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day10)算法复健运动for蓝桥杯-差分&二维差分 差分简介 差分是前缀和的逆运算 b[i]=x[i]-x[i-1]; (差分的前缀和等于原序列) 可以用来更新区间 如果要l 到 r都加z 可以使用一个差分数组 a[l]+=z a[r+1]-=z 一维差分模板题: https://www.luo 阅读全文
posted @ 2024-06-25 16:44 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day11)算法复健运动for蓝桥杯-最短路 1. Dijkstra 真女人就要直接学时间优化版本的Dijkstra (一般只能算一个点到其他边的最短路)比较局限的a56爆大奖在线娱乐算法,不能计算负权的 #include<iostream> #include<algorithm> #include<cstdio 阅读全文
posted @ 2024-06-25 16:44 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day8)算法复健运动for蓝桥杯-最小生成树 一提到生成树就是经典prim和kruskal,一个从一个点开始,一个把边排序 虽然不用反复造轮子,但是还是需要从算法思想直接写出来,不能老背板子 练手的模板题: https://www.luogu.com.cn/problem/P3366 krusk 阅读全文
posted @ 2024-06-25 16:44 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑
摘要: (Day13) 算法复健运动for蓝桥杯-背包 01背包: https://www.acwing.com/problem/content/2/ 倒着循环,保证a56爆大奖在线娱乐只用一次 for(int i=1;i<=n;i++) { cin>>v>>w; for(int j=t;j>=v;j--) { dp[j] 阅读全文
posted @ 2024-06-25 16:44 wlqtc 阅读(1) 评论(0) 推荐(0) 编辑