自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 九数组分数

这是一道填空题 1,2,3…9 这九个数字组成一个分数,其值恰好为1/3,如何组法? 下面的程序实现了该功能,请填写划线部分缺失的代码。#include<stdio.h>void test(int x[]){ int a = x[0]*1000 + x[1]*100 + x[2]*10 +x[3]; int b = x[4]*10000 + ...

2018-02-28 20:18:54 1633

原创 解救人质(BFS)

不同于由递归生成的深度优先搜索,广度优先搜索(又叫宽度优先搜索)使用的是“一层一层”扩展的方法。问题1:解救人质这里使用一个队列来模拟搜索的过程struct note{ int x; int y; int s;//步数};struct note que [2501];//地图大小不超过50*50,因此队列扩展不会超过2500个。int hea...

2018-02-25 16:04:23 542

原创 深度优先搜索(DFS)

问题1:n个盒子分别放n个数字 有哪些方法?#include<iostream>using namespace std;int book[10],a[10],n;void dfs(int step) //step表示当前站在盒子前的序号{ if(step == n+1) { for(int i=0;i<n;i++) ...

2018-02-25 12:47:09 234

原创 回溯 ——八皇后问题

八皇后问题: 在8*8的棋盘上,放置8个皇后,使两两之间互不攻击。满足: 1).不在同一列 2).不在同一行 3).不在同一对角线回溯算法: 确定了解空间的组织结构后,回溯法从开始结点(根结点)出发,以深度优先的方式搜索整个解空间。这个开始结点就成为一个活结点,同时也成为当前的扩展结点。在当前的扩展结点处,搜索向纵深方向移至一个新结点。这个新结点就成...

2018-02-24 18:02:41 872 1

原创 递归——汉诺塔问题

引:递归求阶乘 用递归算法求n! 定义函数fact(n) = n! 则有fact(n) = n*fact(n-1) 已知fact(1) = 1为了表达得更直观清晰,定义两个结点:“或结点”和“与结点”。 1. 或结点如图9.1所示,图中A为“或结点”,A依据不同的条件会有两个不同的取值B或C。 2. 与结点如图9.3所示,与结点要涂黑,相关联的B与C之间要用...

2018-02-10 23:29:27 539

原创 C 链表

链表中每一个结点都由两个部分组成。左边的部分用来存放具体的数值,用一个整形变量就可以; 右边的部分需要存储下一个结点的地址,可以用指针来实现(也称为后继指针)。 这里我们定义一个结构体类型类存储这个结点。typedef struct node{ int data; //整形data,用来存储具体的数值 struct node *next; //指针next,用来存...

2018-02-10 13:19:36 288

原创 malloc、free函数

malloc():从内存中申请内存空间 malloc函数的作用是从内存中申请分配制定字节大小的内存空间,需要include< stdlib.h>头文件。若要对申请的空间进行操作:需要用一个指针来指向这个空间,即储存这个空间的首地址。malloc(sizeof(int)); //从内存中申请了4个字节的空间来准备存放一个整数。int *p;p = (in...

2018-02-10 12:12:26 218

原创 栈于队列的应用——钓鱼

每个人的手牌是一个队列,出牌即出队,赢牌即入队。struct queue{ int data[1001]; int head; int tail;};桌子是一个栈,先进后出。struct stack{ int data[10]; int top;};这个题的重点是要用一个book数组记录当前桌子上的牌,寻找桌子上是否有与打出...

2018-02-09 23:48:22 511

原创 C 栈

初始化栈:top = 0; 入栈:top++;s[top] = x;对于奇偶不同的情况,中间位置往往相同,不同的是需要设置不同的next。比较一个数组自己的某部分与另一部分,需要复制这个数组。判断回文#include<iostream>#include<cstdio>#include<cstring>#define maxn 1000...

2018-02-08 18:32:56 620

原创 C 队列

队列是一种特殊的线性结构,它只允许在队列的首部(head)进行删除操作,称为“出队”,在队列的尾部(tail)进行插入操作,这称为“入队”。当队列中没有元素时(head = tail),称为空队列,符合先进先出(First In First Out,FIFO)原则。head:队首 tail: 队尾的下一个位置(当队列中只剩下一个元素时,队首和队尾重合会带来一些麻烦)对于队列的操作: 1

2018-02-07 20:03:29 330

原创 算法竞赛 例6-2铁轨(UVa 514)

Sample Input 5 12345 54123 0 6 654321 0 0 Sample Output Yes No Yes下面代码并不能按照题述输入输出格式输出。问题在于不知道如何处理这个0#include#include#includeusing namespace std;const

2018-02-06 23:04:25 263

原创 C++ 栈 例5-5集合栈计算机(UVa12096)

栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 push(): 向栈内压入一个成员; pop(): 从栈顶弹出一个成员

2018-02-06 21:46:45 552 1

原创 Anaconda安装jieba、wordcloud等第三方库

本文是jieba在anaconda中的安装方法,wordcloud等第三方库与jieba安装方法相同,这里是wordcloud包的下载地址许多论坛中说使用conda install jieba安装,我的尝试是不可行的。我发现jieba作为一个第三方库,并不存在于anaconda内置的packages中。本文使用的是Mac,windows下的安装基本一致。在官网中下载jieba压缩...

2018-02-04 17:30:50 62885 33

原创 C++ 映射:map 例5-4 反片语(UVa 156)

map就是从键(key)到值(value)的映射。因为重载了[]运算符,map像是数组的“高级版”。例如可以用一个mapmonth_name来表示“月份名字到月份编号”的映射,然后用month_name[“July”] = 7这样的方式来赋值。例5-4反片语 输入一些单词,找出满足如下条件的单词:该单词不能通过字母重排,得到文本中的另一个单词。在判断是否满足条件时,字母不分大小写,但

2018-02-03 21:46:28 367

原创 C++ 集合:set 例5-3 安迪的第一个字典(UVa 10815)

集合与映射也是两个常用的容器。set就是数学上的集合,每个元素最多只出现一次。 set的元素 会按照操作符和sort一样,自定义类型也可以构造set,但同样必须定义“小于”运算符。int main(){ setchar> dict; string buf,buf1; buf = "asds"; for(int i=0;i<buf.length();i++)

2018-02-03 19:07:51 434

原创 C++ 不定长数组vector 例5-2木块问题(The Blocks Problem,UVa 101)

vector就是一个不定长数组。不仅如此,它把一些常用的操作“封装”在了vector类型内部。 若a是一个vector,可以用以下语句直接对vector进行操作 a.size() a.resize() a.push_back() a.pop_back() 读取大小 改变大小 向尾部添加元素 删除最后一个元素vector是一个模板,所以需要用

2018-02-03 16:44:43 485

原创 C 计算内存地址间的差

首先引进遇到的问题 输出可以发现a[0]与a[1]的地址相差4(int占4个字节),那么有个问题:a[0]与a[1]的地址相差是4吗?这里需要引入一个概念 直接用内存地址相加减,通常用来计算内存的偏移量。 如果内存地址不是在同一块连续的内存块中,那么计算的结果就是字节数,但是这样的计算基本是无意义的。 如果是同一块连续的内存块中的地址计算,就是数组的偏移量。

2018-02-03 00:20:43 3283 2

原创 C++ lower_bound 算法竞赛 例5-1 大理石在哪儿(UVa 10474)

lower_bound查找大于或等于x的第一个位置。输入n个大理石,q个问题;每个问题问是否有一个大理石写着整数x,如果有回答是哪个 【样列输入】 4 1 2 3 5 1 5 5 2 1 3 3 3 1 2 3 【样列输出】 CASE# 1: 5 found at 4 CASE# 2: 2 not found 3 ...

2018-02-03 00:14:01 356

原创 C++ 模版

回顾c语言sum函数int sum(int *begin,int *end){ int *p; int ans = 0; for(p = begin;p!=end;p++) ans+=*p; return ans;}回顾之前定义的结构体Point C++ 结构体 这个函数比较局限,只能求整数数组的和,不能求double,更不能求Po

2018-02-02 22:55:07 121

原创 C++ 结构体

回忆一下c中结构体变量的定义typedef struct{double x,y;}Point;double list(Point a,Point b){ return hypot(a.x-b.x , a.y-b.y);}上述c代码用typedef的方式定义有两个元素x,y的结构体Point。C++#include using namespace std

2018-02-02 22:21:29 335

原创 C++ getline()

例:输入数据的每行包含若干个以空格隔开的整数,输出每行中所有整数之和。#include #include #include #include using namespace std;int main(){ string line; while(getline(cin,line)) { int sum = 0,x; stri

2018-02-02 21:31:01 503

原创 算法竞赛 例4-3救济金发放(The Dole Queue,UVa 133)

n(n逆时针编号为1~n。有两个官员,A从1开始逆时针数,B从n开始顺时针数。在每一轮中,官员A数k个就停下来,官员B数m个就停下来(注意有可能两个官员停在同一个人上)。接下来被官员选中的人(1个或者2个)离开队伍。 输入n,k,m输出每轮里被选中的人的编号(如果有两个人,先输出被A选中的)。例如,n=10,k=4,m=3,输出为4 8, 9 5, 3 1, 2 6, 10, 7。注意:输出

2018-02-01 17:16:29 422 1

原创 算法竞赛 例4-2 刽子手游戏(Hangman Judge,UVa 489)

猜单词中的字母,有这个字母就继续猜,错的次数有限制 【输入】 会有好几组测试数据,每一组有3列。第一列为一个数字n,代表第几回合,第二列为这一回合的答案,第三列为这一回合玩家输入的猜测。如果n = -1代表输入结束。 【输出】 输出每一回合及游戏结果。游戏结果只有三种可能: You win. You lose. You chickened out.

2018-02-01 13:18:39 634

原创 C语言 递归中的段错误与栈溢出

C语言中,每次递归调用都会多一个栈帧——和普通的函数调用并没有什么不同。由于使用了调用栈,C语言自然支持了递归。在C语言的函数中,调用自己和调用其他函数并没有任何本质区别,都是建立新栈帧,传递参数并修改当前代码行。在函数体执行完毕后删除栈帧,处理返回值并修改当前代码行。递归调用时新建了一个栈帧,并且跳转到了函数开头处执行,同一时刻可以有多个栈帧,但“当前代码行”只有一个。“段”(segme

2018-02-01 10:05:15 3278

2019蓝桥杯.zip

2019年蓝桥杯B组省赛C/C++试题,包括PDF文件、A-J题全部试题的图片、数据等。试题解析可以参考:https://blog.csdn.net/zhaohaibo_/article/details/88783978

2019-11-12

ACM校赛题解.pptx

ACM校赛

2019-10-26

调用sklearn库的K-Means聚类分析实例

#class sklearn.cluster.KMeans(n_clusters=8, init=’k-means++’, n_init=10, max_iter=300, tol=0.0001, precompute_distances=’auto’, verbose=0, random_state=None, copy_x=True, n_jobs=1, algorithm=’auto’) #参数: #(1)对于K均值聚类,我们需要给定类别的个数n_cluster,默认值为8; #(2)max_iter为迭代的次数,这里设置最大迭代次数为300; #(3)n_init设为10意味着进行10次随机初始化,选择效果最好的一种来作为模型; #(4)init=’k-means++’ 会由程序自动寻找合适的n_clusters; #(5)tol:float形,默认值= 1e-4,与inertia结合来确定收敛条件; #(6)n_jobs:指定计算所用的进程数; #(7)verbose 参数设定打印求解过程的程度,值越大,细节打印越多; #(8)copy_x:布尔型,默认值=True。当我们precomputing distances时,将数据中心化会得到更准确的结果。如果把此参数值设为True,则原始数据不会被改变。如果是False,则会直接在原始数据上做修改并在函数返回值时将其还原。但是在计算过程中由于有对数据均值的加减运算,所以数据返回后,原始数据和计算前可能会有细小差别。 #属性: #(1)cluster_centers_:向量,[n_clusters, n_features] # Coordinates of cluster centers (每个簇中心的坐标??); #(2)Labels_:每个点的分类; #(3)inertia_:float,每个点到其簇的质心的距离之和。

2018-01-26

python爬取淘宝商品信息

import requests from bs4 import BeautifulSoup import bs4 def getHTMLText(url): try: r = requests.get(url, timeout=30) r.raise_for_status() r.encoding = r.apparent_encoding return r.text except: return "" def fillUnivList(ulist, html): soup = BeautifulSoup(html, "html.parser") for a in soup.find('tbody').children: if isinstance(a, bs4.element.Tag): tds = a('td') ulist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string]) def printUnivList(ulist, num): print("{:^10}\t{:^6}\t{:^6}\t{:^16}".format("排名","学校名称","地区","总分")) for i in range(num): u=ulist[i] print("{:^10}\t{:^6}\t{:^6}\t{:^16}".format(u[0],u[1],u[2],u[3]))

2018-01-26

空空如也

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

TA关注的人

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