- 2024-11-21链表
前言简单的数据结构,存储单元存储线性表STL使用#include<bits/stdc++.h>usingnamespacestd;intmain(){list<int>myList;myList.push_back(6);//在list的末尾添加元素6myList.push_back(6);//在list的末尾添加元素6my
- 2024-11-21队列
前言先进先出,没啥好说的STLqueue#include<bits/stdc++.h>usingnamespacestd;intmain(){queue<int>q;q.push(12);//12进入队列q.push(13);//13进入队列q.push(123);//123进入队列cout<<
- 2024-11-21深入计算机语言之C++:STL之vector的模拟实现
- 2024-11-21Android13修改一些默认设置
platform:RK3588 1.导航栏选择手势方式device/rockchip/rk3588---a/overlay/frameworks/base/core/res/res/values/config.xml+++b/overlay/frameworks/base/core/res/res/values/config.xml@@-61,7+61,10@@0:3buttonmode(back,home,overviewbutt
- 2024-11-21深入计算机语言之C++:STL之vector的认识和使用
- 2024-11-20C++ list (链表)容器
C++ list 链表#include<iostream>usingnamespacestd;#include<list>voidprintList(constlist<int>&L){ for(list<int>::const_iteratorit=L.begin();it!=L.end();it++) { cout<<*it<<"";
- 2024-11-20滑动窗口最大值——栈与队列
第一版代码:classSolution{private:classMyQueue{//单调队列(从大到小)public:deque<int>que;//使用deque来实现单调队列//每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。//同时pop之前判断队列当
- 2024-11-18vector,map
1.这下c++又要开始学习了,废话少说,这编程语言就是要多联系。 vector, 无非就是增,删,查,改。 增, 构造函数,插入,尾巴插入。insert,push_back.删, earse,pop_back.resize.查 vect1.at(0), *iter, vect1[],vect1.front,back。
- 2024-11-18常用代码模板1——基础算法
算法基础课相关代码模板活动链接——算法基础课快速排序算法模板——模板题luogu785.快速排序voidquick_sort(intq[],intl,intr){if(l>=r)return;inti=l-1,j=r+1,x=q[l+r>>1];while(i<j){doi++;wh
- 2024-11-17高精度加减乘除模板
高精度加减法:高精度加法#include<iostream>#include<vector>usingnamespacestd;vector<int>add(vector<int>&A,vector<int>&B){if(A.size()<B.size())returnadd(B,A);vector<int>C;intt=0;
- 2024-11-172024.11.16模拟赛
总结:日常犯困,日常去厕所清醒,日常疯狂调试,不日常四个半小时的模拟赛。打了T1的60分暴力+特殊样例,T4的40分暴力+特殊样例,但是T1不知道为什么\(dfs\)爆栈了,所以没骗到特殊样例的分,T4特殊样例式子推错,也没骗到分,所以最后T130分,T420分,共50分,挂了50分。关于T1:四个人,想了四个半小时,摸
- 2024-11-16P8119 「Wdoi-1.5」幻想乡游览计划
不妨考虑树的情况,对于图只要取一棵生成树即可。\(k\le4n\)是容易的,两个点分别dfs就是\(\le4n\)次。对于\(k\le3n\),考虑一个做法:一个人去遍历整棵树,每次拓展新点时交换。不难证明正确性,次数\(\le3n\)。考虑优化这个策略。注意到其中一个点一直在根,这非常浪费。事实上
- 2024-11-15vector<int>::push_back 与直接访问性能对比
vector是提前开好空间然后每次clear,vector2是reserve,list就是list,array是对vectorvec[cur++]=i;。这里都是整数,push_back与emplace_back整体没有什么区别,但有人要看,所以函数名前面加了e的是emplace_back。测试结果:array<vector=vector2<<list2024-11-15T
- 2024-11-15【模板】Runs
学习资料:Lyndon&Runs-洛谷专栏。yyc讲的太好了啊,我就不抄了。做Lyndon分解的Duval算法在Runs的求解中出现次数非常高,请一定记住它。if(tl+tr>=r-l+1)这一行是算的刚刚好的,这里对应的LyndonRoot是\([l,r)\),然后求出lcp,lcs分别是\(tl,tr\),则这个ru
- 2024-11-151018 Public Bike Management(多条最短路径,dijkstra+dfs+回溯)
该题考查多条最短路径的计算,对比单条最短路,主要有两点不同:1.在dijkstra算法中记录每个结点的所有相同最短距离的前结点2.在dfs找多条最短路径时需要回溯状态拿到所有最短路径以后,我们根据题意去获取相应的结果即可1#include<bits/stdc++.h>2usingnamespacestd;
- 2024-11-14区块反转c++
代码#include<iostream>#include<vector>usingnamespacestd;structnode{ intdata,next;}A[100001];vector<int>L,ans,E[100001];ints,n,a,t,k,mark,cnt,c;intmain(){ cin>>s>>n>>k; for(
- 2024-11-14STL标准模板库c++
STL:广义上分为:容器,算法,迭代器容器与算法间通过迭代器进行无缝连接。STL六大组件,分别是容器,算法,迭代器,仿函数,适配器,空间配置器。vector容器可以理解为数组;为单端数组,区别在于数组为静态空间,而vector可以动态扩展动态扩展:不是在原空间下,找到更
- 2024-11-12leetcode 50. Pow(x, n)
50.Pow(x,n)要特别注意n的范围,如果n=-2^31,使用int是不可以直接n=-n;的 一、使用longclassSolution{public:doublemyPow(doublex,intn){if(x==0)return0;if(n==0)return1;if(n==1)returnx;
- 2024-11-11HDU 6964 I love counting
看到\(\oplus\),肯定想到trie。当我们一位可以是\(1\)但是变成\(0\)时,一个子树内的都合法。特殊的,最后走到的叶子也合法。想法负一:我会莫队!时间复杂度\(\mathcal{O}(n\sqrt{n}\logn)\),待更新。想法零:我会树套树!待更新。想法一:我会HH的项链!我们按照\(r\)离线,每一次查
- 2024-11-11CF Round 985
比赛链接A.Set#include<iostream>#include<cstdio>usingnamespacestd;intmain(){intt;scanf("%d",&t);while(t--){intl,r,k;scanf("%d%d%d",&l,&r,&k);printf("%
- 2024-11-11G. Binary Tree
“交互的本质是二分”本题的询问次数卡得很严,必须保证每次都能让候选点集合严格缩小一半。因此三选二的时候不能任选,而要选较大的两个点击查看代码#include<bits/stdc++.h>usingnamespacestd;vector<int>a[100005];introot,p,val,s[100005],cnt[100005],va[100005],d
- 2024-11-10The 3rd Universal Cup. Stage 16: Nanjing
B.BirthdayGift把原始串的偶数位取反,题目从消除相同就可以转换为消除不同。因此只要有不同位,就一定可以消除。因此最终剩下的串一定是全0或者全1。因此答案就是翻转后的1、0之差。我们用2尽可能的减少0,1只差即可。#include<bits/stdc++.h>#definelllonglongvo
- 2024-11-07洛谷P3516 [POI2011] PRZ-Shift
题意Link有一个排列\(a\),你可以执行两种操作:A:将最后一个数移到最前面B:将第三个数移到最前面构造一组操作序列将其变为递增排列,输出形如5a2b...表示执行\(5\)次A操作再执行\(2\)次B操作。思路很有意思的构造。仔细思考,操作A使我们能将原排列变为它的任何一
- 2024-11-06LeetCode412[Fizz Buzz]
题目链接LeetCode412[FizzBuzz]详情实例实例1实例2实例3提示题解思路定义一个容器sRetVec,依次遍历每一个数如果可以被3和5同时整除,则在容器内加入一个元素"FizzBuzz",即1==((0==(num%3))&&(0==(num%5)))成立,sRetVec.push_back("FizzBuzz")继续遍
- 2024-11-06纵然千万数据流逝,唯独vector长存
公主请阅1.vector的一些方法1vector和stringpush_back插入以及三种遍历数组的方式一些方法vector中的一些常见的方法1.push_back()2.pop_back()3.size()4.clear()5.empty()6.resize()7.insert()8.erase()9.at()10.front和back()11.data()12.capacity()13.