- 博客(21)
- 收藏
- 关注
原创 (PAT甲级)1046 Shortest Distance(简单模拟)
超时代码: 种方法不行,因为如果极端情况有10^5个点 10^4次查下 就会有10^9次操作,无法在100ms完成。ac代码:引入dis数组,减少一个for循环。按照题意模拟,注意时间复杂度。注意时间复杂度,小心超时。
2024-11-21 11:11:14
257
原创 (PAT甲级)1056 Mice and Rice(队列+中等模拟)
每轮比赛循环进行操作,划分小组,小组内选出最重的老鼠重新放入队尾,将其他小老鼠在队首出队,出队的小老鼠的排名为本轮划分的组数加1。刚开始用k代表ng,但是和下面的k重复了,没有看出来找了好久的bug,下次还是用题目给的变量命名。直到队列中只有一个元素,跳出循环,为这个元素单独赋值。
2024-11-20 16:34:08
821
原创 静态链表的板子
3.遍历链表,count计数,order赋值(无效点的order的值都是MAX,比较函数时候将小值往前,这样链表前面就都是有效点了)例题:PAT甲级:1074 1032 1052 1097。(由于题目给出的点可能不在链表中,所以就会出现无效点)4.排序,这样就形成链表了。
2024-11-19 17:09:46
216
原创 (PAT甲级)1097 Deduplication on a Linked List (静态链表)
还是利用静态链表的板子,因为最后要输出不被删和被删的点,所以将结构体中的order初始化为MAX,这样将不被删点的order=count++,删去的点的order=MAX+remove++,无效点的order=2MAX,这样在之后的排序中就能将链表按用被删的点 删的点 无效点 排序,并且进行输出。输出的时候注意特判是否为最后一个点。
2024-11-19 17:05:36
201
原创 (PAT甲级) 1052 Linked List Sorting(静态链表)
3.对遍历到的点做处理,并计数(因为题目会给出一些不在链表上的点)int address;//本身地址属性不会变。struct Node{//1.定义静态链表。Node 是 结构体类型 的名称。node 作为数组变量名。2. 对链表进行初始化。
2024-11-18 15:29:44
272
原创 (PAT甲级)1060 Are They Equal (string+中等模拟)
代码思路:将数的所有前导0除去,如果是小数点就为二类,不然为一类。先分离0和小数点得到整数部分,和指数部分,然后依照题目给出的精确度,输出指数部分和整数部分。一类的处理方法:逐位寻找小数点,将小数点去掉(每碰到就不管了),而小数点前面的位数对应数的指数,后移一位e++将输入的数分两类: 一类:整数部分不为 0如0212.3213 二类:整数部分为0 如0.1212。二类的处理方法:去掉小数点,去掉小数点后出现的每一个0,指数e的初始值为0,每去掉1个0,e--
2024-11-16 15:02:54
184
原创 (PAT甲级)1011 World Cup Betting (简单模拟)
【代码】(PAT甲级)1011 World Cup Betting (简单模拟)
2024-11-16 10:19:32
172
原创 (PAT甲级)1002 A+B for Polynomials(简单模拟)
【代码】(PAT甲级)1002 A+B for Polynomials(简单模拟)
2024-11-12 20:41:41
140
原创 (PAT甲级)1005 Spell It Right(字符串+简单模拟)
把N每位上的数字转换成int类型加起来得到sum。把sum转换成string ,每位上的字母对应。a字符串数组存数字对应的英文单词。
2024-11-12 15:59:45
246
原创 (PAT甲级)1025 PAT Ranking
1:按照考场读入考生信息,读入完毕,对该考场考生进行排序,用第一种方式计算排名,并储存在结构中的考场内排名rank中。2.由于num和考场都在改变所以,每次给rank赋值,都要考虑道范围的变化。3.利用第二种方式进行计算排名(可以之间输出排名),并且完成整道题的输出。是指向当前考场的第一个学生(因为每个考场排序前的位置是。是数组下标运算符,并不能用于指针表示法中。这样的写法不符合 C++ 的语法规则。是当前考场的学生人数。个元素,表示数组中具体的第。2.对所有的考生进行排名。
2024-11-12 10:22:19
603
原创 (PAT甲级)1051 Pop Sequence
这两个的顺序不能颠倒,()内的&&操作也是有顺序的,必须要先判断栈不为空,后续s.top()==a[j]的比较才是合法的,如果栈为空还进行比较就不合法了,程序就会卡住,这在devc++上没有报错。2.栈不满就检测(队列当前元素是否与栈顶元素相等),相等就一直执行弹出栈顶元素后移队列当前元素的操作,直到不等,继续将元素入栈。
2024-11-07 16:57:53
247
2
原创 特殊数的算法(素数 完全数 最大公约数 最小公倍数)
(一)最大公约数:辗转相除法求解最大公约数,不断用两个正整数中较小的数去除以较大的数,然后再用余数去除以较小的数,一直重复这个过程,直到余数为0为止。2)方法:从2开始,逐个将n除以从2到√n之间的每个整数,如果存在能够整除n的数,则n不是素数。如果在2到√n之间找不到能整除n的数,那么n是素数。1)定义:最大公约数指的是两个或多个整数中能够同时整除它们的最大正整数,最小公倍数指的是两个或多个整数中能够被它们同时整除的最小正整数。例如:6=1+2+3,其中1、2、3为6的因子。
2023-11-19 08:36:35
211
原创 初步认识C语言
int a;//定义一个变量//定义多个变量,用逗号隔开需要注意的是,变量在使用之前应该被初始化。未初始化的变量的值是未定义的,可能包含任意的垃圾值。因此,为了避免不确定的行为和错误,建议在使用变量之前进行初始化。
2023-10-06 00:52:54
205
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人