- 博客(33)
- 收藏
- 关注
原创 约瑟夫问题
主要使用STL队列,每次都判断队列的队头是否喊到m,如果是就输出并且从队里面删除,否则就将队头换到队尾实现循环,用now记录当前喊到的数字。
2024-10-31 20:52:44
227
原创 洛谷-地毯填补
最上面那位博主里面有分析,最重要的就是被覆盖格子在其他象中就相当于是有一位公主,可以把它看成是公主来递归。弄了快两个小时了终于理解并会自己打出来了。
2024-10-20 16:27:26
256
原创 洛谷-覆盖墙壁
其中的f[0]=1;可以由题目中已给出的f(3)=5得出。重点:F[N]的转移方程:F[N]=F[N-1]+F[N-2]+2*G[N-2]G[N]的转移方程:G[N]=F[N-1]+G[N-1]
2024-10-20 12:55:40
186
原创 南蛮图腾洛谷
重点:图形由最小单元不断复制,预先将最小单元颠倒放置,并将其他设为空格,这样在输出的时候就不用考虑空格问题了,直接从最小单元到n不断复制,复制一次,k++一次。
2024-10-19 21:48:15
201
原创 STL-set容器
/删除区间【beg,end)的所有元素,其中beg和end都是迭代器,返回下一个元素的迭代器。//查找key是否存在,若存在,返回该键的元素的迭代器;若不存在,则返回set.end();//统计key的元素个数,由于set中无重复元素,故该值只能是0或1;//删除pos迭代器所指的元素,返回下一个元素的迭代器。利用仿函数可以指定set容器的排序规则//存放内置数据类型。//删除容器中值为elem的元素。//在容器中插入元素。//set和multiset容器。
2024-04-27 17:51:37
217
原创 2024-天梯赛L1-101 别再来这么多猫娘了!
注意如果违禁词<censored>的字串(违禁词是一个单词),此时会陷入不断地循环,这也就是运行超时的原因,由于题意说的是字符串由大小写字母、数字、空格及 ASCII 码范围内的标点符号的文字组成,可以找到违禁词时先不替换成<censored>,先替换成特殊符号,后续再将出现的特殊符号替换成<censored>主要用到string函数如find,replace;
2024-04-21 21:02:01
492
3
原创 笔记----c++
了解:当一个程序中没有混合使用C和C++的输入输出时,可以安全地使用ios::sync_with_stdio(0)来关闭C++输入输出流与C标准输入输出流之间的同步,以此来提高性能,但关闭同步也可能导致一些潜在的问题,比如在混合使用 C 和 C++ 输入输出时可能出现意外的结果。在string字符串中用cin输入无法输入字符串中的空格,这时候可以用getline(cin,s)进行输入,能够输入进空格。cin比scanf更快。
2024-04-21 20:54:52
137
1
原创 合并链表(笔记)
这是两个链表(没有头结点),list1指向第一个链表的首个结点,list2指向第二个链表的首个结点,然后mergedList指向的是排序之后形成的新的链表。在网上看到的一个感觉还挺厉害的解法,利用了递归调用,感觉链表居然还能跟递归扯上关系,打开了新思路。新链表是通过拼接给定的两个链表的所有节点组成的。这两个代码都是在力扣网站上看到的题解,真的很服那个递归调用的。合并链表:将两个升序链表合并为一个新的。
2024-04-17 20:57:51
191
原创 分发糖果(错题笔记)
每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目。解释:你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。第二行 是整数数组 ratings 表示每个孩子的评分。需要准备的 最少糖果数目。
2024-03-14 20:52:34
408
原创 螺旋矩阵笔记
给你一个 n 行 m 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,输出矩阵中的所有元素。给你一个整数n,输出n∗n的snake矩阵。输出n行,每行包含n个正整数,通过空格分隔。输入一行,包含一个整数n。
2024-03-14 20:18:23
339
原创 C++中nth_element相关用法
执行的结果就是:数组a从下标x到下标x+y-1的元素都小于a[x+y],下标从x+y+1到x+len-1的元素都大于a[x+y],此时 a[x+y] 就是数组区间 x 到 x+len−1 中第 y 小的数,即可以求第k小的数是多少(第零小是a[0])。扩展:对于nth_element(a,a+n-k,a+n)求第k大的数a[n-k](注第k大是从1开始,没有第零大,但是将第k大转化为第n-k小,此时包含第零小,不要弄混)。形式:nth_element(a+x,a+x+y,a+x+len)
2024-03-10 20:58:14
532
1
原创 欧几里得算法又名辗转相除法求最大公约数
该定理表明:对于任意两个整数 a 和 b,存在整数 x 和 y,使得它们的最大公约数(GCD)可以表示为 ax + by。如果 a 和 b 是整数,且它们不全为 0,那么存在整数 x 和 y,使得 ax + by = gcd(a, b)。两个整数被称为"互质"(或"互素")指的是它们的最大公约数(GCD)为1。判断两个数是否互质:计算它们的最大公约数,如果最大公约数是1,则它们是互质的。若d能整除a且d能整除b,则d能整除a+b,同时d还能整除ax+by(即a的若干倍+b的若干倍)
2024-03-10 15:55:50
433
1
原创 位运算符笔记
k=k>>1结果是k的二进制数右移一位,左边不足补零,对于十进制数而言相当于原数除以2;k=k<<1结果是k的二进制数左移一位,右边不足补零,对于十进制数而言相当于原数乘2。设一个十进制数为k,k&1" 是一个位运算,用于判断 k 的二进制表示中的最低位是否为 1。
2024-03-10 14:09:19
435
1
原创 洛谷P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布——C语言
第一行包含三个整数:�,��,��N,NA,NB,分别表示共进行 �N 次猜拳、小 A 出拳的周期长度,小 B 出拳的周期长度。对于 100%100% 的数据,0<�≤200,0<��≤200,0<��≤2000<N≤200,0<NA≤200,0<NB≤200。现在,小 A 和小 B 尝试玩这种升级版的猜拳游戏。第二行包含 ��NA 个整数,表示小 A 出拳的规律,第三行包含 ��NB 个整数,表示小 B 出拳的规律。输出一行,包含两个整数,以一个空格分隔,分别表示小 A、小 B 的得分。
2024-03-07 20:15:04
563
1
原创 闭合圆环顺逆时针走步
若有n个数分别是1,2,3.....,n逆时针围成一个圆环,若m点位置是nom,顺时针走y步后,nom=(nom+n-y)%n;逆时针走y步后,nom=(nom+y)%n;
2024-02-29 23:08:02
422
原创 洛谷P5461 赦免战俘——C语言
题目描述现有2^n×2^n(n≤10)名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小矩阵中,每一个矩阵继续分为 4 个更小的矩阵,然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以棕名处罚。给出n,请输出每名作弊者的命运,其中 0 代表被赦免,1 代表不被赦免。输入格
2024-01-09 22:45:48
648
原创 洛谷P2415 集合求和——C语言
{2,3,4}所有子集元素:{2},{3},{4},{2,3},{2,4},{3,4},{2,3,4},空集 2+3+4+2+3+2+4+3+4+2+3+4 每个元素出现4次 2的2次方 更多不在举例。子集为:∅,{2},{3},{2,3}∅,{2},{3},{2,3},和为 2+3+2+3=102+3+2+3=10。集合中的元素(元素 ≤1000≤1000)
2024-01-07 20:19:25
999
1
原创 洛谷P1598 垂直柱状图——C语言
写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过 100100 个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。由若干行组成,前几行由空格和星号组成,最后一行则是由空格和字母组成的。在任何一行末尾不要打印不需要的多余空格。四行字符,由大写字母组成,每行不超过 100100 个字符。每行输出后面不允许出现多余的空格。ok,如有疑问欢迎留言。
2024-01-07 15:00:25
641
1
原创 洛谷P1553数字反转(升级版)——C语言
洛谷C语言数的反转(升级版)-大概思路:分四个情况-整数、小数、分数、百分数(注意新数前缀零和后缀零的舍去)
2024-01-06 17:07:37
920
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人