- 博客(250)
- 收藏
- 关注
原创 [题] The sum problem # 数论 # 因数
接下来对x, y进行匹配,只要是因数对就看看是否满足条件——x, y使得a, b为整数。高斯公式: 1+2+…+n=n*(n+1)/2。有2个因子,分别为x和y(y>x),定义为从a到b的总和。
2023-12-03 10:58:37 407
原创 [笔记] 错排问题 #错排
一个n个元素的排列,若一个排列中所有的元素都不在自己原来的位置上,那么这样的一个排列就称为原排列的一个错排。而研究一个排列的错排个数的问题,就称为错排问题(或称为更列问题)。个元素,若不在自己的位置上,则有。
2023-11-21 20:47:21 307
原创 [笔记] 函数sort() #排序
STL中的sort()并非只是普通的快速排序,除了对普通的快速排序进行优化,它还结合了插入排序和堆排序。根据不同的数量级别以及不同情况,能自动选用合适的排序方法。
2023-11-06 22:15:45 196
原创 [笔记] &str、str、*str的指向关系
系统会在栈中创建一个临时的指针变量。则代表了这个地址上的变量储存的值。表示:指向的地址存储的内容。当你在函数中运行到下面代码时。
2023-11-03 11:22:40 326
原创 [笔记] 字符串输入 #字符输入
逐个字符手动读取,因为题目的要求,要对每个字符逐个操作,所以就输入的时候顺便比较大小了。从下面例子可以看到,这样读进去的字符串,会在最后面加上。从下面例子可以看到,这样读进去的字符串,会在最后面加上。字符,然后整个所有组的输入都齐了之后会有一个。我的理解是:每个字符串末尾会有。
2023-11-02 22:51:24 145
原创 [题] 查找最大元素 #字符输入
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。对于输入的每个字符串,查找其中的最大字母(ASCII码最大),在该字母后面插入字符串“(max)”。输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。
2023-11-02 22:08:11 169
原创 [笔记] islower(),tolower(),toupper()
islower() 函数用来检测一个字符是(1)否(0)是小写字母。toupper()的意思是将小写字母转换为大写字母tolower()的意思是将大写字母转换为小写字母!
2023-11-02 18:23:09 76
原创 [笔记] ‘\0‘的含义:任何字符串后面都会有的结束符。
字符串总是以“\0”作为串的结束符;因此当把一个字符串存入一个数组时,也把结束符“\0”存入数组,并以此作为该字符串是否结束的标志。‘\0’ 是字符串的结束符,任何字符串之后都会自动加上’\0’。如果字符串末尾少了‘\0’字符,则其在输出时可能会出现乱码问题。
2023-11-02 18:03:52 419
原创 [笔记] 关于y1变量取名冲突的问题
结论是:所以当我们用math头文件的时候,不能在全局定义 y0 和 y1,j0、j1、jn、yn。遇到的问题和这位老哥的一模一样。
2023-10-29 15:15:37 159
原创 [题] 跳房子 #dp #二分答案 #单调队列优化
花g个金币可以升级机器人,使其跳跃距离范围向上向下增加g。更多的金币会有更高的分数,所以向右二分答案。求满足分数下,最少使用金币数。花最少的金币,获得分数k。
2023-10-26 13:29:41 78
原创 [笔记] 筛素数——朴素筛法及其优化:埃氏筛法 #质数(素数)
从2~n枚举 i,再从小到大枚举所有已知的质数 primes[j],筛掉合数 i*primes[j],遇到新的质数就入队==枚举所有小于n的数i将i的所有倍数筛掉。筛完后剩下的数就是质数。
2023-10-21 11:19:03 238
原创 [题] 筛质数 #质数(素数)#线性筛质数(素数)
从2~n枚举 i,再从小到大枚举所有已知的质数 primes[j],筛掉合数 i*primes[j],遇到新的质数就入队==:n只会被n的最小质因子筛掉。
2023-10-20 22:11:54 181
原创 [题] 分解质因数 #质数(素数)
题目大意:输入:n个正整数。输出:每个正整数的所有质因数以及其指数。每处理一个正整数有一组输出,每组输出之间用一个空行隔开。
2023-10-20 21:07:54 265
原创 [题] 试除法判定质数 #质数(素数) #试除法
原理:约数是一对一对的,所以每次枚举较小的一个约数就好。时间:O( sqrt(n) )时间:O( (n) ))
2023-10-20 20:44:17 85
原创 [笔记] 十进制转n进制
n对 x取模,就是x位上的数字,因为模出来的数不足x举例来说就是5&2=1,这个1就是2位上的1当前位取完后,n/=x,表示n将对x进行取模(进入下一位)重复此操作直至n=0。
2023-10-19 23:04:00 418
原创 [题] 求特殊自然数 #十进制转n进制
范围限定:七进制与九进制表示都是三位数。最大:888(9) = 728(10)a位上的数字,因为模出来的数不足x^a。最小:100(7) = 49(10)然后就是十进制转x进制的问题。重复此操作直至n=0。首先,不可能无限穷举。
2023-10-19 22:53:08 139
原创 [题] Peter 的烟 #数学推导
数学式表示为:n烟蒂 = 1烟 + 1烟蒂 => n-1烟蒂 = 1烟。比如我每6个烟蒂才能换一根烟时,按照上面的推导我可以5个烟蒂换一根烟。所以我们一开始就将烟蒂总数减去1,使得最后的n-1个烟蒂变为n-2个。所以,重申一遍:烟蒂满足n个的情况下,每n-1个烟蒂就是一根烟。这个操作对前面的烟蒂是不会有影响的,前面的烟蒂会正常地被换掉。我自己做的是模拟整个吸烟然后烟蒂换烟的过程,很笨。n个烟蒂可以换一根烟,这根烟吸完可以获得一个烟蒂。那么在烟蒂足够的情况下,每n-1个烟蒂就是一根烟。
2023-10-15 18:05:11 229
原创 [题] 差分矩阵 #差分
函数作用是将矩阵之内的数全部加上c, 其余部分不会变。这道题的方法,也就是将最后得到的b数组进行。利用差分的思想,扩展到二维上。而最后的实现其实就是前面。得到的b数组就是答案。
2023-10-15 17:28:44 367
原创 [题] 子矩阵的和 #二维前缀和
表示求 以(x1, y1)为左上角,以(x2, y2)为右下角 矩阵内所有元素之和。表示以(1, 1)为左上角以(i, j)为右下角的矩阵内所有元素之和。将输入后的数组进行初始化。
2023-10-15 16:26:44 294
原创 [题] 最大异或对 #字典树 #异或
注:-1的二进制码全是 1,所以 ~-1 == 0!从最高位往下找,确保越高的位置能做到最大。将一个整数变为一个32位的二进制字符串。所以尽量走不动的路,没有就走同路。然后在树上开辟对应的点位。第三:异为1,同为0。
2023-10-14 13:50:35 54
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人