- 博客(26)
- 收藏
- 关注
原创 pat(八)
1071——10801071[散列表]Speech Patterns思路:建立字典查询即可。//// @author prime on 2017/7/1.//#include #include #include using namespace std;int main(){ string input,tmp; getline(cin,in
2018-01-18 17:04:02
211
原创 pat(七)
1061——10701061[公共字符]Dating思路:这个题目中的公共字符相对简单的,它们的下标是一致的,所以直接同步遍历即可。//// @author prime on 2017/6/29.//#include using namespace std;int main(){ string a,b,c,d; cin>>a>>b>>c>>
2018-01-18 16:56:55
285
原创 pat(六)
1051——10601051[栈]Pop Sequence经典题目,给定入栈顺序,判断一个序列是不是出栈序列。思路: 主循环是入栈的顺序,每次入栈一个,current指向下一个待判定的元素,如果current指向元素和栈顶元素相等即匹配成功,则弹栈。如果栈溢出,则返回false;否则看最后current是否等于N。//// @author prime on
2018-01-18 16:53:33
218
原创 pat(四)
1031~10401030[Dijksra+DFS]Travel Plan思路: 又是喜闻乐见的图论,呵呵。和前面自行车问题一样(MD记住你了),先Dijkstra求出最短路径,在此过程中求出每个结点的前驱结点。然后DFS,从终点回到起点(DFS的边界就是到达起点了,这时候由起点到终点的唯一路径已经确定,计算费用即可),看是否是最低消费。如果是就更新全局变量~~~这里
2018-01-18 16:51:24
245
原创 pat(三)
1021——10301021[DFS+连通分量]Deepest Root题目大意就是如果图是连通的,输出最深的树的根结点的并集;否则输出错误信息。思路: 先用DFS判断连通分量个数,如果是1个表示图连通,此时tmp也记录了所有最深的根结点,然后随便取一个(这里取了第一个)再次DFS,两次并起来就是结果。//// @author prime on 2017/6
2018-01-18 16:49:27
228
原创 pat(二)
1011——10201011[数学计算]World Cup Betting题目要求:数学计算而已思路:整个数学公式//// @author prime on 2017/6/4.//#include using namespace std;int main(){ float res[3]; char choice[3]; float
2018-01-18 16:45:27
184
原创 pat(一)
pat(一)1001[找规律]A+B Format 思路:字符串处理如果可以得到(i+1)%3==len%3就输出一个,,利用这种公式就很简单了。//// @author prime on 2017/6/9.//#include using namespace std;int main(){ int a,b; scanf("%d%d",&a
2018-01-18 16:44:10
193
原创 pat(五)
1041——10501041[查找]Be Unique思路: 建立字典,统计每个数字出现次数,第一个次数为1的数字即为结果。//// @author prime on 2017/6/23.//#include #include #include using namespace std;int main(){ int N; sc
2018-01-18 16:42:36
159
原创 python语法
python一些语法总结。Python语法高阶函数既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。匿名函数lambda关键字lambda表示匿名函数,冒号前面的x表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。 用匿名函数有个好处,因为函数没有
2018-01-18 16:29:26
280
翻译 推荐系统中的矩阵分解技术
推荐系统中的矩阵分解技术本文翻译自Koren Y, Bell R, Volinsky C. Matrix Factorization Techniques for Recommender Systems[J]. Computer, 2009, 42(8) : 30 – 37.现代消费者被大量的选择所淹没。电子零售商和内容提供商提供了大量的产品选择,以前所未有的机会来满足各种特殊的需求和口
2018-01-18 16:18:33
2730
原创 推荐系统实践读书笔记
推荐系统实战好的推荐系统个性化推荐系统需要依赖用户的行为数据。几乎所有的推荐系统应用都是由**前台的展示页面、后台的日志系统以及推荐算法系统**3部分构成的。个性化推荐的两个条件:第一是存在信息过载,因为如果用户可以很容易地从所有物品中找到喜欢的物品,就不需要个性化推荐了。第二是用户大部分时候没有特别明确的需求,因为用户如果有明确的需求,可以直接通过搜索引擎找到感兴趣的物品
2018-01-16 15:31:00
4127
1
原创 Linux网络编程(五)
Linux服务器模型。Linux服务器模型分类循环服务器——同一时刻只能处理一个客户端请求并发服务器——同一时刻可以处理多个客户端的请求UDP服务器通常采用循环服务器模型,TCP服务器通常采用并发服务器模型TCP循环服务器模型UDP循环服务器模型UDP并发服务器模型客户端请求在一个数据报中完成客户端请求在多个数据报中完成TCP并发服务器模型一个子进程对应一个客户端模型简单每个子进程完全独立
2017-06-22 21:42:28
366
原创 Linux网络编程(四)
linux基本IO模型Linux的IO模型阻塞式IO模型(默认)特点结构简单容易同步进程可能永远阻塞或阻塞时间过长阻塞时进程效率低产生阻塞的函数-读操作:read、readv、recv、recvfrom和recvmsgTCP协议以字节为单位,只要接收缓冲区中出现数据,进程被唤醒UDP协议以数据报为单位,当完整的数据报到达时,进程被唤醒产生阻塞的函数-写操作write、writev、send、
2017-06-22 21:42:04
329
原创 Linux网络编程(三)
LinuxIPC问题IPC管道单向通信通道。只适用于父子进程间通信,在进程间实现双向数据传输必须创建两个管道。pipe#include <unistd.h>int pipe(int pipefd[2]);其中pipefd是用于通信的一对文件描述符,pipefd[0]用于读,pipefd[1]用于写。程序示例:用pipe函数创建两个管道:pipe1和pipe2调用fork创建子进程父进程用pi
2017-06-22 21:41:41
227
原创 Linux网络编程(二)
原始套接字编程以及linux进程信号机制。原始套接字前面的socket都是TCp或 UDP的,TCP和UDP Socket对TCP和UDP协议做了封装,简化了编程接口,但失去了对IP数据包操作的灵活性。原始socket直接针对IP数据包编程,具有更强的灵活性,能够访问ICMP和IGMP数据包,也可以编写基于IP协议的高层协议。创建#include <sys/types.h> #i
2017-06-22 21:40:03
193
原创 Linux网络编程(一)
网络编程复习基础知识,socket常用函数。网络编程基础及基本socket函数网络编程模型CS模型网络应用的标准模型是C/S模型,是非对称模型。如下图:其服务器模型分为两种:循环服务器 任一时刻只处理一个客户机请求,处理请求过程中下一请求等待 节省服务器资源,响应时间长,适合处理非耗时请求 并发服务器 并发执行,每收到一个连接请求创建一个进程处理该连接,服务器继续等待下一连接响应速度快,
2017-06-22 21:39:32
495
原创 最短路径
最短路径问题总结。最短路径问题Dijkstra适用于单源点、非负权值的图。基本思想是基于贪心法,执行过程描述如下: 初始化字典dist表示源点到任一顶点的距离。dist[源点]=0,其余INF。然后用一个集合set保存已经被访问的元素。从源点开始,对该顶点所有的出边进行松弛,然后加入到被访问集合中,然后在dist字典中寻找下一个值最小的顶点,依次进行直到所有顶点已经加入被访问集合中。以上是最朴
2017-05-18 17:08:53
442
原创 Huffman
霍夫曼编码的实现霍夫曼编码理论概述引用维基百科中的描述如下:霍夫曼编码(英语:Huffman Coding),又译为哈夫曼编码、赫夫曼编码,是一种用于无损数据压缩的熵编码(权编码)算法。由大卫·霍夫曼在1952年发明。在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现概率的方法得到的,出现概率高的字母使用较短的编码,反之出现概
2017-05-18 15:03:41
304
原创 DP-java版本
常见dp问题的java叙述总结。背包问题0-1背包对于0-1背包问题,运用dp的思想可以有两种常见状态转移:认为物品下标从0开始dp[i][j]表示从前i-1个物品选,在重量不超过j的情况下的最大价值。(正向)dp[i][j]表示从第i个物品开始选,在重量不超过j的情况下的最大价值。(反向)状态转移方程分别如下:#初始化dp[0][j]=0if j<w[i]: dp[i+1][j]=
2017-05-02 18:46:25
2514
原创 位运算
位运算的技巧总结。位操作基本概念基本概念如上图。这里重点说明一下,不论左移还是右移,都是右操作数表示移动的位数。操作的都是补码!!!计算机中对数字的表示有三种方式:原码,反码,补码:原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1。比如十进制3如果用8个二进制位来表示就是 00000011, -3就是 10000011。反码表示方法:正数的反码是其本身;负数的
2017-04-18 21:50:46
485
原创 python一些细节
逻辑运算符对于Python的 and、or和not运算符,有时候使用并不是简单字面上那么简单。还有 一些小技巧。and 这个运算符会从左到右一直计算,如果左边的参数都是真,返回的是结果(不是bool类型),比如-1 and 5返回的值是5,因为第一个参数为真就一直向后计算,知道最后5,返回5。如果是0 and 5就是返回0了。or 这个运算符和and很相似,返回的都不是bool类型,比如0
2017-04-18 20:30:19
233
原创 Python性能分析
Python的自带性能分析工具的使用总结。cProfilecProfile是Python解释器默认的性能分析器,它只测量CPU时间而不去关心内存等信息。 其中,第一列表示有 39986次函数调用,其中23340次原生调用(不涉及递归)。下面是具体的细节:ncalls表示函数调用的次数,如果有两个数字,第一个是总调用次数,第二个是原生调用次数。tottime表示函数内部消耗时间,不包括调用其它
2017-04-18 19:10:30
439
原创 刷题笔记
各种笔记,太菜了唉/(ㄒoㄒ)/~~Longest Substring Without Repeating Characters求最长不重复子串(不是子序列) Given a string, find the length of the longest substring without repeating characters. Examples: Given “abcabcbb”
2017-04-17 18:58:55
326
原创 requests库
另一个第三方库requestsrequests库基本概念如上图,基本的requests的库的操作实质上只有一个request函数,其它函数都是对此函数的二次封装,它们都对应http协议的基本操作另外,requests库也提供了一些异常用于debug。通用代码模式:requests模块的基本操作返回的是Response对象,它支持以下基本属性: try: html=request
2017-04-06 19:52:45
413
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人