- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 LeetCode 练习题解(152. Maximum Product Subarray)
给一个数组,长度至少为1,要求找出连续长度子数组乘积的最大值class Solution {public: int maxProduct(vector& nums) { int tmpp=nums[0],tmpn=nums[0],ans=nums[0],tmp; int len=nums.size(); for(int i=1;i<le
2016-01-28 13:52:40 430
原创 二叉搜索树(树状数组)
计数函数程序:int lowbit(int k){ return k&-k;}功能:可视为每个节点的编号函数加和函数程序:int sum(int x){ int ret=0; while(x>0) { ret+=c[x]; x-=lowbit(x); } return ret;}
2013-09-08 10:39:27 744
原创 About KMP算法
首先需要找到一个next数组 next数组程序:void findnext(char* t,int* next){ int cnt=0; int m=strlen(t); int i=0; int j=-1; next[0]=-1; while(i<m) { while(j>=0&&t[i]!=t[j])
2013-09-07 08:59:07 537
原创 sscanf和sprintf的用法
ABOUTSSCANF/SPRINTF目录:SPRINTF………………………………………………………………………………………SSCANF……………………………………………………………………………………....一、SPRINTF(sprint(字符数组,格式,字符串常量);)1. 可以将变量打印到字符串里,获取数字的字符形式程序:#include#i
2013-09-01 12:12:21 681
原创 qsort函数用法
头文件:#includecmp函数:1. 比较单个字符:int cmp(const void* a,const void* b){ return*(char*)a-*(char*)b;}2. 比较字符串:intcmp(const void *a,const void *b){ char* cha=(char*)a;
2013-08-25 18:39:18 685
原创 链表的操作
#include#include#includeint key=1;int cmp(const void* a,const void* b){ return *(int*)a-*(int*)b;}typedef struct Node{ int data; struct Node *next;} Listnode;Listnod
2013-06-27 16:59:17 624
原创 遍历线段树
struct Node{ int l; int r; int num;} aNode[4*N];int data[N];int query(int l,int r,int n)//为询问以n为根节点的,从l到r的一段区间的num值{ int mid=(aNode[n].l+aNode[n].r)>>1;//其中mid为全树的中点
2013-05-18 11:13:19 1017
原创 单点更新线段树
struct Node{ int l; int r; int num;} aNode[4*N];int data[N];void update(int nid,int d,int n)//以n为根节点的树,修改nid编号的子节点,修改的值为d{ int mid=(aNode[n].l+aNode[n].r)>>1;//建树时得出的树(以n
2013-05-18 11:11:54 668
原创 线段树的建立
struct Node{ int l; int r; int num;} aNode[4*N];int data[N];void build(int l,int r,int n)//l为build的第一个编号,r为build的尾,n为以第n个节点为当前的根{ int mid=(l+r)>>1; aNode[n].l=l;
2013-05-18 11:09:25 655
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人