
一些小算法的学习
为了比赛而学习的一些小算法和小知识
淬炼之火
不要让未来的你责怪今天的你没有拼尽全力。
目前成果:蓝桥杯全国三等奖,蓝桥杯江苏省一等奖,mathorcup数学建模一等奖,ccfcsp240分。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
归并排序和逆序对个数问题
归并排序和用归并排序解决逆序对问题原创 2023-04-23 23:02:27 · 438 阅读 · 0 评论 -
KMP模板(C++)
【代码】KMP模板。原创 2023-04-04 09:15:41 · 210 阅读 · 0 评论 -
Trie Tree(字典树)例题
字典树与其名字一样,用其查找就像查字典一样,如果我们查找一个字符串“abcd”,那它的运行模式大概可以这样理解:从根节点出发,如果根节点有为‘a’的子结点,则去其事先储存好的索引,并以‘a’作为根节点向下搜索,如果中途没有对应的子结点则自动停止,如果有则返回结果。经常被搜索引擎系统用于文本词频统计。因此,num数组的作用是用来搜索cnt中第i个出现字母的子结点是谁即子结点是第几个出现的字母,正如上面的例子,a结点有一个子结点是b,而b有两个子结点分别是b和d,d没有子结点,第二个b又有子结点a。原创 2023-04-25 17:11:50 · 482 阅读 · 0 评论 -
STL应用:map/multimap习题POJ-2418&&POJ-3481
POJ-3481:采用一个小技巧,因为p是优先级,因此应该让p作为键(key)便于在map中排序,而最后输出值即可。POJ-2418:简单的模拟和遍历,输入避免超时采用getline,注意输出格式。原创 2022-10-03 20:00:00 · 199 阅读 · 0 评论 -
STL应用:queue习题POJ-1915
STL 队列习题原创 2022-09-26 10:56:23 · 445 阅读 · 1 评论 -
STL应用:vector习题 HDU-3527
学习STL中的vector原创 2022-09-24 14:32:26 · 581 阅读 · 0 评论 -
操作系统:用C语言实现FCFS(先来先服务),SJF(短作业抢占)和RR(时间片轮转,时间片=1)
SJF短作业抢占时要注意比较新来进程需要服务时间和剩余时间,如果新来更短则抢占,这里要注意的是如果在没有新来进程情况下,队列中的进程需要服务时间都应该比正在进行的进程长,并且在该进程进行完时应该挑选队列里最短的作业进行完成。另外,后两种算法都应该注意循环的结束条件,即所有进程完成的判断条件和剩余服务时间的记录。SJF是抢占短作业优先算法,在采取队列的同时要注意当前进程的剩余服务时间和新来进程的服务时间长短,如果新来的更短则进行抢占,否则继续进行,如果该进程进行完则要在队列中挑选最短的作业进行执行。原创 2022-12-21 11:48:21 · 4343 阅读 · 4 评论 -
操作系统:用C语言模拟先进先出的算法(FIFO)、最久未使用算法(LRU)、改进的Clock置换算法的命中率。
当内存存满且有新的页调入内存时时,会在内存中挑选time最大的页进行删除,并将新的页填入。改进Clock置换算法一共分四步,当内存存满且有新页调入时,先寻找A=0且M=0的进行替换,如果没有则寻找A=0且M=1进行替换,如果没有将所有内存中的页的A便为0,在重复以上两步进行内存中的新旧页替换。FIFO先入先出算法采用队列思想,先调入内存的页放在最前面,当内存存满时新的不同的页需要调入内存时,旧的页要进行依次出队,然后将新的页放入队列最后。根据数学计算可知,当内存页为40时,三种算法的命中率均为90及以上。原创 2022-12-21 11:53:19 · 4593 阅读 · 2 评论 -
算法学习:用回溯解决01背包问题
思维上可以构造一个二叉树,每层表示一个物品,向左为装入,向右为不装入。原创 2022-06-30 11:47:53 · 399 阅读 · 0 评论 -
C语言数组插入问题
数组插入问题。生成一个 10 元素构成的一维数组,数组元素由用户随机输入。要求:先按照 升序排列并输出。再输入一个数,按照升序的规律将其插入并输出 本题思路在于:用冒泡法对数组进行排序,然后找到合适的位置进行输出。 #include<stdio.h> int main() { int a[10]; int i,j,n,k,l=0; for(i=0;i<10;i++){ scanf("%d ",&a[i]); //...原创 2022-01-03 18:40:35 · 2639 阅读 · 0 评论