- 博客(24)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
原创 Manjaro安装中文输入法
Manjaro Hello→Applications→Extened language support→勾选Manjaro Asian Input Support Fcitx或Manjaro Asian Input Support Fcitx→UPDATE SYSTEM→选中中文输入法,等待安装完毕,重启。
2023-09-03 14:32:36
4817
原创 用Python实现复制英文PDF文档段落后自动去掉剪贴板的换行和换行连字符
我们想把PDF英文文献的一大段复制到word里面,或者复制到翻译软件里面进行翻译。结果粘贴出来之后就是各种中间换行,完整的句子变成一段一段的,也严重影响翻译软件的翻译质量,需要手动把这些换行一个个删除,好麻烦啊!其实我们可以写个Python程序轻松解决这个问题首先我们需要安装一个模块:pyperclip,是用于操作剪贴板的。如果是Windows系统的话就在命令行里面输入:pip install pyperclipLinux或macOS上就是:pip3 insta...
2021-08-05 18:58:55
1031
3
原创 WSL中的Debian提示man: command not found,怎么办
我们刚在Windows安装好Debian的时候,本来想运行man来查看某个命令怎么用,结果提示man: command not found说明还没有安装man,此时只需要把它安装上就行首先更新apt-get的数据库sudo apt-get update然后安装mansudo apt-get insatall man此时man就能用了man python执行man python后显示如下...
2021-08-03 17:50:34
1156
原创 求解小易喜欢的数列问题
动态规划dp[i][j]表示前i位以j结尾的符合相应性质的数列的个数。dp[i][j]=dp[i][j]+dp[i-1][x], 其中1<=i<=n, 1<=j<=k, 1<=x<=k且(x<=j或者x>j&&x%j!=0)。然后把所有的dp[n][j],1 <= j <= k加起来即为所求。#include <iostream>using namespace std;int main(void)...
2021-06-12 11:18:07
727
2
原创 求解分饼干问题
动态规划创建(len + 1) * n的二维数组dp[][],其中dp[i][j]表示前i位数中对n整除余数为j的可能的前i位数值总数,len表示数字的长度,则把数组dp[][]的所有元素的值都算出来,其中dp[len][0]即为所求答案。首先,把dp[1][i],i = 0, 1, 2, ..., n - 1求出来,然后dp[i][newj] += dp[i - 1][j],其中newj = (10 * j + k[i + 1] - '0') % n。#include <iostrea..
2021-06-12 11:12:01
963
原创 求解数字和为sum的方法数问题
动态规划创建数组f[n + 1][sum + 1],f[i][j]表示前i个数中和为j的方案数。当a[i - 1] ≤ j时,f[i][j] = f[i - 1][j] + f[i - 1][j - a[i - 1]],当a[i - 1] > j时,f[i][j] = f[i - 1][j]。其中f[0][j] = 0,f[i][0] = 1。#include <iostream>using namespace std;int main(void){ int n, ..
2021-06-12 11:09:06
1092
1
原创 求解袋鼠过河问题
动态规划如果河宽0米,最少需要f[0]跳,显然f[0]=0;如果河宽1米,最少需要f[1]跳,那么如果0+a[0]>=1,那么就可以跳过去,f[1]=f[0]+1,也就是说到达0的跳数加上从0跳到1的一步。如果河宽2米,最少需要f[2]跳,这里怎样跳,有两种选择,一是从0开始跳(0+a[0]>=2即可),二是从1开始跳(1+a[1]>=2即可),那么从0开始跳,f[2]=f[0]+1;从1开始跳,f[2]=f[1]+1。然后选取其中最小的。如果河宽3米,那么我有三种选择..
2021-06-12 11:06:34
1431
原创 小v上学,老师布置了n个作业
首先,把作业按照紧急程度排序,截止时间越近的作业越紧急,如果截止时间相同,扣分越多的作业越紧急。然后设一个计时器time,表示当前是第几天。如果time小于等于homework[i]的截止时间,则做这个作业,并且time++。如果time大于homework[i]的截止时间,则不做这个作业并且扣分。#include <iostream>using namespace std;struct Homework{ int no; //作业的序号 int de...
2021-06-12 11:04:05
6268
2
原创 求解区间覆盖问题
动态规划如果n≤m,则最短线段长度之和就是n。如果n>m,首先计算线段之间的间隔distance[],并对其按从大到小排列。设m条线段的最小长度之和是length[m],则length[m] = length[m - 1] - distance[m - 2]。#include <iostream>#include <algorithm>#include <functional>using namespace std;int main(void){..
2021-06-12 10:59:50
958
原创 求解最大乘积问题
如果数的个数是3,则直接输出这3个数的乘积。如果数的个数大于3,则对其进行从大到小排列,最大值要么是排列后前3个数的乘积,要么是第1个数和最后2个数的乘积。#include <iostream>#include <algorithm>#include <functional>using namespace std;int main(void){ int n, m; cin >> n >> m; int*..
2021-06-12 10:53:24
1490
1
原创 一个袋子里面有n个球,每个球上都有一个号码
采用回溯法。首先对输入的球的号码num[]进行从小到大排序。设置result[]数组用于记录被选取的球的号码。用1表示选取某个球,0表示不选取,解是0和1的组合,组成了一个高度为n+1的解空间树,左子树表示1,右子树表示0。在解空间树中,第t层结点表示是否选取第t+1个球(t从0开始),如果选取,则往左子树扩展,并且把该球的号码加入num[]数组中。如果不选取,则往右子树扩展。当目前的结点和所要判断的号码和其双亲结点相同,并且是双亲结点的右孩子时,则只往右子树扩展。当到达叶子结点时,则判断num[]数...
2021-06-11 22:26:56
1018
原创 最大团的顶点个数
采用回溯法。1表示选取某个顶点,0表示不选取,从而形成了一个n维的解空间,把解空间组织成树,然后深度优先搜索这棵树。深度为t的结点表示是否选取编号为t+1的顶点。当遍历到叶子结点时,说明找到了目前为止的最大的团的顶点数。当还没遍历到叶子结点时,如果满足顶点t+1和已选取的所有顶点都有边,则选取该顶点,并深度优先遍历左子树。否则,如果不选取该顶点也有希望获得比得到比原来最大顶点数还要大的顶点数的话,则深度优先搜索右子树。#include <iostream>using namespa...
2021-06-11 22:21:19
711
原创 给定一个整数n和一个由不同大写字母组成的字符串str
采用回溯法。首先把解空间树设成5层strlen(str)叉树,然后深度优先搜索这棵树,如果遍历发现正在遍历的结点所代表的的字母已经在current[]中,则剪枝,否则把该节点存进current[]里面。遍历到叶子结点时,首先判断current[]里面的字母是否满足题意,如果不满足则回溯,如果满足则判断该字典序是否大于原来已经找到的best[],如果是则把best[]的内容替换为current[]的,否则回溯。#include <iostream>#include <...
2021-06-11 22:16:49
896
原创 设某一机器由n个部件组成
采用回溯法,把解空间的组织结构组织成三叉树,三叉树的第0层代表刚开始时还没选部件的状态,第1层代表选好了第1个零件,第2层代表选好了前2个部件,第3层代表选好了3个部件。首先对每一种部件按照重量从小到大排序,然后深度优先搜索这个三叉树。约束条件为加上这个部件后的价格不超过cost,限界条件为加上这个部件后依然有希望取得比目前已找到的最优方案更小的重量。只有同时满足这两个条件才往下搜索这个子树,否则搜索另一棵子树。当搜索到叶子节点时说明找到了目前的最佳方案。#include &l...
2021-06-11 22:03:45
1218
原创 有重复元素的排列问题
① 以r1为开头,对剩下的元素进行全排列,并且把r1放到first_item[]数组当中。②先判断first_item[]数组中是否有元素等于r2,如果有则跳到③,否则把r2和r1进行交换,对剩下的元素进行全排列,然后再交换回来,并且把r2放进first_item[]数组里。③接下来依次对r3,r4, …, rn做类似于②的操作。#include <stdio.h>#include <stdlib.h>int n, count = 0;void ...
2021-06-11 21:52:38
3098
1
原创 双色汉诺塔问题
我用Python验证了一下该程序是否会出现不满足规则(4)的情况,验证代码如下:def hanoi(n, _from, to, tmp): # 把n个圆盘从_from移动到to, 可以暂时移动到tmp if n <= 0: return elif n == 1: to.append(_from.pop()) if (len(to) >= 2) and ((to[-2] - to[-1]) % 2 ==..
2021-06-11 21:40:07
385
原创 考拉有n个字符串,任意两个字符串的长度都是不同的
#include <iostream>#include <cstring>#define M 50using namespace std;int main(void){ int n, i; bool flag1, flag2; flag1 = 1; flag2 = 1; cin >> n; char** s = new char* [n]; for (i = 0; i < n; i++) { s[i] = new char[M]...
2021-06-11 21:01:45
795
原创 小于等于n的幸运数有多少个
#include <iostream>using namespace std;int f(int x){ int sum = 0; while (x > 0) { sum += x % 10; x = x / 10; } return sum;}int g(int x){ int sum = 0; while (x > 0) { sum += x % ...
2021-06-11 20:57:09
183
原创 最少翻译者
广度优先搜索动物之间的通信关系所组成的图,当搜索到某个顶点时,把它的顶点号和目前搜索到的与原点的距离记录下来,作为一个节点加入到队列当中。然后从队头取出一个结点,如果该节点是搜索的目标顶点,且得到的路径比原来得到的最短路径还要短时,则把记录到的最短路径设为该值。直到队列为空。如果得到的最短路径为0或者1,则最少翻译者数量为0,其他情况的最少翻译者数量为最短路径减一。#include <iostream>using namespace std;struct Node //记..
2020-12-23 21:27:34
545
原创 找出半径最小的生成树
分别用广度优先搜索得到以每个顶点为根节点的最小半径的生成树,然后从这些生成树中找出半径最小的作为本题的解。#include <iostream>#include <vector>#include <queue>const int MAX_INT = 999;using namespace std;struct SpanningTree //生成树的半径及其层次遍历序列{ int radius = 0; //半径 vector <int..
2020-12-23 11:40:25
1215
原创 从图的邻接表表示转换成邻接矩阵表示
采用双重循环,外层循环遍历邻接表的顶点表,内层循环遍历该顶点的边表,该顶点的序号为行标号、该边所指向的顶点序号为列标号,把对应的邻接矩阵所对应的元素设为1。#include <iostream>using namespace std;struct ArcNode //边表{ int node; //所指向的顶点的序号 ArcNode* next;};struct Vertex //顶点表{ ArcNode* arc = NULL; //指向的边};vo..
2020-12-23 11:35:10
1242
原创 反向邻接表
以p和q作为工作指针,p负责遍历原始邻接表,q用于创建反向邻接表的边结点。在遍历原始邻接表的过程中,反向邻接表的边界点就是一个由顶点i指向顶点p->node的边。#include <iostream>using namespace std;struct ArcNode //边表{ int node; //所指向的顶点的序号 ArcNode* next;};struct Vertex //顶点表{ Ar..
2020-12-23 11:32:11
947
原创 Ubuntu系统下,在Python中使用pyperclip模块时遇到QFileSystemWatcher::removePaths: list is empty提示怎么破?
昨晚我发现在Python中使用pyperclip模块的copy方法时会提示QFileSystemWatcher::removePaths: list is empty,并且文本也没有成功地复制到剪贴板上后来我到pyperclip官网找到文档,https://pyperclip.readthedocs.io/en/latest/发现只要按照上面所说的把这两个玩意儿安装上就可以了...
2020-08-23 13:30:10
5935
3
Age of Information A New Metric for Information Freshness.pdf
2021-10-17
Age of Information: A New Concept, Metric, and Tool.pdf
2021-10-17
Python数据分析与展示 课件(合并版).pdf #资源达人分享计划#
2021-08-11
Matrix Calculus - Notes on the Derivative of a Trace #资源达人分享计划#
2021-08-11
The PageRank Citation Ranking: Bringing Order to the #资源达人分享计划#
2021-08-11
Python Crash Course 2nd Edition.zip
2020-07-13
A Common-Sense Guide to Data Structures and Algorithms.7z
2020-05-06
Linux C编程一站式学习
2019-04-22
《不止代码》阿里出品 PDF
2018-08-12
如何产生一列随机浮点数,总和不超过某个数?
2022-01-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人