链接: http://poj.org/problem?id=1201 题意: 给你n个区间,每个区间为[a,b],每个区间取c个数构成一个集合,求集合最小容量 题解: 把区间按b排序,从第一个区间开始取,从后往前取,这样尽可能和后面的区间重复 另外如果我们发现当前区间取得个数已经超过了c,那么只需要 ...
分类:
编程语言 时间:
2017-04-14 19:31:00
阅读次数:
205
题目链接:http://oj.xjtuacm.com/problem/14/【分析】二元的逆序对应该都会求,可以用树状数组。这个题要求K元,我们可以看成二元的。我们先从后往前求二元逆序对数, 然后对于每一个数就可以求出在这个数后面的比他小的数的数量。然后我们再加一元时,当前扫到a[i],那么在树状数 ...
分类:
编程语言 时间:
2017-04-14 18:56:36
阅读次数:
218
题目链接:https://www.luogu.org/problem/show?pid=1092 解: 我真的交了好多遍。。 开始,用getchar()一个个字母读入,0分。。。 改成scanf(),70,并且在70的道路上一发不可收拾。。。 后来看了别人的代码才发现,原来我们的枚举是要进行优化的。 ...
分类:
其他好文 时间:
2017-04-12 11:23:13
阅读次数:
230
A n个数 m 递增的 如果2个数的差大于m 那么前面的字就会消失 问最后有几个字 从后往前走一下 #include<stdio.h> #include<algorithm> #include<stdlib.h> #include<cstring> #include<iostream> #inclu ...
分类:
其他好文 时间:
2017-04-08 22:48:01
阅读次数:
200
算法原理:( 从后往前) 1、比较相邻的元素,如果第一个比第二个大,就交换他们俩个位置 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3、针对所有的元素重复以上的步骤,除了最后一个。 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一 ...
分类:
编程语言 时间:
2017-04-06 20:58:42
阅读次数:
160
一、冒泡排序 基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换。这样比较小(大)的数值就将逐渐从后面向前面移动。 //冒泡排序 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
分类:
编程语言 时间:
2017-04-06 14:18:40
阅读次数:
227
POJ2653 判断线段相交的方法 先判断直线是否相交 再判断点是否在线段上 复杂度是常数的 题目保证最后答案小于1000 故从后往前尝试用后面的线段 "压"前面的线段 排除不可能的答案 就可以轻松AC了。 ...
分类:
其他好文 时间:
2017-04-06 01:20:33
阅读次数:
154
283. Move Zeroes 解题思路: 从nums[0]开始,如果是零就和它后面的第一个非零数交换,不是零就下一位。不贴代码了,比较简单。 27. Remove Element 解题思路: 这道题对结果的顺序无要求,所以显然可以想到交换。我的思路是设置两个指针i和j,j先从后往前扫一下,找到第 ...
分类:
其他好文 时间:
2017-04-03 18:14:17
阅读次数:
169
Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maxim ...
分类:
其他好文 时间:
2017-04-02 14:35:19
阅读次数:
155
最长上升子序列,枚举。 因为$10000$最多只有$10$个,所以可以枚举采用哪一个$10000$,因为是一个环,所以每次枚举到一个$10000$,可以把这个移到最后,然后算从前往后的$LIS$和从后往前的$LIS$,然后枚举一下哪里断开就可以了。 ...
分类:
其他好文 时间:
2017-03-30 23:02:06
阅读次数:
230