关闭
当前搜索:

用C学习线性表

线性表是n个数据元素组成的有限序列,按照存储的方式分为顺序和链式。今天用C对顺序和链式分别做点练习。 (下面有很大一部分的代码是用vim写的,贴到博客上就有些格式问题了,不知道怎么解决。。)纯C+顺序表 完成迷你选座系统谁说简单数组不强大? 用简单的数组完成小型的选座系统建设:#include #include #include #...
阅读(389) 评论(0)

基础排序算法

七个基础排序算法(均为内部排序): 直接插入排序 希尔排序 冒泡排序 简单选择排序 快速排序 堆排序 二路归并排序排序算法稳定性:经过排序后,具有相同关键码的元素之间的相对次序保持不变,则称该排序方法是稳定的;否则不稳定。直接插入排序:void InsertSort(int a[],int n){ // index start at 1, a[0] is temp one i...
阅读(996) 评论(2)

树状数组求解逆序数

数列的逆序数可以使用归并排序求解,亦可以使用树状数组解决。现在献上两题,用树状数组求解逆序数。 POj 2299 Ultra-QuickSort http://poj.org/problem?id=2299 大意:一个排列经过多少次交换能够成为排好序的结果。 分析:之前用归并排序做过,这次练习数据结构。离散(映射)+树状数组 例如:1 9 8 4 5 --->  1 5 4 2 3...
阅读(299) 评论(0)

初识单调栈

问题是新的解决之道的催化剂。一个看似简单的题目我写了好几个小时,实在完成不了,查了查,原来需要用到传说中的单调栈。于是,学了一些皮毛。练习了几道。 51nod 1437 迈克步 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1437 有n只熊。他们站成一排队伍,从左到右依次1到n编号。第i只熊的高度是a...
阅读(342) 评论(0)

codeforces 301D. Yaroslav and Divisors(遍历和排序的艺术)

http://codeforces.com/problemset/problem/301/D 大意:给定一串数字,然后有m个询问,每一个询问问从l到r一共有多少对整除关系? 一个数i的在1——n内的倍数的个数是 n/i 那么,1-i的倍数个数有: f(1,i)=n/1+n/2+n/3+……+n/i 1-i在k内的倍数个数有:g(1,i,k)=k/1+k/2+k/3+……+k/i L-...
阅读(583) 评论(0)

树状数组

树状数组的组成结构: 树上结点C和A数组的关系: C结点管辖的区域是,其中k是结点下标二进制末尾0的个数计算: int lowbit(int a){ return a&(a^(a-1)); //return a&(-a); } 则对于一颗子树,父节点和子节点的区域关系:. 于是有了这样的更新函数: int update(int i,int x){...
阅读(445) 评论(0)

约瑟夫环

问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后[1]  结果+1即为原问题的解。 用循环链表来模拟解决,思路简单: #include #include using namespace...
阅读(268) 评论(0)

poj 1028 Web Navigation(模拟)

题目:http://poj.org/problem?id=1028 Web Navigation Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 31299   Accepted: 14032 Description Standard web browse...
阅读(321) 评论(0)

hdu 1237 简单计算器(数组模拟栈,队列)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1237 简单计算器 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 15248    Accepted Submission(s): 5...
阅读(423) 评论(0)

hdu 4902 Nice boat(线段树区间更新lazytag·单点更新)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4902 Nice boat Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1925    Accepted Submiss...
阅读(459) 评论(0)

poj 1823 Hotel(线段树·区间更新·lazy tag)

题目:http://poj.org/problem?id=1823 Hotel Time Limit: 5000MS   Memory Limit: 30000K Total Submissions: 2398   Accepted: 1051 Description The "Informatics" hotel is o...
阅读(355) 评论(0)

hdu 2852 KiKi's K-Number(线段树单点更新)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2852 Problem Description For the k-th number, we all should be very familiar with it. Of course,to kiki it is also simple. Now Kiki meets a very simi...
阅读(333) 评论(0)

hdu 4006 The kth great number(线段树 || 优先队列)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4006 求一个数字序列的第K大的值。先输入两个数字n,k,接着是n行输入,I表示加入新的数字,Q是询问第k大的数字。 Sample Input 8 3 I 1 I 2 I 3 Q I 5 Q I 4 Q   Sample Output 1 2 3 练习线...
阅读(315) 评论(0)

poj 2828 Buy Tickets(动态队列·线段树单点更新)

题目:http://poj.org/problem?id=2828 大意:一群人排队,第i个人来到队伍中站到处于posi的人的右边,且每个人都有不同的表示值,问最终的结果? Sample Input 4 0 77 1 51 1 33 2 69 4 0 20523 1 19243 1 3890 0 31492 Sample Output 77 33 69 51 31492 20523...
阅读(312) 评论(0)

hdu 1698 Just a Hook(线段树区间更新·经典)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1698 数据:case,n,q,q行x,y,z。在长度为n的hook上进行q次区间更新,把它们的价值改变。最后统计总的价值。x,y,z分别表示把[x,y]内的hook变成价值为z的hook。...
阅读(320) 评论(0)
27条 共2页1 2 下一页 尾页
    个人资料
    • 访问:331304次
    • 积分:8856
    • 等级:
    • 排名:第2517名
    • 原创:575篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论