自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Masqueradey的博客

合抱之木,生于毫末;九层之台,起于累土

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

原创 c/c++动态创建二维数组

int l1 = word1.size(); int l2 = word2.size(); int **dp = new int*[l1]; for(int i = 0;i<l1;i++) { dp[i] = new int[l2](); }

2020-05-22 22:12:04 206

转载 MFC六大核心机制之二:运行时类型识别(RTTI)(转载)

http://www.jizhuomi.com/software/269.html很棒的一篇文章,不过MFC真有意思,对于多态自己造了个消息映射轮子,RTTI自己造了个CRuntimeClass宏轮子

2020-04-24 20:23:32 183

原创 浅析libco协程库上下文切换过程

之前为了了解一下协程而去学习了用c++编写的libco协程库,其中的协程上下文切换感觉比较有意思,正好这段时间学了一点X86的汇编,所以自己试着解读一下其中用汇编写的上下文切换过程。先给出上下文切换的函数定义以及函数的参数结构体:coctx_swap(&(curr->ctx),&(pending_co->ctx) );//-------------//...

2020-02-24 20:24:24 236

原创 ubuntu 18禁用输入法ctrl alt h 快捷键

配置当前输入法---附加组件----键盘布局----切换单词提示选为空即可

2019-11-23 00:30:11 574

原创 二叉树中和为某一值的路径(递归解决)

题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;...

2019-10-31 23:05:05 129

原创 快速排序(两个index同时向右移动版)

之前数据结构书中的快排确定枢纽点是用两个指针一个指头一个指尾,并将两个指针都往中间方向扫描,最终确定枢纽点的方法。近来看到另一种确定partion的方法(用small和i两个index一起往end方向扫描,并确定枢纽点,感觉也十分巧妙,特此分享)int partion(int arr[], int start, int end){ srand((unsigned)time(NULL));...

2019-10-24 20:22:40 190

转载 最长公共子序列

这篇博客讲的很好,转载一下:https://www.cnblogs.com/wkfvawl/p/9362287.html。两点注意:1、动态规划还有一个无后效性。2、转载的文章中输出路径只能输出某一条最长公共子序列路径。...

2019-09-30 00:08:29 104

原创 最长递增子序列&&最长连续递增子序列

最长递增子序列算法尚有缺陷,不能输出所有最长递增子序列最长递增子序列:#include<iostream>using namespace std;void PrintMaxSubSeq(int flag, int i, int *a, int *prev){ if (prev[i] == i) { cout << a[i] << " "; re...

2019-09-25 22:38:30 190

原创 hash表简介(仅涉及数据结构,初始化插入删除遍历等操作算法暂时没写)

hash表的特点就是对于一堆有key值的数据块(同一种数据结构),通过将这些数据块挂在hash表上之后,可以通过key值在线性时间内查询到相应的数据块。数据结构:typedef struct hash_node{ hash_node *next; //下一个hash节点 hash_node *prev; //前一个hash节点 type *st; ...

2019-09-21 20:34:57 198

原创 堆排序(利用大顶堆构建增序)

#include <iostream>using namespace std;void heapsort(int *arr,int len);void heapadjust(int *arr,int i,int len);int main() { int i,n; cout<<"Please print the number of the arr ...

2019-05-23 22:30:06 640

原创 红黑树的性质以及插入删除操作时要用到的左旋右旋

之前看了一段时间红黑树,对它的性质有了初步的了解,但是它的插入操作较为复杂,放另一篇博文中写,删除操作则是压根没怎么看懂,如果以后要用到这个数据结构再对其删除操作进行研究。性质:先是特点:首先它是一棵二叉平衡搜索树。首先何为二叉搜索树,二叉搜索树就是对该二叉树中任一节点满足:左子树根节点的值(如果存在)&lt;当前节点的值&lt;右子树根节点的值(如果存在)。对于这样一种二叉树,显然在极端...

2019-03-13 22:12:38 420

原创 c++中算术转换

整型+浮点型-----&gt;浮点型无符号整型+无符号整型-------&gt;小整数类型转化成大整数类型并且unsigned char,unsigned short,bool这些类型做加法算术运算时都会转化成int,其它算术运算没测试。有符号整型+有符号整型-------&gt;同上无符号整型+有符号整型-------&gt;依赖于机器环境,若无符号整型所占空间大于等于有符号整型,则...

2018-11-30 12:20:30 489

原创 RSA算法

工作过程:RSA算法是一种非对称公开密钥密码算法。这个算法中有两个密钥:一个是公钥,它由通信双方所共同拥有;还有一个是私钥,它由通信接收方所拥有。现在来简要说明一下通信接收方生成公钥和密钥的过程。1、选择两个大素数p和q。p、q的值越大,破解RSA越困难。2、计算n=p*q和z=(p-1)*(q-1)。3、选择一个小于n且和z互质的数e作为公钥。4、选择一个数d,这个d要满足e...

2018-11-06 17:50:34 2549

原创 二叉排序树

#include &lt;iostream&gt;using namespace std;class binarytree{private: int v; binarytree *lchild,*rchild;public: binarytree(){ cin&gt;&gt;this-&gt;v; this-&gt;lchild=NU...

2018-05-21 19:32:12 193

原创 bellman_ford

#include&lt;bits/stdc++.h&gt;const int maxint=10000000;using namespace std;struct edgenode{ int st; int ed; int weight;};class graph{private: int nodenum;//µãÊýÄ¿  int edgenum;//±ßÊýÄ¿ edgenode *edge;...

2018-05-10 23:19:44 274

原创 Eclipse配置scrapy工程

最近毕业设计选的是python网络爬虫,python现成的爬虫模块有很多,scrapy,bs4等等,但是我参考的教科书上面说scrapy参考文献较多,也比较简单,便决定用这个模块来做爬虫。书中的工程是用linux终端来做爬虫,但是本人linux小白,而且更加倾向于用windows平台下的Eclipse来新建项目,所以只能自己慢慢摸索着在Eclipse中配置scrapy项目。1.因为Eclipse中...

2018-03-07 12:30:24 663 1

原创 归并排序练笔

#include#includeusing namespace std;int a[100],temp[100];void mixarray(int first,int mid,int last){ // if(first==last)return; int i=first,j=mid+1,k=1; while(i<=mid&&j<=last) {

2017-07-21 11:29:36 210

原创 复习到了快排,简单练一下笔

#include<iostream>#include<cstdlib>using namespace std;int a[20];int len;int partion(int low ,int high){ int i,j; int key=a[low];//以low作为初始枢纽点 while(low<high){ ...

2017-07-19 20:27:39 271

原创 poj 2187

直接暴力做会超时,运用性质平面上的散点集的最远的两点距离必然在这个散点集的凸包的某两个顶点上出现即可。虽然用旋转卡壳优化一下会更加快,但是懒得学这个算法了(真是怠惰呢),,,代码:#include#includeusing namespace std;struct point{ int x,y;}farm[60000],s[600000];int top,n;int di

2016-10-10 20:37:04 357

原创 POJ 1228

题意是原先有一堆点,它们可以构成一个凸包,现在因为时间原因一些点消失了,问现在的点是否能构成一个唯一的凸包。也就是这些点生成的凸包是否还能添加点生成新的凸包。思路是判断每一条边上是否都是有3个或者以上的点,以使该边稳定,第一次交WA了,搞了好久不知道错在哪,后来看了别人的答案才知道求凸包以后最后一条边的原来的点(题目给出的点)一定被消去(并且一定是倒数第二个的点,但不知道为什么),所以现在的最后一

2016-10-09 17:57:08 439

原创 POJ 1113

这道题是给定点集,求出凸包,然后在外面构筑一个城墙,使凸包每一点到围墙距离小于一个给定的值L。最终可以等价于凸包周长之和再加上以L为半径的圆的周长。代码:#include#include#include#includeusing namespace std;#define maxn 2000const double PI=3.1415926;struct point{ i

2016-09-29 16:23:19 226

原创 poj 1679

这道题算是对最小生成树的一个衍生,给你一个树,判断它的最小生成树是否唯一,这里需要用到次小生成树算法,如果次小生成树大小和最小生成树一样,则不唯一。算法1(每次从最小生成树上去掉一个边,再求该图的最小生成树的权值和,再对所有新生成的最小生成树求最小值,即为次小生成树)代码:#include#includeusing namespace std;#define maxn 2000000

2016-09-24 09:45:40 272

原创 poj 1789

POJ的题目,读起来真费事,,,意思是给你N串有7个字符的字符串,任意两个字符串的距离就是两个字符串相同位置上不同字符数量之和(如aaaa和baba,第一位和第三位不同,所以距离为2),现在让我们求一个方案,要求所有串都必须由其它串演变而来(除了初始串),要求衍生所需要的总距离。其实就是求最小生成树。代码:#include#includeusing namespace std;#defi

2016-09-19 20:55:54 386

原创 POJ 2031

最小生成树水题代码:#include#include#include#includeusing namespace std;const double inf=100000;int n;double x[200],y[200],z[200],r[200],map[200][200];int flag[200];void prim(){ int i,j,pos;

2016-09-19 18:12:39 242

原创 poj 2421

最小生成树模板题,就是POJ的英文实在有点难翻译,好好的一个X,Y坐标分别对应两个村庄,数值对应村庄距离愣是说得不明不白。代码:#includeusing namespace std;#define maxn 300000;int N,Q;int mm[105][105];int flag[105];int low[105];int sum;void prim(){ in

2016-09-18 00:08:37 254

原创 hdu 2566

这道题可以用母函数做也可以直接暴力求解,但是本人母函数不熟悉,所以还是做做母函数的题目练练手吧。代码:#include#includeusing namespace std;#define maxn 500int c1[maxn][maxn],c2[maxn][maxn];//注意,因为题目对硬币数量进行了要求,所以利用二维数组的第二维来储存信息,第一维储存价值,第二维储存硬

2016-09-15 10:59:04 260

原创 hdu 2189

母函数,只要把150以内的素数分别编队即可套用母函数, 以2为例,可以有1个——75个该种队伍,把每种队伍放到一个多项式里即可。#include#includeusing namespace std;int c1[200],c2[200],prime[200];int flag[200];int cnt;void init(){ int i,j; cnt=0;

2016-09-14 10:12:24 272

原创 HDU 2152

FruitTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4460    Accepted Submission(s): 2570Problem Description转眼到了收获的季节,由于有TT的专业指导,Lel

2016-09-13 13:46:57 610

原创 hdu 1527

取石子游戏Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6329    Accepted Submission(s): 3417Problem Description有两堆石子,数量任意,可以不同。游戏开始由两个人

2016-08-18 09:55:41 318

转载 HDU 1517

原文见:http://blog.csdn.net/dgq8211/article/details/7477229这是网上找的解题报告中思路很清晰的一个。显然这一题数字N到无穷大为必败态,之后从N开始往前溯,(N/9....N-1)为必胜态(在这个范围内的任意一个数可以转化为必败态区间的某一个数),(N/9/2,N/9-1)为必败态(在这个范围内的任意一个数只能转化为必胜态区间中的数),接下

2016-08-15 14:00:48 338

原创 HDU 1042

Problem DescriptionGiven an integer N(0 ≤ N ≤ 10000), your task is to calculate N! InputOne N in one line, process to the end of file. OutputFor each N, output N! in one line.

2016-08-10 16:40:04 374

原创 hdu 1113

Problem DescriptionIn millions of newspapers across the United States there is a word game called Jumble. The object of this game is to solve a riddle, but in order to find the letters that appear i

2016-08-06 10:25:17 301

原创 hdu 1075

Problem DescriptionIgnatius is so lucky that he met a Martian yesterday. But he didn't know the language the Martians use. The Martian gives him a history book of Mars and a dictionary when it leave

2016-08-04 10:53:21 292

空空如也

空空如也

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

TA关注的人

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