自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

[email protected]

记录自己的学习过程!

  • 博客(38)
  • 资源 (3)
  • 收藏
  • 关注

原创 01背包(dp)

问题描述有n个重量为wi,价值为vi的物品,从这些物品中选出总重量不超过W的物品,求所有方案中价值总和的最大。输入描述第一行输入n。第二行输入质量。第三行输入对应的价值。第四行输入W。1<=n<=100,1<=wi,vi<=100.例如:输入42 1 3 23 2 4 25输出7解法一:递归。代码实现:#include<iost...

2020-04-20 11:19:50 79

原创 Python- 快速合并多个Excel文件

import osimport pandas as pddir = input("请输入待合并文件的路径:\n") #设置工作路径frames = [] #存放导入的文件for root, dirs,files in os.walk(dir): #返回一个三元组root是遍历的文件夹, # dirs是root下的所有目录,files是root下的所有文件 f...

2020-04-18 15:09:16 246 2

原创 区间调度问题(贪心)

问题描述有n项工作,每项工作分别在si开始,ti结束。对每项工作,你都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,即参与工作的时间段不能有重叠(即使开始的时间和结束的时间重叠都不行)。问最多可以完成多少项工作?限制条件:1<=n<=1000001<=si<=ti<=109第二行输入n个工作的开始时间。第三行输入n个工作的结束时间。...

2020-04-16 20:35:08 256

原创 快速渡河(贪心算法)

问题描述有n的人需要过河,但只有一只船,且一次只能载两个人。每个人都有一个渡河的速度,过河的速度取决于速度最慢的那一个,求所有人过完河的最短时间。输入一个n,表示有n个人。接着输入n个整数表示每个人过河需要的时间。例如:41 2 5 10输出:17思路:有两种可以快速过河的策略,一是由最快的那个人把所有人带过河,二是由最快的和第二快的人先过去,然后最快的那个人再回来,当前最慢的...

2020-04-16 16:56:54 1177

原创 硬币支付(贪心算法+递归)

题目:有1,5,10,50,100,500面值的硬币,需要支付A元,最少需要支付多少枚硬币?假设至少存在一种支付方案。输入:每种硬币的数量以及需要支付的钱3 2 1 3 0 2620输出:6思路:每次从面值大的开始支付。代码实现:#include<iostream>#include <algorithm>using namespace std;in...

2020-04-16 15:14:30 335

原创 三种方法解决素数环

素数环指的是将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。问题描述输入一个n,如果可以生成素数环,输出yes,否则输出no。解法一:纯手工全排列+判断代码实现:#include<iostream>using namespace std;int a[10],n;bool flag=true;void swap(...

2020-04-16 12:56:30 1154

原创 部分和问题

问题描述有一个A1……An的序列,判断能否从该序列中选出若干个元素使其和等于k。输入描述:第一行输入一个n,表示有n个元素。第二行输入n个整数。第三行输入一个k。-20<=n<=20.输出描述:如果满足条件输出YES,否则输出NO。解法一:二进制非空子集生成+判断。代码实现:#include<iostream>#include<cmath&g...

2020-04-15 19:26:11 102

原创 全排列(递归回溯法)

全排列的本质是调换元素的位置,该法代码简单,但效率并不是很高,当10个数进行全排列时需要耗费的时间并不少。#include<iostream>using namespace std;const int MAX=4; void swap(int arr[],int i,int j) //交换数组中的两个数 { int temp=arr[i]; arr[...

2020-04-15 18:17:34 237

原创 非空子集的生成(二进制法)

假如有一个n个元素的集合,那么它的非空子集有2的次方-1个,而一个n位的二进制数除去0刚好可以表示2的n次方-1种状态。刚好可以建立对应的联系,因此只需要检测二进制数所表示的每一种状态1的位置,把对应位置的角标对应的元素添加到集合中即可(一种状态对应一个集合),最后在把集合添加到容器中便可求出所有的非空子集。代码实现:#include<iostream>#include<s...

2020-04-15 17:01:19 488

原创 基于队列的基数排序(C++实现)

请先引入头文件.void basesort(int a[],int n)//n个数基数排序{ queue<int>q[10];//定义一个队列数组 int Max=a[0]; for(int i=1;i<n;i++) Max=max(Max,a[i]);//取数数组中的最大值 int len = to_string(Max).l...

2020-04-15 12:47:45 202

原创 选择排序(C++实现)

void Xsort(int arr[],int n){ for(int i=0;i<n;i++) { int max=i; for(int j=i+1;j<n;j++) if(arr[j]>arr[max]) max=j; if(i!=max) ...

2020-04-15 12:44:03 86

原创 冒泡排序(C++实现)

void Msort(int arr[],int n){ for(int i=n-1;i;i--) for(int j=0;j<i;j++) if(arr[j]<arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]...

2020-04-15 12:42:52 48

原创 快速排序(C++实现)

void Qsort(int arr[], int low, int high)//从角标为low的元素到角标为high的元素进行从大到小排序{ if(high<=low) return; int i=low; int j=high+1; int key=arr[low];//先把第一个元素当作比较基数 while(true) { ...

2020-04-15 12:41:04 62

原创 研究生信息管理系统(C语言课设)

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<conio.h>#include<time.h>#include <windows.h>#pragma comment(lib, "Winmm.l...

2020-04-15 12:33:48 1429 2

原创 高校人员信息管理系统(C++课设)

/*高校人员信息管理系统作者:徐世兴时间:2019年11月1日*///预定义区#include<iostream>#include<string>#include<iomanip>#include<fstream>using namespace std;#include<time.h>#include <w...

2020-04-15 12:17:49 1798

原创 调整数组-奇数在左偶数在右

问题描述:将一个整型数组的奇数移到最左边,偶数移到最右边,要求时间复杂度为O(n)。解法一:使用辅助空间,遍历目标数组,奇数从辅助数组的前面开始存,偶数从辅助数组的后面开始存。代码实现:#include<iostream>using namespace std;int a[10]={1,5,4,3,8,12,5,7,2,6};int b[10]; //开辟辅助空间...

2020-04-15 10:29:24 660

原创 长草(BFS)

问题:小明有一块空地,他将这块空地划分为 n 行 m 列的小块,每行和每列的长度都为 1。小明选了其中的一些小块空地,种上了草,其他小块仍然保持是空地。这些草长得很快,每个月,草都会向外长出一些,如果一个小块种了草,则它将向自己的上、下、左、右四小块空地扩展,这四小块空地都将变为有草的小块。请告诉小明,k 个月后空地上哪些地方有草。【输入格式】输入的第一行包含两个整数 n, m。接下...

2020-04-14 23:41:28 184

原创 树状数组求数列的前项和

#include<iostream>#include<cstring>using namespace std;int lowbit(int n){ return n-(n&(n-1));}void uptate(int n,int i,int v,int c[]) //原始数组i位置增加v后,更新c数组{ for(int k=i;...

2020-04-14 23:38:06 99

原创 回溯法解数独

问题:输入一个九行九列有解的数独(没填的位置用0表示),输出数独的解。代码实现:#include<cstring>#include <iostream>#include <algorithm>using namespace std;int map[9][9];string ch[9]; //用字符串的形式存输入bool isPlace(int...

2020-04-14 23:35:33 61

原创 递归求十进制转二进制

问题:给出一个十进制数输出它的二进制数(没有前导0)。代码实现:#include <iostream>using namespace std;void solve(int n) { if (!n) { return ; } solve(n / 2); cout <<n%2;}int main() { ...

2020-04-14 23:28:26 158

原创 递归解决汉诺塔问题

问题:汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。代码实现:#include<iostream>#include<cstdi...

2020-04-14 23:18:52 188

原创 BFS解迷宫问题(经典BFS算法)

【问题描述】下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、...

2020-04-14 23:12:57 2857 4

原创 2n皇后问题(经典递归回溯)

问题描述  给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式  输入的第一行为一个整数n,表示棋盘的大小。  接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个...

2020-04-14 23:07:06 135

原创 Python-字典应用

问题描述  给定当前的时间,请用英文的读法将它读出来。  时间用时h和分m表示,在英文的读法中,读一个时间的方法是:  如果m为0,则将时读出来,然后加上“o’clock”,如3:00读作“three o’clock”。  如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five thirty”。  时和分的读法使用的是英文数字的读法,其中0~20读作:  0:zero, ...

2020-04-14 22:59:56 149

原创 Python-特殊回文数字

问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定  1<=n<=54。代...

2020-04-14 22:58:03 530

原创 Python-数列排序

问题描述  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式  第一行为一个整数n。  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式  输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9代码实现:n = int(input())li = list(...

2020-04-14 22:55:03 1707

原创 Python- 切片操作

问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。输出格式输出n行,每个m个字符,为你的图形。样例输入5 7样例输出ABCDEFGBABCDE...

2020-04-14 22:52:04 2082

原创 Python-列表转字符串

问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。样例输出00000000010001000011<以下部分省略>代码实现:for i...

2020-04-14 22:46:58 214

原创 最长连续递增子序列(尺取法)

问题: 例如(1,9,2,5,7,3,4,6,8,0)的最长连续递增子序列为(3,4,6,8).思路: 用两个索引在序列中进行移动,并记录最大的长度和最大长度下的起始索引。需要特别注意的是走在最前面的索引移到了最后并且还是递增的特殊情况。代码实现:#include<iostream>using namespace std;int a[10]={1,9,2,5,7,3,4,...

2020-04-14 22:26:40 150

原创 上台阶问题

问题: 楼梯有n阶台阶,一步可以走1个、2个或者3个台阶,一共有多少种上楼梯的方法?代码实现:#include<iostream>using namespace std;int cnt=0;//用于计数void f(int n)//n表示还剩你个台阶需要走{ if(n<0) return; //防止死循环 if(n==0) { ...

2020-04-14 21:00:43 298

原创 Python -使用国内镜像的pip安装

对于Python开发用户来讲,PIP安装软件包是家常便饭。但国外的源下载速度实在太慢,浪费时间。而且经常出现下载后安装出错问题。所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成功率。国内源:新版ubuntu要求使用https源,要注意。清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliy...

2020-04-14 19:04:29 119

原创 C++ vector 的遍历

遍历方式与 set的遍历方法相同,另外vector还可以用角标进行访问,但不能像map那样可以直接用 = 运算符进行赋值。迭代器方法遍历代码实现:#include<iostream>#include<vector>using namespace std;vector<int>all;int main(){ //生成待处理的数据 f...

2020-04-14 18:55:33 222

原创 C++ set的遍历

关键是要声明迭代器变量,遍历方法与数组类似,可以用while循环也可以用for循环,但用for循环时条件运算符不能用 <,而用 != 进行判断,还特别需要注意指针运算符。代码实现:#include<iostream>#include<set>using namespace std;set<int>all;int main(){ //...

2020-04-14 18:20:08 29881 3

原创 C++ map的遍历

关键是要声明迭代器变量,遍历方法与数组类似,可以用while循环也可以用for循环,但用for循环时条件运算符不能用 <,而用 != 进行判断。代码实现:#include<iostream>#include<map>using namespace std;map<int,int>all;int main(){ //先生成一些待处理的数据 ...

2020-04-14 18:06:34 226

原创 一条语句判断一个整数是否为2的幂

问题: 输入一个整数,判断这个数是不是2的次方。思路: 判断该整数的二进制是否只有一个1,判断 (n-1)&n 是否等于0即可。如果不能理解请参考我的上一篇文章二进制中1的个数。代码实现:#include<iostream>using namespace std;int main(){ int n; cin>>n; if((n&...

2020-04-14 17:16:03 104

原创 二进制中1的个数

问题: 输入一个int型的数,求该数二进制中有多少个1。解法一: 将1进行左移运算,逐位进行比对,如果该位不是1,&运算后的 结果必然为0。代码实现:#include<iostream>using namespace std;int main(){ int n; cin>>n; int cnt=0; for(int...

2020-04-14 16:57:10 66

原创 异或运算找出唯一成对的数

问题:1-1000这1000个数存到大小为1001的数组中,只有唯一的一个元素重复,每个元素只能访问一次的情况下把它找出来,不能使用辅助空间。思路:两个相同的数异或运算的结果为0。代码实现#include<iostream>using namespace std;int a[1001];int main(){ //先生成一个这样的数组 for(int i...

2020-04-14 15:07:25 312

原创 python生成词云图

python生成词语图需要使用python的第三方类库jieba、matplotlib、wordcloud,如果没有请用pip安装。import jiebaimport matplotlib.pyplot as plt #相当于c的宏定义from wordcloud import WordCloud,STOPWORDStext=""f=open(r"File\word_clo...

2020-04-14 13:33:36 185

基于Python的数字滤波器设计

基于Python的数字滤波器设计

2021-01-07

ChatSystem.zip

1.实现了多人聊天,而不是单一的双人聊天。 2.实现了多线程编程,解决了单线程消息阻塞和不能并发的问题。 3.实现了动态的好友列表,交互感更强,有比较不错的用户体验。 4.实现了群聊与私聊并存,使功能更加的完善。 5.有比较简洁美观的用户界面,使用更加舒心。

2020-08-19

研究生信息管理系统.zip

C语言课程设计完成的一个简易研究生信息管理系统,用于学习,记录自己的学习过程。该作品主要使用链表这种数据结构,方便动态的更新数据,摆脱常规的数组定长限制,数据用文件的形式进行存储。不做商业用途。

2020-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除