- 博客(24)
- 收藏
- 关注
原创 求无序数组的第K(大/小)数的三种方法
题目描述:给定一个无序数组(长度为n)和一个正整数 K,让你求此数组中第K大的数方法1:最简单的思路,你肯定会想到 先把数组排序,然后再取下标为K的对应数组元素。这种方法肯定是可行的,但是这种方法无端的对咱们不需要查找的元素也进行了处理,在一定程度上增加了算法的消耗!这样是不值得的!此方法的平均时间复杂度为O(n*logn).方法2:利用堆调整算法的性质,建立一个大小为K的堆,然后将整个数...
2018-08-29 19:35:56 8380 4
原创 hdu 5510 Bazinga 思路详解 kmp +思维
经过了计算理论的魔鬼洗礼,感觉脑子都不太好使了!!赶紧找找以前做过的题目提提神!!!好久没看过KMP算法了!来分享一道以前打区域赛的时候碰着的题目吧!(废话有点多- _-')题目描述:给定若干个字符串,从前往后依次排列,一次编号为1-N,要求找到一个下标最大的字符串i,这个字符串满足的条件是,在这之前的存在一个字符串不是他的子串。求解思路:这个题其实跟KMP没多大关系,匹配算法的效率影响不...
2018-05-11 14:46:02 238
原创 hdu 1423 Greatest Common Increasing Subsequence 题解
题目描述:给定两个数字数组a[ ],b[ ],求两者的最长上升公共子序列 的长度思路: 根据题目描述,第一反应就是用动态规划的思路去做这道题,则问题的关键在于找到问题的重复子结构,从而构造出转移方程自底向上求解。 使用dp[i]代表以a数组中第i位元素为结尾的序列与b数组的最长公共子序列的长度。用locate记录每次以a[i]元素结尾,在 b数组中找比a[i]小并且dp值最大的地方。则动态转移方程...
2018-04-22 20:25:40 149
原创 2018年第九届蓝桥杯C/C++省赛A组题解
2018年第九届蓝桥杯C/C++省赛A组题解第一题:题意:就是求一个,首项为1,等比为1/2的等比数列的前二十项之和答案:就是2^20-1/2^19第二题:题意:求整个二十世纪总共有多少个星期一求解过程:当时灵机一动,打开电脑日历,查看了20世纪第一天是星期一(哈哈),然后算出整个二十世纪有25个闰年,所以总天数就是(365*100+25)/7 = 5217天。第三题题意:求解给定的数相乘得到的数...
2018-04-04 09:18:25 6563 6
原创 2019网易实习生招聘笔试题解 矩形重叠+数对个数+找工作
1,求区域中矩形最多重叠的个数题目网址:https://www.nowcoder.com/test/question/done?tid=14633045&qid=152611#summary解题思路:首先考虑暴力解,要想求得最大重叠区域,就遍历每个点最多在多少个矩形中出现,但是由于点坐标过大,肯定会超时。优化方法就是将所有矩形的横纵坐标存起来,求这些坐标组成的点最多在多少个矩形中出现,就可...
2018-03-31 10:39:01 540
原创 2019网易实习生笔试题解
1,求区域中矩形最多重叠的个数题目网址:https://www.nowcoder.com/test/question/done?tid=14633045&qid=152611#summary解题思路:首先考虑暴力解,要想求得最大重叠区域,就遍历每个点最多在多少个矩形中出现,但是由于点坐标过大,肯定会超时。优化方法就是将所有矩形的横纵坐标存起来,求这些坐标组成的点最多在多少个矩形...
2018-03-29 08:29:16 284
原创 Socket编程实现多人聊天室(c语言版)
socket编程花了我三四天的时间终于将这个程序给实现了!!!! 所谓的多人聊天室,其实不过是客户端创建一个数据接收线程和数据发送线程,而在服务器端创建一个套接字数组,开启一个接受连接请求线程,不断接受来自客户端的连接请求,然后将建立的连接所形成的新套接字描述符存进套接字数组,并针对所存储的套接字描述符建立多个数据接收线程,对于所接收到的数据,开启一个数据转发进程,对套接字数组中的每...
2017-11-30 16:32:16 24661 12
Socket编程实现多人聊天室(C语言版)
socket编程花了我三四天的事件终于将这个程序给实现了 所谓的多人聊天室,其实不过是客户端创建一个数据接收线程和数据发送线程,而在服务器端创建一个套接字数组,开启一个接受连接请求线程,不断接受来自客户端的连接请求,然后将建立的连接所形成的新套接字描述符存进套接字数组,并针对所存储的套接字描述符建立多个数据接收线程,对于所接收到的数据,开启一个数据转发进程,对套接字...
2017-11-24 22:42:27 6444 2
原创 树莓派 摄像头安装配置
在网上有不少树莓派安装配置摄像头的教程,但是或多或少有些错误的地方,本人综合尝试了几次后,发现如下步骤是没有问题的!! 摄像头是采用树莓派专用摄像头,将摄像头接线插入树莓派接线槽内后。需要对摄像头进行配置。 主要步骤如下: 1.打开终端,摄像头驱动所需要的库,依次输入执行以下命令行:sudo apt-get updatesudo apt-get i...
2017-07-15 10:54:47 731 3
原创 uva 129 困难串
因为在递归的过程中,总是选择最小的i,所以最先求到的解肯定是字典序最小的,我觉得这也是这道题用这个算法的原因,因为我觉得这个算法对减时没有什么卵用 :wink: [code="C++"]#include #include #include using namespace std;int L,n,cnt;int s[1010];int dfs(int cur)...
2016-03-19 20:05:43 129
原创 poj 3984 迷宫问题 BFS+栈的使用
#include <stdio.h> #include <algorithm> #include <string.h> #include <queue> #include <stack> using namespace std; int dir[]={-1,0,1,0}; ///上下左右四个移动方向int dil[]={0,...
2015-11-24 14:09:10 228
原创 neu 1438 Car race game 树状数组求解前缀和
#include <bits/stdc++.h>using namespace std;#define lowbit(i) i&(-i)const int N = 1000000 +10;int n,m,k,l,r;int a[N];int getsum(int i){ int xx = 0; while(i>0) { ...
2015-11-24 14:05:27 309
原创 zoj 1558 背包
[code="C++"]#include using namespace std;int num[8],dp[10000+10];int cmp(int x,int y){ return x>y;}int main(){ int t; scanf("%d",&t); while(t--) { for...
2015-11-09 16:18:18 86
原创 poj 2985 并查集+树状数组求第k大数
[code="C++"]#include #include #define lowbit(i) i&(-i)#define maxn 300000using namespace std;int a[maxn],c[maxn],p[maxn];int fd(int x){ return x==p[x] ? x :fd(p[x]);}void upda...
2015-11-05 16:53:13 158
原创 hihocoder 1078 线段树区域更新
[code="C++"]#include#include#includeusing namespace std;#define M 1000005struct tree{ int left,right,sum,lazy;};tree g[M];int map[M];void pushDown(int i){ if(g[i].lazy) {...
2015-11-05 15:17:37 94
原创 poj 3984 bfs+栈的使用
[code="C++"]#include #include #include #include #include using namespace std;int dir[]={-1,0,1,0};int dil[]={0,-1,0,1};int num[6][6];int visit[6][6];int d[30];struct node{...
2015-11-03 21:01:34 154
原创 kmp裸模版 poj 3461
[code="C++"]#include #include using namespace std;const int maxn = 1000000+10;char s[maxn],t[maxn];int next[maxn];int m,n,k,l,i,T;void get_next(char str[]){ memset(next,0,size...
2015-11-03 19:01:13 102
原创 hdu 5510 Bazinga 思路详解 kmp +思维
[size=large]来一发代码,先前后两两比较,如果前一个串是后一个串的字串,那他就是没必要的,假设第i个串是i+1的子串,如果在后面循环比较中,如果第i+1个串是后面串的子串,那i个串就没有比的必要了,如果第i+1不是后面串的子串,直接结束循环,查找结束,得出结果[/size][code="C++"]#include int next[10005];int T;c...
2015-11-01 19:32:41 138
原创 neu 1438 树状数组求逆序数
[code="C++"]#include using namespace std;#define lowbit(i) i&(-i)const int N = 1000000 +10;int n,m,k,l,r;int a[N];int getsum(int i){ int xx = 0; while(i>0) { xx...
2015-10-30 20:17:38 113
原创 poj 3468 树状数组
[color=darkred][u]http://kenby.iteye.com/blog/962159[/u][/color]///我只想存个代码,思路来源解法都是上面那个网站看的[code="C++"]#include #include using namespace std;const int N = 100000+10;long long det[N],num[...
2015-10-30 19:10:21 161
原创 hdu 1556 Color the ball 树状数组思路分析
[align=left][size=medium][color=red]网上很多博客都只给了代码,这对于很多刚接触树状数组的人来说往往一头雾水。我说一下主要思路:你每次更新一个点的时候(加一个数),后面所有的点的前缀和都会相应的加上这个数,这其实就相当于这个数受了这个点影响,你每次画一个点的时候,其实就相当于画了它后面所有的点,然后你把那些不必要画的点受的影响减回来就行[/color][/size...
2015-10-30 18:47:02 139
原创 树状数组求区间最值 hdu 1754
[size=large][color=red]原理:求和时c数组存的是相应区间的和,而在这c数组(mkx数组)求的是相应区间的最大值[/color][/size] [code="C++"]#include using namespace std;const int N = 400000+100;int n,m,k,l,r;int a[N];int mkx[N],num[...
2015-10-29 16:00:45 278
原创 hnu Cent Saving
代码如下:注释部分为思路讲解[code="C++"] ///hnu Cent Saving#include #include #include using namespace std; const int N = 2000, D = 20;const int infty = 0xfffffff; int Prize[N];int Cost[N+1][...
2015-08-03 09:12:23 157
原创 hdu 1423 Greatest Common Increasing Subsequence 题解
[code="C++"]#include #include #include #include #include using namespace std;int dp[550];int T;int a[550],b[550];int main(){ scanf("%d",&T); int m,n; while(T--) ...
2015-07-25 20:38:11 200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人