自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 问答 (6)
  • 收藏
  • 关注

原创 2021/12

【代码】2021/12。

2024-01-14 12:39:46 372

原创 斐波那契查找2021/12/06

【代码】斐波那契查找。

2024-01-14 12:34:38 372

原创 2024/1/10

就查了一下,按知乎网友的说法如果cpu还可以勾选应该是问题不大。看到c盘快满了,点开属性发现了这个选项。

2024-01-10 16:48:30 382

原创 英语阅读笔记

英语

2022-06-06 18:45:49 170 1

原创 并查集、最大公约数/最小公倍数模板

并~查-集int pre[1000];//前驱数组 //查找根节点 int find(int x){ int r=x;//定义根节点 //查找根节点 while(pre[r]!=r){ r=pre[r]; } //路径压缩 int i=x,tmp; while(i!=r){ tmp=pre[i]; pre[i]=r; i=tmp; } return r;//返回根节点 }//不压缩简易方法 int find(int x){ return f[x]==x?

2022-04-08 01:12:25 136

原创 “2020年第十届C/C++ B组第一场蓝桥杯省赛”

参考https://blog.csdn.net/lihua777/article/details/1234648621#include<bits/stdc++.h>using namespace std;int main(){ int cha=300; int a=10000; int ans=0; while(a){ if(a-600<0){ ans=ans*60+a/10; break; } a-=300; ans+=2; } cout&

2022-04-08 01:08:31 863

原创 子序列问题,回文子串、子序列

300. 最长递增子序列class Solution {public: int lengthOfLIS(vector<int>& nums) { int n=nums.size(); if(n<=1) return n; vector<int> dp(n,1); int res=0; for(int i=0;i<n;++i){ for(int j=0

2022-03-31 23:28:52 165

原创 完全背包、打家劫舍、买卖股票

01背包问题物品只用一次#include<bits/stdc++.h>using namespace std;int main(){ int n,m;//物品数量n和背包容量m while(cin>>n>>m){ vector<int> w(m); vector<int> v(m); vector<int> dp(m+1,0); for(int i=0;i<n;++i){ cin>>

2022-03-29 13:22:39 738

原创 2022.3

6. Z 字形变换class Solution {public: string convert(string s, int numRows) { int n=s.size(); int r=numRows; if(r<2) return s; vector<string> res(r); int i=0; int flag=-1; for(char ch:s){… return ans; }};100. 相同的树class Sol

2022-03-14 21:09:35 1517

原创 浙江农林大学第二十一届程序设计竞赛校选拔赛(同步)

D阿巴阿巴#include<bits/stdc++.h>using namespace std;char str[1002];int main(){ int t; cin>>t; while(t--){ int n; cin>>n>>str; int ans=-1;S for(int i=0;i<n-7;++i){//剪枝,只能到n-8 int k=0; for(int j=0;j<8;++j){//维护

2022-03-11 00:08:42 241

原创 2021-12-5

https://github.com/kirito66465/ManageSystemhttps://segmentfault.com/a/1190000019418065807. 保持城市天际线class Solution {public: int maxIncreaseKeepingSkyline(vector<vector<int>>& grid) { int n=grid.size(); vector<int> maxr

2021-12-15 21:53:11 484

原创 第十二届蓝桥杯模拟赛第三期

#include<bits/stdc++.h>using namespace std;int gcd(int a,int b){ if(b==0) return a; gcd(b,a%b);}int main(){ int k=0; for(int i=1;i<2020;++i){ if(gcd(i,2020)==1){ k++; } } cout<<k;. } A是65,a是97https://blog.csdn.net/.

2021-11-30 17:23:21 210

原创 第十二届蓝桥杯模拟赛第一期

#include<iostream>#include<cmath>using namespace std;//int main(){// int k=0;// for(int i=1;i<sqrt(2020);++i){// for(int j=2020;j>sqrt(2020);--j){// if(i*j==2020){// k++;// }// }// }// cout<<k;//}int main(){.

2021-11-27 22:53:59 266

原创 2021-11-04

869. 重新排序得到 2 的幂暴力打表class Solution {public: bool check(int power,int num){ int p[10],n[10]; memset(p,0,sizeof(p)); memset(n,0,sizeof(n)); while(power){ p[power%10]++; power/=10; } while(num){ n[num%10]++; num/=10; } for(int.

2021-11-04 08:09:01 61

原创 2021-10-29

下一个更大元素 Iclass Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { vector<int> res(nums1.size()); unordered_map<int,int> hash; stack<int> s;

2021-10-29 20:06:41 70

原创 2021-10-22

117. 填充每个节点的下一个右侧节点指针 II层序遍历class Solution {public: Node* connect(Node* root) { if(!root){ return root; } queue<Node*> q; q.push(root); while(!q.empty()){ int n=q.size(); Node* cur; for(int i=0;i<n;++i){

2021-10-22 17:02:36 58

原创 2021-10-21岛屿问题

66. 加一class Solution {public: vector<int> plusOne(vector<int>& digits) { int n=digits.size(); for(int i=n-1;i>=0;--i){//倒序遍历 if(digits[i]!=9){//若为9则继续往前跳,不为9则直接加1 digits[i]++; for(int j=i+1;j<n;++j){//若是个位则无需操作,若不

2021-10-22 00:35:01 63

原创 双指针法

区间列表的交集class Solution {public: vector<vector<int>> intervalIntersection(vector<vector<int>>& firstList, vector<vector<int>>& secondList) { vector< vector<int> > res; int i=0,j=0;

2021-10-15 21:42:01 52

原创 2021-10-12 城堡房间问题

深度优先搜索 城堡问题中国大学mooc中程序设计与算法(二)算法基础 郭炜https://vjudge.net/problem/OpenJ_Bailian-2815#include "iostream"#include "stack"#include "cstring"using namespace std;int R,C;//地图的行数和列数int maps[50][50];//存放地图int colors[50][50];//存放地图标志,对于不同的一条路径赋值为非0的一个数int

2021-10-12 11:19:32 118

原创 二分查找

441. 排列硬币class Solution {public: int arrangeCoins(int n) { if(n==1) return 1; int l=1,r=n; while(l<=r){ int mid=l+(r-l)/2; if((long long)2*n>=(long long)(mid+1)*mid){ l=mid+1; } else{ r=mid-1; } } return l

2021-10-10 15:34:24 74

原创 2021-10-04 ++i 与 i++

当i是对象,如迭代器时,++i效率高于i++,前置++返回的是对象的引用,后置++需要创建局部临时对象,返回值也是对象,都会引发构造函数调用。

2021-10-04 16:54:07 74

原创 2021-09-24 贪心算法

贪心分发饼干class Solution {public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(),g.end()); sort(s.begin(),s.end()); int index=s.size()-1; int res=0; for(int i=g.size()-1;i>=0;i--){//循环到小孩胃口结束

2021-09-24 10:35:40 73

原创 2021-09-17 回溯算法//???

回溯法,一般可以解决如下几种问题:组合问题:N个数里面按一定规则找出k个数的集合排列问题:N个数按一定规则全排列,有几种排列方式切割问题:一个字符串按一定规则有几种切割方式子集问题:一个N个数的集合里有多少符合条件的子集棋盘问题:N皇后,解数独等等组合无序,排列有序void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)

2021-09-17 21:46:21 123

原创 2021-09-13 -14二叉搜索树

二叉搜索树中的搜索特点有序递归法class Solution {public: TreeNode* searchBST(TreeNode* root, int val) { if(root==NULL||root->val==val){//终止条件 return root; } if(root->val > val){ return searchBST(root->left,val);//小于就搜索左子树 } if(root->v

2021-09-13 23:53:14 54

原创 2021-09-06-08-10

对称二叉树class Solution {public: bool cmp(TreeNode* l,TreeNode* r){ if(l==NULL&&r==NULL){//排除空子结点 return 1; } else if(l!=NULL&&r!=NULL&&l->val==r->val){//唯一能递归的条件 bool outside=cmp(l->left,r->right); bool in

2021-09-06 23:45:38 55

原创 2021-08-27

对称二叉树class Solution {public: bool cmp(TreeNode* l,TreeNode* r){ if(l==NULL&&r==NULL){//排除空子结点 return 1; } else if(l!=NULL&&r!=NULL&&l->val==r->val){//唯一能递归的条件 bool outside=cmp(l->left,r->right); bool in

2021-08-27 22:06:05 73

原创 2021-08-25 二叉树的遍历

struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};1.二叉树的前序遍历递归做法:class Solution {public: void preorder_traversal(TreeNode* cur,vector<int>& vec){ if(cur==NUL

2021-08-25 19:07:48 73

原创 2021-08-23-24 栈和队列

1.用栈实现队列class MyQueue {public: stack<int> istack;//输入栈 stack<int> ostack;//输出栈 MyQueue() {} void push(int x) { istack.push(x); } int pop() { if(ostack.empty()){ while(!istack.empty()){//直到输入栈为空 ostack.push(istack

2021-08-24 15:35:13 87

原创 2021-08-22 字符串

位运算异或实现交换s[l] ^= s[r]; //构造 a ^ b 的结果,并放在 a 中s[r] ^= s[l]; //将 a ^ b 这一结果再 ^ b ,存入b中,此时 b = a, a = a ^ bs[l] ^= s[r]; //a ^ b 的结果再 ^ a ,存入 a 中,此时 b = a, a = b 完成交换1.反转字符串void reverseString(vector<char>& s) { for(int i=0,j=s.size()-1;i<j

2021-08-22 23:02:54 147

原创 2021-08-21-22 哈希表

1.有效的字母异位词class Solution {public: bool isAnagram(string s, string t) { int record[26]={0}; for(int i=0;i<s.size();i++){//遍历s record[s[i]-'a']++; } for(int i=0;i<t.size();i++){//遍历t record[

2021-08-21 22:10:37 243

原创 2021-08-20 链表

类型:单链表中的节点只能指向节点的下一个节点。双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。双链表既可以向前查询也可以向后查询。循环链表:链表首尾相连,可以用来解决约瑟夫环问题。存储:数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。链表是通过指针域的指针链接在内存中各个节点。定义:单链表:struct ListNode{ int val;//结点上存储的元素数据 ListNode *next; ListNode(int x):val(x),ne

2021-08-20 19:03:51 115

原创 2021-08-19 数组笔记

注意vector 和 array的区别,vector的底层实现是array,严格来讲vector是容器,不是数组。数组的元素是不能删的,只能覆盖????C++中二维数组在地址空间上是连续的java二维数组在内存中不是3*4 的连续地址空间,而是四条连续的地址空间组成!1.二分查找左闭右闭:class Solution {public: int search(vector<int>& nums, int target) { int l=0; int r=

2021-08-19 16:50:41 82

原创 2021-08-18 01背包应用

01背包应用1.分割等和子集dp[j]表示 背包总容量是j,最大可以凑成j的子集总和为dp[j]。递推公式:dp[j] = max(dp[j], dp[j - nums[i]] + nums[i])如果如果题目给的价值都是正整数那么非0下标都初始化为0就可以了,如果题目给的价值有负数,那么非0下标就要初始化为负无穷。故dp[0]=0.如果dp[j] == j 说明,集合中的子集总和正好可以凑成总和j,bool canPartition(vector<int>& nums){

2021-08-18 21:46:33 90

原创 2021-08-17 01背包

01背包有N件物品和一个最多能被重量为W 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次二维dp数组dp[i] [j]的含义:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。递归公式:dp[i] [j] = max(dp[i - 1] [j], dp[i - 1] [j - weight[i]] + value[i])重量为j的背包能放入的最大价值和则有两种情况:1、当前背包容量j<weight[i] , 当前

2021-08-17 19:03:56 63

原创 2021-08-16 动态规划笔记

动态规划确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组1.斐波那契数int fib(int N) { if (N < 2) return N; vector<int> dp(N + 1); dp[0] = 0; dp[1] = 1; for (int i = 2; i <= N; i++) { dp[i]

2021-08-16 18:04:37 92

原创 2021-08-16 kmp算法笔记

kmp算法参考 https://mp.weixin.qq.com/s/MoRBHbS4hQXn7LcPdmHmIg字符串传参:https://www.cnblogs.com/shierlou-123/p/13554991.html字符串匹配暴力算法:void bruteforce(char *a,char *b){ for(int i=0;i<=strlen(a)-strlen(b);i++){ int flag=1; for(int j=0;b[j]!='\0';j++){

2021-08-16 00:24:30 126

原创 2021-08-13排序笔记

1、稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。2、非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序。3、原地排序:原地排序就是指在排序过程中不申请多余的存储空间,只利用原来存储待排数据的存储空间进行比较和交换的数据排序。4、非原地排序:需要利用额外的数组来辅助排序。c++函数输入参数为数组时怎么求长度https://blog.csdn.net/qq_40692109/art

2021-08-12 22:52:01 99

原创 两段代码有什么区别?为什么第一段全WA

#include<bits/stdc++.h>#include<map> using namespace std;int n,opt,score;string name;map <string,int> stu;int main(){ cin>>n; while(n--){ cin>>opt; if(opt==1){ cin>>name>>score; stu[name]=score;/.

2021-08-09 17:27:10 102

原创 (马的遍历)为什么会WA????

#include<bits/stdc++.h>using namespace std;struct point{ int x,y;};queue<point> q;int ans[410][410];int walk[8][2]={{2,1},{1,2},{2,-1},{1,-2},{-2,1},{-1,2},{-2,-1},{-1,-2}};int main(){ int n,m,x,y; cin>>n>>m>>x>.

2021-08-05 22:48:40 54

原创 2021-02-07

js基础<html lang="en"><head> <meta charset="UTF-8"> <title>wwf's web</title> <style> </style> <!-- 内嵌式js <script> alert('沙漠骆驼') </script> --> <!-- 外部js

2021-02-07 00:22:49 129

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除