- 博客(64)
- 收藏
- 关注
原创 2023年JSCPC参赛经验贴
个人体验:由于本人之前考过csp所以对ubuntu的基本操作有所了解,但是在使用的过程中,我们全组都采用c++,先是试了所有的c++编译器都没有反应,包括提供的codeblocks等,最后只能采用Linux命令行输入指令编译和运行(这些指令会给你,不需要自己记住,但记住最好),这导致了我们没有调试的功能(不能打断点),因此所有的错误都要自己推理和完善。一般省内的学校会校内组织报名,会发通知,但是一般会在XCPC的训练群里发,因为很多比赛能拿奖不代表能玩转这个比赛,因此如果想报名应该留意通知,提前找好队友。
2023-06-30 14:04:53 900
原创 MySQL:触发器、权限管理
下面是创建触发器的实例,每更新一次persons表的num字段后都要更新sales表对应的sum字段。其中,persons表结构、sales表结构以及persons表结构的内容如下所示,按照后面的具体要求完成操作。⑧使用newAdmin用户向person表中插入一条新记录,查看语句执行结果。⑦使用newAdmin用户查看test_db数据库中person表中的数据。⑨退出当前登录,使用root用户重新登录,收回newAdmin账户的权限。③创建新账户,用户名称为newAdmin,密码为pw123。
2023-05-19 16:51:49 943
原创 Trie Tree(字典树)例题
字典树与其名字一样,用其查找就像查字典一样,如果我们查找一个字符串“abcd”,那它的运行模式大概可以这样理解:从根节点出发,如果根节点有为‘a’的子结点,则去其事先储存好的索引,并以‘a’作为根节点向下搜索,如果中途没有对应的子结点则自动停止,如果有则返回结果。经常被搜索引擎系统用于文本词频统计。因此,num数组的作用是用来搜索cnt中第i个出现字母的子结点是谁即子结点是第几个出现的字母,正如上面的例子,a结点有一个子结点是b,而b有两个子结点分别是b和d,d没有子结点,第二个b又有子结点a。
2023-04-25 17:11:50 416
原创 C++:用algorithm头文件的heap实现堆排序
注:vector的end()函数取的是最后一个元素的后一个位置的指针,因此操作上要注意书写方式,尤其是在用顺序迭代器进行逆序输出时。并且由基于vector的堆排序得知,堆排序的前两个参数取的是地址因此在基于数组的堆排序中前两个参数都应该是地址,另外结束位置应该是数组最后一个数字后面一个的地址,否则排序会忽略最后一个数,这一点和sort函数是一样的。
2023-04-24 21:22:31 108
原创 MYSQL:数据类型与运算符、MySQL函数
然后,使用运算符对表tmp15中不同的字段进行运算,使用逻辑操作符对数据进行逻辑操作,使用位操作符对数据进行位操作。⑥对tmp15中的字符串数值字段note进行比较运算,判断表tmp15中note字段是否为空;⑤判断price值是否落在30~80区间,返回与70和30相比最大的值,判断price是否为IN列表(10,20,50,35)中的某个值。/*向tmp15插入note 为 “This is good”,price为50的元素*//*查询tmp15中所有元素(不是字段,而是赋值的元素)*/
2023-04-14 16:52:01 456
原创 MYSQL:实现数据库的创建与删除、数据表的基本操作
学会一些简单的mysql语句,并完成一次实操。学习目标:掌握如何创建数据库熟悉数据库的删除操作熟悉MySQL中系统表类型掌握如何创建数据表掌握查看数据表结构的方法掌握如何修改数据表熟悉删除数据表的方法
2023-04-06 19:48:20 1608
原创 第29次CCFCSP认证经验总结
如果没有仔细了解过的小白去网上搜索CCFCSP,可能出现的是CSP-J/S,但是详细了解会发现,首先CSP-J/S分初试和复试,另外CSP-J/S是面向青少年(大学以下)的比赛,和NOIP类似,并且属于非专业级认证,因此作为高中学历以上的学生/程序员实际上报名的CSP并不是J/S(非专业级),而是专业级的软件能力认证。6.由于本人参加的是南京邮电大学承办的CSP,南邮的环境是基于Linux的vscode,C++,Java,python环境都是已经装好的(考试不限制语言的使用,三者之一正确即可)。
2023-03-22 20:40:11 9535 17
原创 C++:设计一个保留字(或关键字)的统计程序,从源数据文件(C或C++语言程序)中,读取字符或字符串,与保留字文件中的保留字进行匹配比较,并统计计数。
简单的c++文件操作和字符串处理
2022-12-28 20:35:27 965 3
原创 C++:设计一个学生学籍管理系统,设计相关信息,并执行一些计算和文件操作
学生信息管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,对于前者要求建立起数据库一致性和完整性、安全性好的数据库。而对于后者则要求应用程序功能完备,易使用的特点。由电脑程序执行的管理系统广泛用于个人信息,物品信息的储存上,而学生信息管理系统对于每个学校来说都是现代化管理不可或缺的一部分。究其要点,学生信息管理系统正在朝着更快速,更便捷,更安全的发展,并且将成为现在及未来很长一段时间学校对学生信息管理的重要工具。
2022-12-25 19:47:14 2532
原创 操作系统:用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 3850 2
原创 操作系统:用C语言实现FCFS(先来先服务),SJF(短作业抢占)和RR(时间片轮转,时间片=1)
SJF短作业抢占时要注意比较新来进程需要服务时间和剩余时间,如果新来更短则抢占,这里要注意的是如果在没有新来进程情况下,队列中的进程需要服务时间都应该比正在进行的进程长,并且在该进程进行完时应该挑选队列里最短的作业进行完成。另外,后两种算法都应该注意循环的结束条件,即所有进程完成的判断条件和剩余服务时间的记录。SJF是抢占短作业优先算法,在采取队列的同时要注意当前进程的剩余服务时间和新来进程的服务时间长短,如果新来的更短则进行抢占,否则继续进行,如果该进程进行完则要在队列中挑选最短的作业进行执行。
2022-12-21 11:48:21 3438 3
原创 Java:用Frame实现五子棋小程序
思路:生成窗口 -> 画棋盘 ->真值数组和颜色数组 ->搜索判赢。代码功能和界面比较粗糙,还有更多的完善空间。注:文件中的主类名为Board。
2022-10-30 23:00:00 128
原创 STL应用:map/multimap习题POJ-2418&&POJ-3481
POJ-3481:采用一个小技巧,因为p是优先级,因此应该让p作为键(key)便于在map中排序,而最后输出值即可。POJ-2418:简单的模拟和遍历,输入避免超时采用getline,注意输出格式。
2022-10-03 20:00:00 141
原创 区间DP入门笔记(4)乘法拼图 POJ-1651
2.引入dp[ i ][ j ]二维数组来表示 i 到 j 的矩阵乘法的最大次数。(此处需要注意的是dp数组储存的是乘法值,相当一个矩阵,而此矩阵的长和宽分别是a[ i-1] a[ j ])DP状态转移方程:dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + a[i - 1] * a[k] * a[j]);3:用for循环带入状态转移方程(此处需要注意的是n个数只能组成n-1个矩阵,因此上限是n-1)1.我们用从0~n-1的方式给数组a[ i ]赋值。..
2022-08-07 11:42:48 169 1
原创 区间DP入门笔记(3)猴子派对/石头组合 HDU-3506
n个猴子坐一圈,每次只能让相邻进行组合,组合时要将的权值加和并计入总和中,最后求总和的最小值。此题可以用区间DP求解,难点在于如何将其变为环的情况,因此介于操作的难易程度,采用开 2n 大小的数组以保证数组的头和尾可以进行运算。...
2022-08-06 18:10:29 200
原创 区间DP入门笔记(2)括号匹配 POJ-2955
不同于回文串,括号匹配时游标不能从两边向中间移动,而必须设置区间范围从头开始。因此设置k作为起始点和终点的分界点去求得最大值。
2022-08-04 11:17:46 196
原创 区间DP入门笔记(1)最便宜的回文 POJ-3280
回文串的特点是左右两部分对称,所以不难想到应该从字符串的两边进行比较,然后进行操作使其成为回文串。动态规划的思想之一是最优子结构,因此可以将问题缩小然后进行合并。(注:当两侧都相等时,i向后移动,j向前移动,一侧不相等时应在其中一侧加上与另一侧一样的字母,然后加入子母的一侧游标不移动,另一侧向后/向前移动)...
2022-08-04 09:13:36 193 1
原创 背包DP入门笔记(5)最少的硬币 POJ-3260
2完全背包时dp1[j]=min(dp1[j],dp1[j-v[i]]+1)1多重背包时dp[k]=min(dp[k],dp[k-c[i]*v[i]]+c[i])1明确背包上限120*120+10000。此题是一个混合背包问题,买家为多重背包,卖家为混合背包。2多重背包进行二进制拆分求解。3找到硬币数的一定是最小值。...
2022-08-02 11:49:41 190
原创 背包DP入门笔记(4)ACboy HDU-1712
DP状态转移方程dp[j]=max(dp[j],dp[j-k]+a[k]//j表示实时容量k表示遍历物品重量a[k]表示对应价值。此题为分组背包问题,每一本书相当于一组物品,天数相当于重量,利润相当于价值,组与组之间可以采用01背包思想,但同组中不可以,因此需要在。进行动态规划,以使得每组只会有一个物品被使用。...
2022-08-01 11:25:59 85
原创 背包DP入门笔记(3)硬币 POJ-1742
此问题是一个多重背包问题,而且要求可行解的个数,因此由题意可以分两种情况数量足够多和数量不足的情况,用c[i]*a[i]>m来判断。而数量不够的,需要对现有数量进行二进制拆分然后当成01背包问题处理。dp[j]&&dp[j-a[i]]&&num[j-a[i]]......
2022-07-31 13:30:41 199
计算机组成原理:用logisim实现一些基本器件
2023-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人