
数据结构
青沐沐
每段青春都是苦的
在后半段会有出路的
展开
-
1223 数组排序
1223: 数组排序 时间限制: 1 Sec 内存限制: 32 MB 提交: 9 解决: 4 [提交][状态][讨论版] 题目描述 输入一个数组的值,求出各个值从小到大排序后的次序。 输入 输入有多组数据。 每组输入的第一个数为数组的长度n(1 输出 各输入的值按从小到大排列的次序(最后一个数字后面没有空格)。 样例输入 1 68 15 1 70原创 2017-07-17 10:31:43 · 324 阅读 · 0 评论 -
nyoj116 士兵杀敌(二)
//树状数组不懂的下面有链接 #include #include int N, tree[1000010]; //构建数 void add(int k, int num){ //k为结点标号,Num为当前结点新加的个数 while(k <= N){ tree[k] += num; k += k&-k; // } } int read(int k){ //求区间1~K的和原创 2017-07-24 10:15:47 · 259 阅读 · 0 评论 -
nyoj119 士兵杀敌(三)
士兵杀敌(三) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。 所以,南将军经常问军师小工第i号士兵到第j号原创 2017-08-08 14:58:39 · 400 阅读 · 1 评论 -
nyoj35 表达式求值
//思路:我们计算时一般都用中缀表达式,计算机计算用的是后缀表达式,此题只要将算式转变为 //后缀表达式,然后将后缀表达式入栈出栈就行了, //第一步:建立一个字符队列,存放数字,建立一个字符栈,存放符号,最后将中缀表达式放在队列中 //第二部:建立一个浮点型栈将中缀表达式注意:转换成后缀表达式时数字符号之间要有空格区分 #include #include #include #include原创 2017-07-23 19:27:05 · 203 阅读 · 0 评论 -
nyoj 814 又见拦截导弹
#include #include #include int a[3010], b[3010]; //b[i]存放第i+1个导弹系统拦截的最小值 int main(){ int n, i, j; while(scanf("%d", &n) && n != -1){ int ans = 1; //表示当前所需要的导弹数 for(i = 0; i < n; i++){原创 2017-07-23 09:46:03 · 234 阅读 · 0 评论 -
nyoj 221 Tree
已知二叉树的先序,中序排列,求它的后序排列原创 2017-07-23 08:34:55 · 261 阅读 · 0 评论 -
nyoj 739 笨蛋难题四
//股票问题,求最多赚多少钱,求得当天的股票价格 //减去前面某一天的股票价格的最大值就行了,第一思路是 //两层for循环,不过就TimeLimitExceeded //第二种就是找到当前的最小值,用当天的价格减去最小值,找到这个的最大值 #include #include using namespace std; int a[100010]; int main(){ int n, i, j原创 2017-07-22 18:57:50 · 296 阅读 · 0 评论 -
losesea
今天来讨论一下C中的内存管理。 记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面 我说所有指针使用前都必须初始化,结构体中的成员指针也是一样 有人反驳说,不是吧,以前做二叉树算法时,他的左右孩子指针使用时难道有初始化吗 那时我不知怎么的想不出理由,虽然我还是坚信要初始化的 过了几天这位同事说他试了一下,结构体中的成员指针不经过初始化是可以用(左子树和右子树转载 2017-07-19 07:59:15 · 176 阅读 · 0 评论 -
nyoj 467 中缀式变后缀式
#include #include #include #include #include using namespace std; queue q; //数字队列;此数字也用来存放输出顺序 stack s; //操作符栈 char str[1010]; int oper(char ch){ if(ch == '+' || ch == '-'){ return 1; }els原创 2017-07-22 11:03:38 · 270 阅读 · 0 评论 -
1603 生活的烦恼
https://code.youkuaiyun.com/snippets/2486423.js">>转载 2017-07-17 17:08:07 · 278 阅读 · 0 评论 -
nyoj 202红黑数
#include #include #include using namespace std; const int MAXN = 12; int mark[MAXN], x[MAXN], y[MAXN], l[MAXN], r[MAXN]; void find(int n){ //中序遍历 if(n != -1){ find(l[n]); printf("%d\n", n);原创 2017-07-18 15:17:37 · 255 阅读 · 0 评论 -
nyoj123 士兵杀敌四
士兵杀敌(四) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上,这样,有时候,计算他们中的哪一个人到底有多少军功就是一个比较困难的事情,军师小工的原创 2017-08-09 11:33:32 · 264 阅读 · 0 评论