自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【python】python输入与输出

【代码】【python】python输入与输出。

2024-07-25 19:42:42 89

原创 【算法】二进制常用操作

n>>k&1​lowbit(x)的用法:返回x中最后一个1,lowbitxx−x​。

2024-07-25 09:47:49 190

原创 【算法】离散化与区间合并

有些情况下,数字的值的绝对大小并不重要,而相对大小很重要。“离散化”是用数字的相对值代替它们的绝对值。把分布广而稀疏的数据转化为密集分布,从而能够让算法更快速,更省空间地处理。假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r] 之间的所有数的和。

2024-07-25 09:46:36 681

原创 【算法】数组子序列的排列&&字串简写

长度为n的序列要形成排列,一定要出现1~n的所有数(不管顺序),先用map记录所有数出现的个数,长度为n的序列能在本题形成的排列是map[1]✖map[2]✖…符合要求的子序列有:{1},{1},{1,2},{1,2},{1,2,3},{1,2,3},{1,2,3,4},{1,2,3,4},{1,5,2,3,4},{1,5,2,3,4}共 10 个。排列的定义: 长度为 m 的数组,1 到 m 每个元素都出现过,且恰好出现 1 次。一行一个整数,表示有多少个子序列是一个排列。的字符串不配使用这种简写)。

2024-07-24 14:49:11 631

原创 【算法】字典序最小的 01 字符串

每次只能交换相邻的两个字符,从前向后遍历字符,如果遇到10组合的要交换,同时k–,注意交换后的情况是前面有可能会出现10组合,因此k>0时要回退,直到(用while)前面没有10组合或k==0为止。小红有一个 01 字符串,她可以进行最多 k 次提作,每次操作可以交换相邻的两个字符,问可以得到的字典序最小的字符串是什么。第一行包含两个整数,n(1 < n < 10^5)和 k(1 < k < 10^9),表示字符串的长度和可以进行的操作次数。输出一个长度为 n 的字符串,表示字典序最小的字符串。

2024-07-24 14:45:31 160

原创 python爬虫入门小案例

HTTP协议:HyperText Transfer Protocol,超文本传输协议,发布和接收HTML的协议,服务器端口号:80端口HTTPS协议:HTTP协议的加密版本,在HTTP下加入了SSL层,服务器端口号:443我们平时输入网址时不需要手动输入端口号,浏览器会自动识别,例如下图,CSDN使用的是HTTPS协议,我们可以手动输入:443,按下回车,仍可访问网页输入错误的端口号,会加载失败,例如我们输入:80,会显示响应无效URL:Uniform Resource Locator,统一资源定位符。

2024-07-23 15:09:15 1836

原创 【算法与数据结构】KMP算法

给出两个字符串s1​和s2​,若s1​的区间lr子串与s2​完全相同,则称s2​在s1​中出现了,其出现位置为l。现在请你求出s2​在s1​中所有出现的位置。定义一个字符串s的 border 为s的一个s的子串t,满足t既是s的前缀,又是s的后缀。对于s2​,你还需要求出对于其每个前缀s′的最长 bordert′的长度。

2024-07-23 14:43:18 269

原创 【算法与数据结构】并查集

合并和查询集合的数据结构,KruskalLCA查询的时间复杂度:小于O(log2​n)近乎O(1)

2024-07-23 14:40:31 283

原创 【蓝桥杯2025备赛】分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi​×Wi​的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数。大小相同。例如一块6×5的巧克力可以切出6块2×2的巧克力或者2块3×3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi​计算出最大的边长是多少么?

2024-06-06 21:07:16 1290

原创 【蓝桥杯2025备赛】栈和单调栈

单调栈不是一种新的栈结构,它在结构上仍然是一个普通的栈,它是栈的一种使用方式。单调栈内的元素是单调递增或者单调递减的,有。

2024-05-20 14:22:36 783

原创 【杂谈】记录代码中遇到的问题(持续更新中)

写代码时经常遇到各种各样的bug,有时候很难发现,下面是我自己的一些见解。

2024-05-03 14:10:01 195

原创 【codeforces】Immobile Knight

我感觉自己不太适合写codeforces,简单题也比较考验思维,当时这题看了半天以为是搜索,写了20分钟暴力交了,还好对的,20个人19个人5分钟不到速通第一题,唯留我一人在第一题凌乱。下来看看这题思路,果然考验思维,看来还是得多练!!!

2024-05-02 12:23:44 852 1

原创 【蓝桥杯2024真题】好数

【评测用例规模与约定】 对于10%的评测用例,1≤N≤100。对于100% 的评测用例,【样例说明】 对于第一个样例,24以内的好数有1、3、5、7、9、21、23,一共7个。时间限制: 1.0s 内存限制: 256.0MB 本题总分:10分。【输出格式】 一个整数代表答案。【输入格式】 一个整数N。【样例输入2】 2024。【样例输出2】 150。【样例输入1】 24。

2024-04-29 17:39:06 2532

原创 【蓝桥2025备赛】容斥原理

高中的韦恩图,我们知道两个集合相交时我们可以通过简单的计算来认识相关的性质集合相交的区域是A∩B,集合的并集是A∪B,那怎么用集合表示A∪B我们可以看作是A集合和B集合相加,但明显中间的A∩B加了两次,因此要减去所以A∪BAB−A∩B。

2024-04-25 14:58:23 1573 1

原创 【蓝桥杯2025备赛】集合求和

我们可以猜想在集合所有子集中每个元素出现次数为。集合所有子集中的每个元素个数总和是相等的。我们先模拟一下,求集合所有子集之和的过程。(n代表元素的个数,sum是元素的和)下面是我朴素的推理过程,不保证对,),求出此集合所有子集元素之和。次,集合A中所有元素之和为sum。我们仔细观察一下所有的集合,ok,那就直接上代码了。

2024-04-21 21:22:04 987 1

原创 【蓝桥杯2025备赛】素数判断:从O(n^2)到O(n)学习之路

n2n2。

2024-04-18 22:00:46 1971 7

原创 [蓝桥杯 2018 省 A] 付账问题

几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有n个人出去吃饭,他们总共消费了S元。其中第i个人带了ai​元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出多少钱呢?为了公平起见,我们希望在总付钱量恰好为S的前提下,最后每个人付的钱的标准差最小。这里我们约定,每个人支付的钱数可以是任意非负实数,即可以不是1分钱的整数倍。你需要输出最小的标准差是多少。

2024-04-14 20:33:31 1299 1

原创 【蓝桥】二分法

网上模板很多,看得眼花缭乱,搞得不知道用哪种好,我自己就用这种吧,这是前几天看那道冶炼金属那题看到得模板,这个模板应该也适用于很多题了(闭区间)由上面的图示可以看成,如果是寻找左边的数,因此q[l]==x,那么我们就找到了我们想要且靠左的数的位置由这个图示可知,如果要寻找右边的数,最终while(l<=r)的结束条件是r在左侧,l在右侧,那么q[r]==x的话,r就是我们找的靠右侧的数的位置。

2024-04-14 15:35:07 951 1

原创 【第十五届】蓝桥杯省赛C++b组

今天是蓝桥杯省赛,已经考完了,与去年前年不同,这次总共是8题。

2024-04-13 14:59:26 7882 40

原创 [洛谷]P2249 查找

这题是二分的模板题,但是二分最容易错的地方在于while里的l和r的关系,到底是l<=r,还是l<r,要判断好,不然就会出错导致答案错误或者死循环。,相当于要往偏左的方向查找,我们可以理解范围在[l,r)的左闭右开的区间里,即l<r。第二种理解就是看成是[l,r]的左闭右闭区间,这样就可以写成while(l<=r)的单调不减的(就是后面的数字不小于前面的数字)非负整数。个整数,表示询问这些数字的编号,从。个整数,表示这些待查询的数字。个整数,以空格隔开,表示答案。,表示数字个数和询问次数。

2024-04-04 16:12:41 1180 1

原创 【蓝桥省赛】刷题统计

i可以整除d,说明我们过了c周,接下来的那一天就是星期一,当题目数大于n时,我们就确定了我们的星期几,是几就加上几就可以了。这题时间复杂度O(n),n逼近极限1e+18时必然超时,1s内计算机的处理数据量大概是1e7。因此用数学优化是必然的。b道题目,如果某个数i可以整除d,那么可以知道他刷了整数周,即c=i/d周。那么我们用7*c就处理了大部分数据,接下来小部分枚举来确定它是星期几。

2024-04-01 20:08:54 363

原创 【蓝桥云算法赛】求解线性方程组

这道题跟洛谷的一道题很像**

2024-03-31 13:07:05 203 2

原创 PERKET - 洛谷

总的苦度为每一种配料的苦度的总和。因次从第1个位置上开始,枚举该调料放或者不放,之后搜索下一个位置,当所有位置都搞好后,对选的位置进行操作求总酸度和总苦度的绝对差,之后回溯,进行下一轮直到搜索完成。这样想:0表示不选,1表示选,0101的组合,这是计算机很经典的二进制的排序,按照题目要求,是不能出现全0的情况的,因此可以使用位运算来解决。对于调料的状态有多种,选择或不选择或未考虑到,选择用1表示,而不选择用2表示,恢复到未考虑的状态用0表示,一行一个整数,表示可能的总酸度和总苦度的最小绝对差。

2024-03-31 13:02:37 630 1

原创 【蓝桥2018省赛】小朋友崇拜圈

我们从1开始,把1标记 1指向3,标记3 3指向2,标记2 2—>4—>5—>3—>2,每经过的点都被标记过了,我们发现标记过的点在2又重复了,而且最后一个数的开始的数不相等,可以return了,回溯,他会一步一步回退,沿着来时的路回退,回退过程中没有可以继续搜索的点了,那么最终回退到1,从1为起点的搜索结束,接下来搜索2,直到搜索完毕**,记住回退过程中要恢复状态**这些代表什么,他们代表的是1号同学崇拜3号,2号崇拜4号,题目说可以自己崇拜自己,比如9号就是**

2024-03-30 22:52:43 521 2

原创 [codeforces] Binary Deque

二进制双端队列,数组里的数是0,1,每一次删除可以选择最后一个或第一个,问最少操作几次后得到要求的数s,如果怎么操作都没法得到s,输出-1。可以这样想,我操作总次数可以看作是对左端和右端操作的次数的和,这个就相当于一个滑动窗口。(这里的指针更像是一种标记点,符合题意标记点移动)sum<s时,r指针向右移动,使sum尽可能增大。sum>s时,l指针向右移动,使sum尽可能减小。sum=s时,更新答案,并且我们r指针向右移动。sum为和,l,r为左右指针,初始值为1。直到l,r中某个越界为止。

2024-03-27 23:37:06 298

原创 【蓝桥省赛题2023】平均

首先对于first进行排序,因此排好后,三个1 1 1 是在一起的,同时对于1后面的second的按升序排列,即1 4 9,这样进行操作时就方便许多,因为只保留一个数,我们必然是先对这三个代价数里的最小的1进行改动,之后剩下的最小的数是4,我们对4进行改动,由于改动后1只剩1个了,我们就改完了。首先想的是花费的代价最少,因此是贪心的思想,即我对于每次选择的数的代价是最小的,那么在最后达到了总体代价最小的效果。排完序后整数和代价不匹配了,那就无法进行下一步了,

2024-03-26 13:13:10 598

原创 【leetcode】分发饼干

这时候应该遍历饼干,饼干是一直移动的数组,而孩子胃口是相对不动的一方,饼干的值是增速快的一方,这样才能找到合适的胃口的孩子,如果是孩子胃口for循环,这样胃口的数组的值一直会变大,而相对不动的饼干数组的值可能一直停留在原处。从后遍历数组,先让胃口大的孩子选饼干,显然这个饼干是要大于等于胃口的,有两个数组,我们采用一组for,一组if的情况,这样遍历应该让我们的for给到胃口,for里的循环是每一轮会减小的,让他值减小,保证饼干找到合适的孩子,在找到合适的人后,饼干的数组可以减小一次.

2024-03-23 23:48:32 493

原创 [牛客]CPP47 迭代器遍历容器

键盘输入 5 个整数,将这些数据保存到 vector 容器中,采用正向迭代器和反向迭代器分别遍历 vector 中的元素并输出。使用正向迭代器和反向迭代器分别遍历输出 vector 中的元素,元素之间使用空格隔开,两次遍历之间换行。输入的数据插入vector中,之后从最开始遍历到结尾,又从结尾遍历到开头。也可以用反向迭代器reverse_iterator (注意要写。vector容器用#include<vector>头文件。

2024-02-14 23:53:31 598

原创 【洛谷】P1957 口算练习题

又补了一个漏洞哈,去年12月学了字符串之后不久遇到了这道题,写了很久没有思路,就先放了。后来又让文星一言去写这道题,结果喜提一片WA。当时我和舍友一直在找能写代码的ai工具,找了好多ai工具,我们就拿这题去试验,最终没有任何一个ai能写出来,今天机缘巧合下终于找到了全球最厉害的ai(是什么呢,懂得都懂),让它写了这题,还是高估它了,这题它也没写出来,让它优化了很多次,还是全错,不过作为全球最厉害的ai工具还是有它的道理的,因为还有很多方面它可以说是遥遥领先的。

2024-02-02 22:48:57 958

原创 【洛谷】 P1614 爱与愁的心痛

先说一下一个有趣的事情,这道题我在12月第一次写,一般写过会有做题记录,刚刚在一份用户自创题单又遇到过,直觉告诉我这题似曾相识,但是却想不起来了,我又写了一遍,不过两次方法不一样。

2024-02-01 16:34:35 482

原创 一文让你弄懂 洛谷 P1217 [USACO1.5] 回文质数 Prime Palindromes

记录做题过程#这是一道洛谷的普及题,刚学c语言的时候做题经常遇到什么质数,什么回文的题,反正遇到的不少,当时以为这道题也会是那种常见的题,结果当然是几乎全是TLE超时,也是,有关质数和回文的题如果暴力枚举能AC,估计也不会是普及题了。当时写了半天,结果一直TLE就先搁置了,两个多月后的今天终于AC了,想写一篇文章来记录我的做题过程哈,希望大家多多关照。因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。

2024-01-25 16:38:08 929

空空如也

空空如也

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

TA关注的人

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