![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题目
挠头猴子
这个作者很懒,什么都没留下…
展开
-
tries树(字典树)
字典树模板原创 2022-07-13 20:41:08 · 158 阅读 · 1 评论 -
模拟栈和队列
模拟栈和队列原创 2022-07-07 09:44:31 · 92 阅读 · 0 评论 -
用数组模拟单链表与双链表
用数组模拟单链表与双链表原创 2022-07-07 09:26:54 · 102 阅读 · 0 评论 -
双指针(最长连续不重复子序列)
给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数 nn。第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤1051≤n≤105输入样例:51 2 2 3 5输出样例:3可以看作i每经过一个数字每个数字上放个石头用 a[ q[i] ]++ ,当a[q[i] ] > 1..原创 2022-02-08 16:32:56 · 75 阅读 · 0 评论 -
差分(一维与二维)
一维输入一个长度为nn的整数序列。接下来输入mm个操作,每个操作包含三个整数l,r,cl,r,c,表示将序列中[l,r][l,r]之间的每个数加上cc。请你输出进行完所有操作后的序列。输入格式第一行包含两个整数nn和mm。第二行包含nn个整数,表示整数序列。接下来mm行,每行包含三个整数l,r,cl,r,c,表示一个操作。输出格式共一行,包含nn个整数,表示最终序列。数据范围1≤n,m≤1000001≤n,m≤100000,1...原创 2022-02-06 21:58:07 · 58 阅读 · 0 评论 -
前缀和(一维与二维)
一维:输入一个长度为 nn 的整数序列。接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。输入格式第一行包含两个整数 nn 和 mm。第二行包含 nn 个整数,表示整数数列。接下来 mm 行,每行包含两个整数 ll 和 rr,表示一个询问的区间范围。输出格式共 mm 行,每行输出一个询问的结果。数据范围1≤l≤r≤n1≤l≤r≤n,1≤n,m≤1000001≤n,m≤100000,−原创 2022-02-06 21:17:52 · 56 阅读 · 0 评论 -
二分查找算法模板(整数)
二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid + 1;,计算mid时不需要加1。int bsearch_1(int l, int r){ while (l < r) { int mid = l + r >> 1;//此步原创 2022-02-02 23:32:39 · 105 阅读 · 0 评论 -
快排和归并排序
快速排序#include<iostream>using namespace std;const int N = 1e6+10;int q[N];void quick_sort(int q[],int l,int r){ if(l>=r)return; int x=q[(l+r)/2],i=l-1,j=r+1; while(i<j){ do i++;while(q[i]<x); do j--;while(q[j]>x); if(i<j)原创 2022-02-02 19:32:29 · 606 阅读 · 0 评论 -
字符串的位移与包含
#include<iostream>#include<algorithm>using namespace std;int main(){ string a,b; cin>>a>>b; if(a.size() < b.size()) swap(a,b); for(int i=0;i< a.size();i++){ a=a.substr(1)+a[0]; for(int j=0;j+b.size()<=a.size(.原创 2022-01-27 17:05:50 · 119 阅读 · 0 评论 -
信息加密767
加密的规则如下:字符串中的小写字母,aa加密为bb,bb加密为cc,…,yy加密为zz,zz加密为aa。 字符串中的大写字母,AA加密为BB,BB加密为CC,…,YY加密为ZZ,ZZ加密为AA。 字符串中的其他字符,不作处理。请你输出加密后的字符串。输入格式共一行,包含一个字符串。注意字符串中可能包含空格。输出格式输出加密后的字符串。#include<iostream>#include<cstring>using n...原创 2022-01-27 12:53:42 · 705 阅读 · 0 评论 -
在一个字符串中,输出最先只出现一次的字母(无空格)
#include<iostream>#include<cstring>using namespace std;char str[100010];int cnt[26];int main(){ fgets(str,100010,stdin); for(int i=0,len=strlen(str);i<len;i++){ cnt[str[i]-'a']++; } for(int j=0,len=strlen(str);j<len;j++){ if.原创 2022-01-27 12:00:42 · 803 阅读 · 0 评论 -
蛇形矩阵;
#include<iostream>using namespace std;const int N=110;int n,m;int q[N][N];int main(){ cin>>n>>m; int dx[]={-1,0,1,0},dy[]={0,1,0,-1}; int x=0,y=0,d=1; for(int i=1;i<=n*m;i++){ q[x][y]=i; int a=x+dx[d],b=y+dy[d]; i...原创 2022-01-25 11:45:04 · 401 阅读 · 0 评论 -
平方矩阵 II
题解原创 2022-01-23 16:59:52 · 453 阅读 · 0 评论