|
1、示例数据表Table(数据转换不计时)
Index Field1 Field2 Field3 Field4 ... Field1800
1 0 1 0 1 ... 0
2 1 0 0 0 ... 1
3 1 0 1 0 ... 0
........................................... 0
1000000 1 1 1 0 ... 1
其中,Index为数字编号,自增,无跳开。Field共1800个,值必然为1或0中的一种。
数据记录共100万条
Field为0或1有概率,概率为99.5% - (((Field N-1) mod 6) * 15),即为1的概率在99.5%-24.5%之间。
即 Field1(99.5%) Field2(84.5%) Field3(69.5%) Field4(54.5%) Field5(39.5%) Field6(24.5%)...
Field7(99.5%) Field8(84.5%) Field9(69.5%) Field10(54.5%) Field11(39.5%) Field12(24.5%)
注:概率现在是临时数字,用于提供优化空间,真正评比时会变。
2、查询时,查询条件的Field以每6个为1组随机产生中间的一个,随机选中概率同上,共产生300个(随机字段选择不计时),查询条件必然为1
3、示例查询(SQL表达)(计时项)
SELECT COUNT(*) FROM Table WHERE (Field1=1) AND (Field8=1) AND (Field17=1) AND... AND (FieldN=1)
注:查询条件必然为1
==============================================================
不限定条件:
数据组织结构生成/转换/加载 不计时
随机字段生成 不计时
结果打印不计时,只要正确计数结果在内存中即可
限定条件:
运算资源:单核2.0G-2.5G左右
内存:<6G
必须返回正确结果
程序必须支持的功能:
加载数据源文件data.txt(测试记录数据Table,格式如1)
加载检索字段文件field.txt,该文件内有多行,每一行表示所指定的字段号,最小1,最大1800。
例如:1 8 17 ....共300个。
每一行为一组查询条件,即为一次查找,计算COUNT并输出到屏幕。
输出整体检索耗时
奖池:
猫工捐100.00,
纯2捐100.00,
ALGO捐100.00,
yuyu土豪捐100.00,
德国慕尼黑捐100.00,
梦断难寻捐100.00,
Cobbler捐100.00
东兰捐助1块硬币,
无证捐助3QB,
如歌捐助32QB,
飘飘的风捐助一套欧元硬币
。。。
第一名将获得奖池奖金
目前奖池700.00RMB,35QB,1.00RMB硬币,一套欧元硬币
所有提交有效代码或捐赠金额>=100.00RMB的同学可以共享得到所有人的代码
时间小于3ms,可以得到给ALGO发简历的机会。
运算代码推荐使用lazarus,使用其它语言亦可。
运算代码请发送到邮箱:13210802@qq.com,并请在邮件中附上您的姓名或网名、联系方式
测试统一由ALGO进行测试,并发布所有结果
更新比赛说明:
更新源数据生成程序(附源码)如下:
欲知详情,请加入到QQ群了解:34176611
活动最新动态我们也将在本贴持续更新
|
|