自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 Codeforces Round #772 (Div. 2)D. Infinite Set

🎈文章目录🌴题目描述🌃解题报告🍬AC代码(c++)🎉🎉🎉🎉号外号外高校算法学习社区开始新活动啦🚩🚩🚩因为同学们的基础不一样,觉得原来的每日一题比较简单,所以我们决定开设一个普及组一个提高组🙇🙇🙇提高组由我负责,每日一题,我们一起卷起来🚀🚀🚀🌴题目描述给你nnn个数,分别是a1,a2,a3...ana_1,a_2,a_3...a_na1​,a2​,a3​...an​作为集合初始包含的数。对于ax(1≤x≤n)a_x(1 \leq x \leq n)ax​(1≤x≤n),4ax4a_x4ax​和2ax

2022-05-16 14:33:03 395 1

原创 NC208246胖胖的牛牛(拆点建图)

🎈文章目录🌴题目描述🌃解题报告🍬AC代码(c++)🎉🎉🎉🎉号外号外高校算法学习社区开始新活动啦🚩🚩🚩因为同学们的基础不一样,觉得原来的每日一题比较简单,所以我们决定开设一个普及组一个提高组🙇🙇🙇提高组由我负责,每日一题,我们一起卷起来🚀🚀🚀🌴题目描述每逢佳节胖三斤,牛牛在过去的节日里长胖了,连拐弯都困难,甚至会卡在门上,所以他很讨厌拐弯。给你一个N∗N(0≤N≤100)N*N(0≤N≤100)N∗N(0≤N≤100) 的方格中,‘x’表示障碍,‘.’表示没有障碍(可以走),牛牛可以从一个格子走到他

2022-05-01 19:25:25 920 1

原创 牛客NC13251模

🎈文章目录🌴题目描述🌃解题报告🍬AC代码(c++)🎉🎉🎉🎉号外号外高校算法学习社区开始新活动啦🚩🚩🚩因为同学们的基础不一样,觉得原来的每日一题比较简单,所以我们决定开设一个普及组一个提高组🙇🙇🙇提高组由我负责,每日一题,我们一起卷起来🚀🚀🚀🌴题目描述给定四个正整数a,b,c,k,a,b,c,k,a,b,c,k,回答是否存在一个正整数n,n,n,使得a∗na*na∗n在kkk进制表示下各位的数值之和模bbb为ccc。🌃解题报告 1.k进制下的各位和首先我们先来想一个子问题:k进制下

2022-04-20 14:05:56 831 2

原创 第46届ICPC 东亚区域赛(澳门) A So I‘ll Max Out My Constructive Algor...

🎈文章目录🌴题目描述(大意)🌃解题报告🍬AC代码(c++)🎉🎉🎉🎉号外号外高校算法学习社区开始新活动啦🚩🚩🚩因为同学们的基础不一样,觉得原来的每日一题比较简单,所以我们决定开设一个普及组一个提高组🙇🙇🙇提高组由我负责,每日一题,我们一起卷起来🚀🚀🚀🌴题目描述(大意)给定一张图,图上的(i,j)(i,j)(i,j)点的高度在(i,j)(i,j)(i,j)位置给出。请找出一条经过所有点的路并且下山处数量大于等于上山处。🌃解题报告任意找一条路呢,他一定有一个上山数量一个下山数量,他们一定有一个大小关

2022-04-18 16:28:21 822 7

原创 2021-2022 ICPC, NERC, Northern Eurasia Onsite C Connect the Points

🎈文章目录🌴题目描述(大意)🌃解题报告🍬AC代码(c++)🎉🎉🎉🎉号外号外高校算法学习社区开始新活动啦🚩🚩🚩因为同学们的基础不一样,觉得原来的每日一题比较简单,所以我们决定开设一个普及组一个提高组🙇🙇🙇提高组由我负责,每日一题,我们一起卷起来🚀🚀🚀🌴题目描述(大意)给你三个点,你需要用最短的nnn条线段把他们三个点都连起来。需要注意的是你使用的每条线段都必须平行或垂直于坐标轴。🌃解题报告 1.线段数(探讨线段数时我们可以暂时忽略线段最短的问题)首先我们先来认识一下这个问题。既然要

2022-04-14 16:10:32 791 14

原创 4.14每日一题——栗酱的数列

每日一题

2022-04-13 19:03:06 455 7

原创 蓝桥杯《修改数组》 超详细

蓝桥杯冲冲冲~

2022-03-28 18:45:59 1715 2

原创 蓝桥杯每日练习(字符串哈希,最长公共子序列详解)

蓝桥杯冲冲冲

2022-03-23 14:10:04 3300 60

原创 蓝桥杯每日练习

蓝桥杯每日练习

2022-03-22 15:06:31 1867 4

原创 蓝桥杯每日练习(并查集,状压dp,bfs)

蓝桥杯每日练习

2022-03-21 11:56:21 1143 10

原创 蓝桥杯每日练习

蓝桥杯冲冲冲~

2022-03-16 11:56:21 1527 6

原创 蓝桥杯每日练习

蓝桥杯冲冲冲~

2022-03-15 11:57:11 1302 1

原创 蓝桥杯每日练习

🔔目录 🚀今日题目💓相乘题目描述解题报告参考代码(C++版本)🌟空间🌱题目描述🌴解题报告🌵参考代码(C++版本)发现环题目描述🚗解题报告参考代码(C++版本) 蓝桥杯冲冲冲~回顾🔖蓝桥杯每日练习(巧排扑克牌,质数拆分,日志统计,递增三元组,外卖店优先级)🔖蓝桥杯每日练习(猴子分香蕉,等差数列,平方序列,倍数问题)🔖蓝桥杯每日练习(纯质数(筛法的应用),最少砝码,灌溉)🔖蓝桥杯每日练习(年龄巧合,纸牌三角形,取球游戏) 🚀今日题目💓相乘题目描述小蓝发现,他将 1 至 10

2022-03-14 14:41:52 1868 4

原创 蓝桥杯每日练习

蓝桥杯冲冲冲~

2022-03-13 19:40:17 4721 6

原创 蓝桥杯每日练习

蓝桥杯每日练习

2022-03-12 15:11:02 817 5

原创 蓝桥杯每日练习

年龄巧合暴力枚举每一个数字判断(注意题目上有两个人,找的是年龄大点的)#include <iostream>using namespace std;int main(){ int st=0; for(int i=2014;;i--) { int age=2014-i; int year=i,cnt=0; while(year) { cnt+=year%10; year/=10; } if(age==cnt) {

2022-03-10 12:45:31 519 2

原创 蓝桥杯每日练习

排它平方数枚举六位数,但是因为他又有个很强的性质每一个数位都是不一样的数字,那么只需要dfs一下10个数字的全排列(只取前6位)然后把平方以后的结果依次判断数位是否使用过就可以了#include <iostream>using namespace std;int st[10];long long n;void dfs(int k) { if(k==6) { if(n==203879) return; long long cnt=n*n; int

2022-03-09 13:31:55 452 5

原创 蓝桥杯每日练习

文章目录纯质数(筛法的应用)最少砝码灌溉纯质数(筛法的应用)筛法筛一遍筛出所有质数然后挨个判断就可以了#include <iostream>#include <vector>using namespace std;const int N=20210610;int st[N];vector<int>prime;void isprime() { for(int i=2;i<=20210605;i++) { if(!st[i]) pri

2022-03-08 14:21:36 611 4

原创 SpringBoot集成Redis

文章目录SpringBoot集成Redismaven项目优势导包编写yml文件SpringBoot集成Redismaven项目优势维护和管理第三方jar包。实际应用的项目之间存在依赖关系,A项目如果依赖CD项目,A项目需要的jar包我们可能很清楚,但CD项目可能不清楚,Maven可以帮助解决此问题。在完成配置后,Maven项目中可以自动导入直接或间接依赖的jar包。导包maven项目,jar包依赖是<dependency> <groupId>org.sprin

2022-01-26 23:17:01 1112

原创 Java操作Redis

文章目录Jedis类(1)导包Jedis类的使用RedisTempate类StringRedisTemplate类Jedis类(1)导包最新版下载地址注意版本问题,可能会有各种各样的奇怪问题Jedis类的使用使用命令就是cmd中操作的语句,只需要调用对应方法就好import redis.clients.jedis.Jedis;/** * @author 小王同学 * @date 2022/1/25 22:18 */public class redis { public st

2022-01-25 23:47:23 689

原创 Redis事务操作

文章目录事务执行事务正常执行事务取消事务执行事务编译时异常运行时异常redis乐观锁事务事务:由一系列数据库操作组成的一个完整的逻辑过程(指令集)Mysql中事务的四大特性1.Atomicity(原子性):一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。2.Consistency(一致性):在事务开始之前和事务结束以后,数据库的完整性

2022-01-24 23:42:45 765

原创 Day3、Redis地理位置、基数统计、位图场景使用详解

文章目录gaospatial地理信息Hyperloglog 基数统计Bitmap 位图gaospatial地理信息城市经纬度查询*添加一个或多个地理位置坐标GEOADD key longitude latitude member [longitude latitude member ...]key为该地理位置的索引longitude表示该位置的经度latitude表示该位置的纬度member表示地名[longitude latitude member …]表示可以重复添加,中间以空格分

2022-01-23 22:12:12 274

原创 Redis五大数据类型使用详解

文章目录stirnghashliststirng设置string类型数据set key value 获取key对应的valueget key获取key对应的字符串的子串(start到end下标从0开始,如果end大于长度默认返回最后一个字符,end=-1表示结尾是最后一个字符)getrange key start end获取多个key的值mget key1 key2 key3 ...返回key对应的字符串的长度strlen key设置多个键值对mset key1 valu

2022-01-22 22:21:05 347

原创 Redis认识与环境配置

文章目录Redis是什么环境配置(Windows下)安装运行简单命令Redis是什么Redis是现在最受欢迎的NoSQL数据库(全称Not Only SQL,非关系型数据库)之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:1.基于内存运行,性能高效2.支持分布式,理论上可以无限扩展3.key-value存储系统4.开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-

2022-01-21 23:20:25 907

原创 《LeetCode零基础指南》(第九讲) 简单递归

文章目录172. 阶乘后的零1342. 将数字变成 0 的操作次数222. 完全二叉树的节点个数LCP 44. 开幕式焰火172. 阶乘后的零class Solution {public: int trailingZeroes(int n) { if(n==0) return 0; int sum=0,m=n; while(m%5==0) m/=5,sum++; return sum+trailingZeroes(n-1);

2021-12-19 20:35:40 648

原创 《LeetCode零基础指南》(第九讲) 二级指针

文章目录832. 翻转图像867. 转置矩阵566. 重塑矩阵2022. 将一维数组转变成二维数组1260. 二维网格迁移832. 翻转图像class Solution {public: vector<vector<int>> flipAndInvertImage(vector<vector<int>>& image) { vector<vector<int>> res=image;

2021-12-17 21:51:02 275

原创 《LeetCode零基础指南》(第八讲) 二维数组

文章目录1351. 统计有序矩阵中的负数1572. 矩阵对角线元素的和1672. 最富有客户的资产总量766. 托普利茨矩阵1380. 矩阵中的幸运数1582. 二进制矩阵中的特殊位置463. 岛屿的周长1351. 统计有序矩阵中的负数因为数据非递增的原因,所以每一行找第一个负数后面的数就一定全是负数class Solution {public: int countNegatives(vector<vector<int>>& grid) {

2021-12-16 16:28:49 382

原创 《LeetCode零基础指南》(第七讲) 贪心

文章目录1913. 两个数对之间的最大乘积差976. 三角形的最大周长561. 数组拆分 I881. 救生艇324. 摆动排序 II455. 分发饼干1827. 最少操作使数组递增1913. 两个数对之间的最大乘积差class Solution {public: int maxProductDifference(vector<int>& nums) { sort(nums.begin(),nums.end()); return nums[nu

2021-12-15 23:39:42 4293

原创 《LeetCode零基础指南》(第六讲) C排序API

文章目录912. 排序数组169. 多数元素217. 存在重复元素164. 最大间距905. 按奇偶排序数组539. 最小时间差976. 三角形的最大周长881. 救生艇912. 排序数组直接用sort函数class Solution {public: vector<int> sortArray(vector<int>& nums) { sort(nums.begin(),nums.end()); return nums;

2021-12-14 16:16:33 1292

原创 《LeetCode零基础指南》(第五讲) 指针

文章目录1470. 重新排列数组1929. 数组串联1920. 基于排列构建数组1480. 一维数组的动态和剑指 Offer 58 - II. 左旋转字符串1108. IP 地址无效化剑指 Offer 05. 替换空格1365. 有多少小于当前数字的数字剑指 Offer 17. 打印从1到最大的n位数1389. 按既定顺序创建目标数组1470. 重新排列数组用双指针把左右两边的数字按照答案顺序放好,然后一遍扫描放回到原数组中class Solution {public: void mer

2021-12-13 16:45:20 838

原创 《LeetCode零基础指南》(第四讲) 一维数组

文章目录33. 搜索旋转排序数组81. 搜索旋转排序数组 II153. 寻找旋转排序数组中的最小值70. 爬楼梯509. 斐波那契数1137. 第 N 个泰波那契数2006. 差的绝对值为 K 的数对数目LCP 01. 猜数字LCP 06. 拿硬币33. 搜索旋转排序数组这道题直接的思路当然就是暴力循环。但是细想,他是一个有单调性的数组呀,我们可不能辜负了题目这样的良苦用心。旋转后的数组放在坐标里长这样。我们可以很明显的发现他总体一定只有两种情况:目标值在左边和在右边(先暂时不考虑不存在的情况)然

2021-12-12 14:22:26 4983

原创 《LeetCode零基础指南》(第十讲) 简单递归

文章目录172. 阶乘后的零计算阶乘寻找因子5递归版本寻找因子51342. 将数字变成 0 的操作次数模拟递归版本222. 完全二叉树的节点个数递归LCP 44. 开幕式焰火dfs172. 阶乘后的零计算阶乘直接计算n的阶乘。这样算需要考虑的一个主要问题就是一定会有溢出。我们处理的方式就是先看他末尾有没有0,有0先去掉0并且答案数加一,然后给阶乘的结果只保留后几位,这样既不影响后面的计算,又不会溢出。class Solution {public: int trailingZeroes(

2021-12-09 12:26:01 476

原创 《算法零基础100讲》(第1讲) 幂和对数

文章目录2的幂位运算暴力循环3的幂用最大数判断倍数4的幂换底公式2的幂位运算利用位运算:观察知2的幂二进制一定是0000100000格式的,减一以后得到的数所有位的数字一定都是1,直接判断class Solution {public: bool isPowerOfTwo(int n) { if(n<=0) return false; int m=n-1; while(m) { if(!(m&

2021-12-08 12:24:06 278

原创 《算法零基础100讲》(第48讲) 位运算 (左移)

目录左移运算190. 颠倒二进制位231. 2 的幂476. 数字的补数338. 比特位计数左移运算左移运算,顾名思义就是对其二进制表示向左移动一位,低位补0。因为二进制的每一位在十进制中的意义,所以左移运算就相当于。对于溢出的问题,左移运算也会直接忽视这一问题,高位溢出就直接扔掉就可以了(自然溢出)。190. 颠倒二进制位class Solution {public: uint32_t reverseBits(uint32_t n) {

2021-12-07 15:37:26 431

原创 《算法零基础100讲》(第47讲) 位运算 (异或) 进阶

文章目录260. 只出现一次的数字 III861. 翻转矩阵后的得分1442. 形成两个异或相等数组的三元组数目260. 只出现一次的数字 III回忆一下基础版本(数组中只有一个数字出现一次)我们是怎么做的:对整个数组求异或和,相同的数字异或的结果就是0,最后剩下的数字就是出现一次的数字。那么这道题有两个出现一次的数字怎么办呢?我们可以这样,把这个数字拆分成两个子数组,每个数组中只有一个出现一次的数字。具体是怎么分呢?求出一个数组的异或和,他一定就等于两个出现一次的数字的异或和。这个数字的最低一位等于

2021-12-06 16:53:41 357 3

原创 《算法零基础100讲》(第46讲) 位运算 (异或) 入门

文章目录写在前面异或简单应用课后习题136. 只出现一次的数字190. 颠倒二进制位461. 汉明距离写在前面异或先来一个异或的真值表xyx^y000101011110从上面这张表,我们其实可以挖掘出不少性质。相同两个数的异或值一定是0任何数和0异或值一定是0异或值可以用来找两个数字的二进制位中不相同的位简单应用异或最经典的应用就是用于交换两个变量的值。其实也是利用了相同两个数异或和等于0的性质。代码如下:a=

2021-12-06 12:00:37 3765

原创 《算法零基础100讲》(第45讲) 位运算 (位或) 进阶

文章目录1318. 或运算的最小翻转次数剑指 Offer II 005. 单词长度的最大乘积898. 子数组按位或操作1318. 或运算的最小翻转次数直接一位一位做。这道题利于我们理解或运算aba or b000101011111class Solution {public: int minFlips(int a, int b, int c) { int ans=0; while(a||b||

2021-12-04 21:35:10 221

原创 《算法零基础100讲》(第43讲) 位运算 (位与) 进阶

文章目录397. 整数替换1404. 将二进制表示减到 1 的步骤数397. 整数替换贪心+位运算先分成奇偶两种情况:偶数那就直接除以2(右移)奇数就会有两种情况:加一或减一。从效果的角度来说,n加一能达到的效果是n最末端的一段1全部变成0,再高一位变成1(例如ob1011+1=ob1100ob1011+1=ob1100ob1011+1=ob1100);n减一能达到的效果是把最后一位的1变成0。这样看来好像奇数的话加一更好,因为他能实现更多的操作(0一定比1更好去掉);但是也不一定,如果倒数第二

2021-12-02 21:22:33 590

原创 《算法零基础100讲》(第42讲) 位运算 (位与) 入门

文章目录写在前面与运算的常见应用判断奇偶性取出某几位2的幂的判定取出二进制最低位的一个1和后面的0组成的数课后习题191. 位1的个数1356. 根据数字二进制下 1 的数目排序762. 二进制表示中质数个计算置位231. 2 的幂写在前面与运算,是一种常用的二进制运算,其真值表如下xyx&y000010100111(有0为0,全1才为1)与运算的常见应用判断奇偶性奇数一定是二的倍数加一得到的,所以二进制表示的末尾就

2021-12-01 12:37:39 492

原创 [题解]《算法零基础100讲》(第38讲) 排序进阶 - 希尔排序

文章目录写在前面912. 排序数组169. 多数元素217. 存在重复元素164. 最大间距写在前面void shellsort(vector<int>&n,int len) { for(int k=len/2;k>0;k/=2) { for(int i=k;i<len;i++) { int t=n[i],j; for(j=i;j>=k;j-=k) { if(t&

2021-11-27 23:54:41 656

空空如也

空空如也

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

TA关注的人

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