- 博客(29)
- 收藏
- 关注
原创 基于硅基流动和chatbox实现的deepseek的满血调用(PC和安卓端)流畅不卡顿
基于硅基流动和chatbox实现的deepseek的满血调用(PC和安卓端)流畅不卡顿,优缺点:流畅不卡顿,不会繁忙,满血671B的v3和r1
2025-02-24 19:32:48
197
原创 数列排序,分治法,二路归并排序
蓝桥杯练习系统 ID: 52 原题链接: http://lx.lanqiao.cn/problem.page?每组数的第一行为一个整数n,第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。=EOF){ //先读取第一行得到n,即下一行有n个数。给定一组或多组数列,将这个数列按从小到大的顺序排列,这些数列的长度大于等于1,小于等于200。i++) //再循环n次读取该行的n个数。输出一行,按从小到大的顺序输出排序后的数列。
2024-12-30 16:45:43
264
原创 最大流问题C++
ford fulkerson和Edmonds-Karp Algorithm类似但后者在第二步要求找到最短路径bfs可以实现,从而减少时间复杂度。接下来的V行为V*V的邻接矩阵,记录了图G中各边的权值,各边权值均为整数,每行V个值以空格隔开。输入为1+V行,第1行有3个整数,分别为图G中点的数量V、源点序号、汇点序号,以空格隔开。给出连通有向图G的各边权值,并指定源点s和汇点t,求G的最大流。
2024-12-30 16:01:59
334
1
原创 圆排列C++
cn,现要将这n个圆排进一个矩形框中,且要求各圆与矩形框的底边相切。圆排列问题要求从n个圆的所有排列中找出有最小长度的圆排列。例如,当n=3,且所给的3个圆的半径分别为1,1,2时,这3个圆的最小长度的圆排列如下图所示。把所有这样的结果(1到2,2到3····一直到n-1到n)全部加起来,再加上第一个和最后一个圆的半径,就是底边的长了。根据勾股定理,那么矩形底边的那段长就是(x+y)*(x+y)-(x-y)*(x*-y)然后开根号。第二行为n个数,即圆的。假设大的圆的半径x,小的圆的半径y。
2024-12-27 14:16:14
658
2
原创 小西加油C++,贪心
小西加油小西准备开着车沿着公路自驾。公路上一共有 nn 个站点,编号为从 11 到 nn。其中站点 ii 与站点 i+1i+1 的距离为 vivi 公里。公路上每个站点都可以加油,编号为 ii 的站点一升油的价格为 aiai 元,且每个站点只出售整数升的油。小西想从站点 11 开车到站点 nn,一开始小西在站点 11 且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进 dd 公里。问小西从站点 11 开到站点 nn,至少要花多少钱加油?
2024-12-27 11:46:33
1202
原创 最短路径C++,Dijkstra
第一行为有向图中点的数量n(各点从0到n-1编号)第二行为边的数量m第三行为要求其间最短路径的两个点第四行起为m条边的信息,包括起点、终点和路径长度(保证长度是整数,且绝对值不大于100),以空格隔开。求出输入中第三行两个点之间的最短路径长度并输出,比如上面的输入例子中,点0到点5间最短路径长度为73,则输出为:73。给出一个有向图(无负权值),求任意两点间的最短路径。n小于10^5,显然超时,只能用dijkstra。保证n小于1000,且答案不超过 10^5.floyd,超时了,可以参考。
2024-12-26 17:08:05
258
原创 基础练习 Huffman树,C++,最小堆,STL
Huffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程。给出一列数{pi}={p0, p1, …, pn-1},用这列数构造Huffman树的过程如下:1. 找到{pi}中最小的两个数,设为pa和pb,将pa和pb从{pi}中删除掉,然后将它们的和加入到{pi}中。这个过程的费用记为pa+ pb。2. 重复步骤1,直到{pi}中只剩下一个数。在上面的操作过程中,把所有的费用相加,就得到了构造Huffman树的总费用。
2024-12-25 15:02:38
465
原创 带权区间调度Weighted Interval Scheduling C++,动态规划dp01背包
每一个任务都有三个属性:开始时间s、结束时间f以及所产生的价值v一个任务的s到f这段时间称为其执行时间,如果两个任务的执行时间不重叠,则称它们是兼容的本题将给出若干任务及其属性,求彼此兼容且权重最大的任务子集,输出该子集所有任务产生的总价值。输出应为一个数,即彼此兼容且权重最大的任务子集中所有任务产生的总价值,如。
2024-12-25 11:56:04
389
原创 最长公共子序列C++,动态规划dp
例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。最长公共子序列(LCS)输入为两行每行一个字符串。输出最长公共子序列的长度。
2024-12-25 11:38:07
296
原创 矩阵连乘C++ 动态规划dp
矩阵连乘由不同加括号顺序所带来的矩阵乘积的代价不同,考虑三个矩阵的链(A_1,A_2,A_3)的问题。假设三个矩阵的维数分别为10∗10010∗100,100∗5100∗5,5∗505∗50。如果按((A1A2)A3)((A1A2)A3)规定的次序来做乘法,求105105的矩阵乘积A1A2A1A2要做10∗100∗5=500010∗100∗5=5000次的标量乘法运算,再乘上A3A3还要做10∗5∗50=250010∗5∗50=2500次标量乘法,总共75007500次标量乘法运算。
2024-12-25 10:58:25
489
原创 算法训练 排序问题
求一个0~N-1的排列(即每个数只能出现一次),给出限制条件(一张N*N的表,第i行第j列的1或0,表示为j-1这个数能或不能出现在i-1这个数后面,并保证第i行第i列为0),将这个排列看成一个自然数,求从小到大排序第K个排列。蓝桥杯练习系统 ID: 131 原题链接: http://lx.lanqiao.cn/problem.page?N<=10,K<=500000第一行为N和K,接下来的N行,每行N个数,0表示不能,1表示能。由于2不能出现在1后面,0不能出现在2后面。对于N=3的没有任何限制的情况。
2024-12-23 17:40:27
210
原创 汉诺塔C++,递归
汉诺塔汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就搬不完了。还好聪明的你可以用计算机完成,你能写一个程序帮助僧侣们完成这辈子的夙愿吗?Input输入金片的个数n。这里的n<=5Output。
2024-12-23 16:43:05
382
原创 整数划分,完全背包,动态规划C++
整数划分一个正整数 n 可以表示成若干个正整数之和,形如: n=n1+n2+…+nk ,其中 n1≥n2≥…≥nk,k≥1。我们将这样的一种表示称为正整数 n 的一种划分。现在给定一个正整数 n ,请你求出 n 共有多少种不同的划分方法。Input共一行,包含一个整数 n。Output共一行,包含一个整数,表示总划分数量。由于答案可能很大,输出结果请对 10^9+7 取模。57Hint1≤n≤1000题目来源:广西大学OJ比如5可以分解为54+13+23+1+1。
2024-12-23 13:03:45
283
原创 01背包,C++,动态规划dp
01背包和完全背包的区别:01背包的每件物品只有一个,每件物品只有取和不取(用1和0表示,所以叫01背包)完全背包的每件物品无限个。
2024-12-23 11:30:40
282
原创 稳定婚姻问题Gale-Shapley算法c++
Input中文说明:输入有1+2N行,第一行有两个数组N和K,N代表有N个男人和N个女人,K用于输出结果,接下来的N行为N个男人(编号为0到N-1)的优先级列表,如1 0 代表该男人的优先级中,woman1优先于woman0再接下来的N行为N个女人人(编号同样为0到N-1)的优先级列表,如0 1代表该女人的优先级中man1优先于man1。
2024-12-02 15:41:44
815
原创 PTA 7-1 容器-HashMap-检索
输入多个学生的成绩信息,包括:学号、姓名、成绩。学号是每个学生的唯一识别号,互不相同。姓名可能会存在重复。使用HashMap存储学生信息,并实现根据学号的检索功能。
2024-10-22 15:40:51
1199
原创 PTA 7-2创建一个倒数计数线程
创建一个倒数计数线程。要求:1.该线程使用实现Runnable接口的写法;2.程序该线程每隔0.5秒打印输出一次倒数数值(数值为上一次数值减1)。作者 吴恋单位 贵州师范学院。
2024-10-22 11:00:13
551
原创 7-1 jmu-Java&Python-统计文字中的单词数量并按出现次数排序
现在需要统计若干段文字(英文)中的单词数量,并且还需。单词之间以空格(1个或多个空格)为间隔。忽略空行或者空格行。统计时,区分字母大小写,且不删除指定标点符号。!.,:*?
2024-10-17 21:22:26
1476
原创 PTA 7-1 试试多线程
编写4个线程,第一个线程从1加到25,第二个线程从26加到50,第三个线程从51加到75,第四个线程从76加到100,最后再把四个线程计算的结果相加。
2024-10-16 12:48:48
202
原创 PTA 7-2 设计一个Tiangle异常类
创建一个IllegalTriangleException类,处理三角形的三边,任意两边之和小于等于第三边,则显示三条边不符合要求。然后设计一个有三条边的Triangle的类。如果三条边不符合要求,则抛出一个IllegalTriangleException异常。一个名为toString()的方法返回这个三角形的字符串描述。编写一个测试程序如下,用户输入三角形的三条边,然后显示相应信息。提交时,将此测试程序附在后面一起提交。
2024-10-15 18:25:15
463
原创 PTA7-1 成绩录入时的及格与不及格人数统计
编写一个程序进行一个班某门课程成绩的录入,能够控制录入成绩总人数,对录入成绩统计其及格人数和不及格人数。设计一个异常类,当输入的成绩小0分或大于100分时,抛出该异常类对象,程序将捕捉这个异常对象,并调用执行该异常类对象的toString()方法,该方法获取当前无效分数值,并返回一个此分数无效的字符串。
2024-10-15 18:05:29
669
原创 动态规划练习day2
观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。在上面的样例中,从 7→3→8→7→57→3→8→7→5 的路径产生了最大权值。
2024-10-09 22:51:00
518
原创 PTA 7-1 多态练习-计算面积
定义三个类,父类(抽象类)GeometricObject代表几何形状,子类Circle代表圆形,子类Rectangle代表矩形。
2024-10-08 19:33:21
769
原创 动态规划每日练习day1
斐波那契应该算最简单的动态规划了:斐波那契数列第n项是前两项之和,如1,1,2,3,5,8,13,21,34,55 .... 输出第n个数?可以发现从第三个数2开始,每个数字都等于前两个数字之和,代码。
2024-10-08 16:48:27
268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人