自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Saiyyc的博客

华东师大硕士在读

  • 博客(52)
  • 收藏
  • 关注

原创 机器学习之K-近邻算法

    上学期险些挂了孙大圣的PRML(pattern recognition and machine learning)课之后,决定本学期重新学一遍机器学习的经典算法,为接下来的寻找论文方向铺路,经过2个礼拜的颓废之后,终于写下了这篇knn算法,虽然此类文章已经在网上烂大街了,不过还是决定重新梳理一下自己的思路。    首先定义一下K-邻近算法,它的工作原理是:存在一个样本数据集合,也称作数据集...

2018-03-22 21:04:35 193

转载 scrapy学习——xpath的学习

定位1.依靠自己属性,文本定位//td[text()='xxx']//div[contains(@class,'xxx')]//div[@class='xxx' and @type='xxx'] 2.依靠父节点定位//div[@class='xxx']/div//div[@id='xxx']/div  3.依靠子节点定位//div[div[@id='

2017-03-31 20:13:30 443

原创 PAT 1128

N皇后问题:每输入一个位置就把所有不能摆放的位置全部置为1,如果之后填入的皇后标记是1的话就说明不成立,若判到最后一棵棋子依旧不是1,则成立#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int N = 405

2017-03-19 09:46:21 314

原创 PAT 1103

自己的方法总是不对,参考了大佬的#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 405int n, k, p;int fidx = 0;int factor[N];int res[N];int

2017-03-16 14:31:07 321

转载 基于python的七种经典排序算法

转自银河系1234参考书目:《大话数据结构》一、排序的基本概念和分类所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序的稳定性:经过某种排序后,如果两个记录序号同等,且两者在原无序记录中的先后秩序依然保持不变,则称所使用的排序方法是稳定的,反之是不稳定的。内排序和

2017-03-15 11:44:24 315

转载 常用查找数据结构及算法(Python实现)

转自银河系1234目录一、基本概念二、无序表查找三、有序表查找3.1 二分查找(Binary Search)3.2 插值查找3.3 斐波那契查找四、线性索引查找4.1 稠密索引4.2 分块索引4.3 倒排索引五、二叉排序树六、 平衡二叉树七、多路查找树(B树)7.1 2-3树7.2 2-3-4树7.

2017-03-15 11:43:12 396

转载 [这段代码很Pythonic]相见恨晚的itertools库

转自忆先前言最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了。很多人都致力于把Python代码写得更Pythonic,一来更符合规范且容易阅读,二来一般Pythonic的代码在执行上也更有效率。今天就先给大家介绍一下Python的系统库itertools。

2017-03-15 11:36:46 254

原创 PAT 1122

这题莫名其妙,判定在main函数里总是有个样例过不去,写到judge函数中就可以全过了题目大意:给出一副无向图,有K个询问,每个询问包含n个点,判断这n个点组成的序列是否符合哈密顿回路。 哈密顿回路:包含图中所有节点的一条简单回路(首尾节点相同,且每个顶点只出现一次)。解题思路:对于每个询问,判断是否符合。出现以下情况就是不符合: 1、首尾节点不

2017-03-14 10:26:02 305

原创 cxxxxx和xxxxx.h的区别

在C语言中,xxxxx.h 头文件是主要的,例如stdio.h,string.h,math.h。而在后来的C++语言中,C++是C的超集,且C++中,已不推荐再用C的类库,但为了对已有代码的保护,还是对原来的头文件支持。  cxxxx是c++从C的xxxxx.h继承来的,在前面加C同时不要h后缀,在C++环境当然是选用前者,两者内容都一样,只是cxxxx头文件中定义的名字被定义在命名空间std

2017-03-14 09:10:38 103408

原创 PAT 1121

其实我也不知道我写的啥......数组开的有点多,先开了mp数组存夫妻,然后开了一个数组存参加party的人(将其编号标记),再开了一个数组按顺序存参加party的人,然后判断,如果是单身狗的话则存入最终数组...实在是复杂  下面贴了一个大佬的比较短的.#include#include#include#include#include#include#include#incl

2017-03-13 21:53:43 291

原创 PAT 1116

这题一开始想复杂了,导致2个样例超时,其实只要利用数组存储就可以了,每个数字都有一个对应的状态,1表示第一,2表示素数,3表示有奖,-1表示check过了,0表示没有这个人,然后在输入的时候处理好,输出判断就行了。#include#include#include#include#include#include#include#includeusing namespace std

2017-03-13 20:34:54 328

原创 PAT 1120

水题,把数字逐位相加,得出所有不重复的和、#include#include#include#include#include#include#include#includeusing namespace std;#define N 100005int main(){ sets; int n, i,j; string str[N]; scanf("%d", &n);

2017-03-13 16:59:43 233

原创 PAT 1127

题意很简单:中后序建树,然后按Z字形输出#include#include#include#include#include#include#includeusing namespace std;#define N 100005struct Node { Node *lchild,*rchild; int c;};int post[30], in[30];Node *

2017-03-13 15:21:03 312

原创 PAT 1126

题意:告诉你欧拉电路和欧拉环的定义然后给你一个图问你他是不是欧拉回路。#include#include#include#include#include#includeusing namespace std;#define N 100005int i, j, k, n;vector >v;vectorvisit;int cnt = 0;void dfs(int i

2017-03-13 13:31:00 231

原创 PAT 1104

自己写一下找一下规律,注意都是连着的,一开始没看清题意还以为是排列组合。#include#include#include#include#include#includeusing namespace std;#define N 100005int i, j, k, n;int main(){ vectora; double k; scanf("%d", &n); f

2017-03-13 09:40:41 420

转载 65条最常用正则表达式,你要的都在这里了

很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求。所以我最近把开发中常用的一些正则表达式整理了一下,在这里分享一下。给自己留个底,也给朋友们做个参考。一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零

2017-03-08 22:14:03 259

原创 python列表的简单使用

python列表是一个很好用的工具,他就像C语言中的数组,但是又可以混杂不同类型的数据。1.列表的创建movies=["The Holy Grail","The Life of Brain","The Meaning of Life"]print(movies)print(movies[1])列表可以按数组的形式来读取想要的字符串或者其他类型的数据2.列表的插入与删除movie

2017-03-08 08:40:48 200

原创 C/C++ 引用,赋值,指针之间的区别

int a; int *p=&a; a = 15; int &b = a; a = 18; cout b是引用,b也指向a的地址,故当a,b中任意一个值发生变化,则两个一起发生变化。p是指向a地址的指针,当a或者b的值发生了改变,则*p的值也跟随发生改变,p的地址是另外开辟的,和a,b的不同。

2017-03-07 22:14:24 4059

转载 C++变量定义及声明的区别

从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。对于下面的两句代码:void Func(){int a;int b=1;a=0;} 对于第一行代码,编译器不会做任何事,它不会为它在栈中分配一点东西,直到第三句,a=0;时,编译器才会将其压入栈中。而对于int b=1;这一句,编译器就会生成一条指令,为它赋值。

2017-03-07 21:18:02 192

原创 PAT 1125

第二题很多人都说是赫夫曼树,我就排了个序就过了,时候推敲了一下逻辑是可行的,有兴趣的同学可以用赫夫曼树做一下#include#include#include#includeusing namespace std;int main(){ int n, i; double s[10005], len = 0; scanf("%d", &n); for (i = 0; i < n

2017-03-07 14:11:39 193

原创 PAT 1124

水题,按条件判一下,考的时候不是这么写的,更简练一些,这题也可以用vector或者map写,更加精练一些#include#include#includeusing namespace std;int main(){ string str[5005], fz[5005]; int n, m, k, s, i, j; scanf("%d %d %d", &m, &n, &s);

2017-03-07 14:10:18 195

原创 C++ vector动态数组常用函数

C++动态数组是一个十分有用的STL,下面其他做了一些总结1 基本操作(1)头文件#include.(2)创建vector对象,vector v;(3)尾部插入数字:v.push_back(a);(4)尾部消除数字:v.pop_back();(5)使用下标访问元素,cout(6)使用迭代器访问元素.vector::iterator

2017-03-06 13:09:43 592

转载 一步一步学网络爬虫(从python到scrapy)

转自:http://blog.csdn.net/sunnyxiaohu/article/details/50787430大概花了一个星期的时间,学习了一下网络爬虫的知识,现在使用scrapy能爬一些基本的网页,图片,解决网页编码兼容问题,基础的模拟登陆。对于有些模拟登陆,由于其提交的表单要经过js进行处理后提交;更难的其网页也是经js渲染的,要学会一步步去分析,没有太多的去深入,但我会提到

2017-03-06 12:27:12 496

原创 PAT 1113

超级水题,sort排序,中间断开,加起来减一下就好了#include #include #include#include#include #include using namespace std;int main() { int n; long long a[100005]; scanf("%d", &n); for (int i = 0; i < n; i++) {

2017-03-03 15:53:23 319

原创 PAT 1112

如果前后都是出现连续n次按键则是坏键#include #include #include#include#include #include using namespace std;int n, i, j;char str[10005];int flag[10005];int main() { scanf("%d %s", &n, str); for (i = 0, j

2017-03-03 15:28:25 286

原创 PAT 1110

PAT 1102的变形,注意1110需要支持2位数操作,层序遍历的时候检查中间是否有缺漏结点就可以了#include #include #include #include#include#include #include #include#include#include using namespace std;#define MAX 20000+5#define INF

2017-03-03 14:01:23 272

原创 PAT 1109

模拟题,题意是给你n个人的名字和身高,将其排成k行,然后最高的站中间,每个人左边比右边身高高,然后将其输出#include#include#include#include#include#include#includeusing namespace std;struct Team { string name; int high;}s[10005];int cmp(co

2017-03-03 13:42:03 201

原创 PAT 1108

简单模拟,求合法的数的平均值,坑点在3. 2.这样的数也是合法的,还有就是输出的时候number注意单复数,0是复数,代码略复杂仅供参考#include #include #include #include#include#include #include #include#include#include using namespace std;#define MAX 5

2017-03-03 13:33:52 213

原创 PAT 1102

题意:给你N个结点,然后输入N行,每行代表当前第i个结点,每个结点有左右孩子,然后将其反转后,进行层序遍历和中序遍历,层序遍历相当于BFS,中序相当于DFS.下面给出两种做法,第二种是纯数据结构做法,参考大神的,第一种相对比较好理解一些。#include #include #include #include#include#include #include #include#i

2017-03-02 20:19:54 262

原创 PAT 1007

和hdu 1003思路整体一致,就是少了一些格式内容,简单dp,最大子序列和.状态转移方程式是dp[i]=max(dp[i]+a[i],dp[i])#include #include #include #include#include#include #include #include using namespace std;#define MAX 10000+5#defi

2017-03-01 13:33:55 228

原创 PAT 1042

这题做的有点麻烦,因为脑子一直抽风,整体思路是直接开了个结构体存洗牌顺序,然后直接快排n次输出就好了,很简单的一道题目脑子卡住好几次.#include #include #include #include#include#include #include #include using namespace std;#define MAX 55#define INF 0x3f3f3

2017-02-28 20:52:46 194

原创 PAT 1041

题意:输出第一个没有重复过的数字#include #include #include #include#include#include #include #include using namespace std;#define MAX 1000005#define INF 0x3f3f3f3fint n, a[MAX], b[MAX], i, j;int main()

2017-02-28 18:23:30 219

原创 PAT 1035

题意:给你N串密码,问可不可以按照他给定的方法进行加密,若部分或全部可以则输出所有可以加密的密码串,若全部不可以则输出密码串的个数,1个和多个输出是有单复数的.#include #include #include #include#include #include #include using namespace std;#define MAX 1005#define INF

2017-02-28 16:34:14 297

原创 PAT 1019

水题,按位取余判是否是回文串(ps:一开始还以为是进制转化,感觉10的9次方的进制转化要gg,仔细读题发现很水,所以读题要仔细)#include #include #include #include#include #include #include using namespace std;#define MAX 100005#define INF 0x3f3f3f3fin

2017-02-28 15:52:58 227

原创 PAT 1101

此题有毒,当时直接进行遍历分数没拿满,参考了一下菊苣的做法只要把当前最大和最小的遍历出来然后比最大的大比最小的小就可以出结果了,还有一个坑点就是第三个样例必须输出\n才可以拿到分数,ACM做多的人习惯性会加\n,PAT做多了就懒得加了,下附代码(有一定参考性)#include #include #include #include#include #include #include

2017-02-28 14:07:00 303

原创 PAT 1100

水题,当年考的时候用模拟的办法就没拿全分,结果现在做依然拿不了全分,所以改用了map,总算是AC了.代码依旧很长不精简,不过思路比较清晰.#include #include #include #include #include #include using namespace std;string mon[13] = { "tret", "jan", "feb", "mar",

2017-02-28 11:37:18 305

原创 C++中string的一些常用法

String类在ACM中的常用的一些方法:String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象.这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似.1.length()const; //得到string字符串的长度2.char strsub(i,k)

2017-02-28 11:12:31 256

原创 PAT 1031

按格式输出,注意条件#include#include#include#includeusing namespace std;#define MAX 100005int main() { char str[MAX]; scanf("%s", str); int len = strlen(str); int n1, n2, n3; if (len % 3 == 0) n1

2017-02-27 20:38:02 258

原创 PAT 1028

题意很简单,坑点在于用string和cin,cout来输入输出最后一个测试点会超时过不去,故采用C语言的方式用strcmp进行比较。#include#include#include#includeusing namespace std;#define MAX 100005struct Student { char ID[7]; char name[9]; int score;

2017-02-27 19:53:34 469

原创 PAT 1027

水题,10进制转13进制,注意0的情况#include#include#include#includeusing namespace std;#define MAX 2005int main() { int R, G, B,p; char a[10],b[10],c[10]; scanf("%d %d %d", &R, &G, &B); int cnt = 0; printf

2017-02-27 19:11:23 185

空空如也

空空如也

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

TA关注的人

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