题目描述略。。。题解现场赛的时候真是脑残。。。用splay去写。。写完发现调试不出来。。。然后才发现数据范围才5000。。。不过那时候只有40分钟了。。用数组模拟了速度敲了一发。写完只剩10几分钟了。。。最终也没调试出来。。赛后想了想发现此题用deque真是巨好写。。代码:bye是个坑。必须得在队列...
分类:
其他好文 时间:
2014-11-06 16:35:54
阅读次数:
162
问题描述:
在《josephus Problem 初级(使用数组)》中,我们提出了一种最简单直接的解决方案。
但是,仔细审视代码之后,发现此种方案的效率并不高,具体体现在,当有人出局时,遍历数组仍需要对其进行判断,
这无疑做了无用功,降低了代码效率,在人数多时尤其明显。
解决方案:
当有人出局时,考虑将当前出局的人的前一个人(未出局)的下一个人置为当前出局的下一个人(未出局)。这样,便确...
分类:
编程语言 时间:
2014-10-26 18:26:10
阅读次数:
211
C/C++中存在精度问题,很难做到大整数的加法和乘法操作,这里给出大整数的模拟乘法运算。
模拟原理:
模拟每一个位的值进行相乘,并使其加到对应的位置上,最后保证每一位的数都小于10,即从尾到头扫描一遍进位即可。
主要代码:
k=(mx-i)+(mbx-j);//相乘后的位置
c[k-1]+=sum%10;
c[k]+=sum/10;
...
分类:
编程语言 时间:
2014-10-23 00:03:32
阅读次数:
337
考察英语的题 - -#
按条件模拟,一遍就行了,每个聊天对象有其价值U,数组模拟队列过程即可,若存在Top标记,则和Top标记的人聊天,否则和队列的第一个人聊天
mark记录队尾,top记录Top操作,data[i].p记录U,data[i].x记录chat数,data[i].y记录该人是否被删除
Add U:在 队尾插入价值为U的人,需要特判U人已经存在
Close U::在整个队列中查...
分类:
其他好文 时间:
2014-10-22 20:28:07
阅读次数:
234
题目连接:http://codevs.cn/problem/1230/
说白了就是要我们自己手写一个哈希表的数据结构来实现添加和查找功能,map也能直接过(我第一次写就是用map骗AC的)
提一下个人理解的哈希表的实现(下面说的是线性寻址法),如果有误还请各位大神不吝指教
用一个数组模拟哈希表,函数f(x)=数字x在哈希表中出现的下标的最小可能值,一般f(x)=x mod t,t就是...
分类:
其他好文 时间:
2014-10-17 00:14:43
阅读次数:
163
3797714
2014-10-12 21:58:19
Accepted
3820
C++
1350
70240
zz_1215
比较麻烦的一道题吧,开始的时候不停的段异常,后面知道是爆栈了,然后用数组模拟递归,才ac了
思路挺简单的,先找到这个树的直径,单独拿出来,可以证明最后选的两个点一定是在直径上的,我就不证了
然后求出这条直径上的每个点向外延伸的最远距离...
分类:
其他好文 时间:
2014-10-12 23:19:28
阅读次数:
454
括号匹配是很久以前的一个题,但是以前没有做出来 ,今天看数据结构,发现可以用栈做,比数组要简单的多,首先讲一下这个括号匹配时什么问题,其实就是一个简单的模拟题。
大致体一是这样的 [()()],就是语法判断你的括号符不符合规定 ,以前是想数组模拟一下,但是感觉有点烦,一直没有做,(这种还是不要学,)今天讲完数据结构,发现用栈很好写,吃完饭就写了一下,自己测了几个样例都过了 ,后面有做了一...
分类:
其他好文 时间:
2014-10-11 16:02:46
阅读次数:
188
题目:计算1/(2^n)的值的前4为有效数字以及位数。
分析:数论,大整数。直接用数组模拟即可。
说明:打表计算,查询输出。
#include
#include
#include
#include
using namespace std;
double val[1000005];
int bit[1000005];
int main()
{
val[0] = 1;bi...
分类:
其他好文 时间:
2014-10-08 11:19:55
阅读次数:
411