问题列表 - 第12371页

如何从整数范围生成正态分布随机?

给定整数范围的开始和结束,如何计算此范围之间的正态分布随机整数?

我意识到正态分布进入 - +无穷大.我猜尾巴可以被截断,所以当一个随机数被计算到范围之外时,重新计算.这提高了范围内整数的概率,但只要这种效果可以容忍(<5%),就可以了.

public class Gaussian
{
    private static bool uselast = true;
    private static double next_gaussian = 0.0;
    private static Random random = new Random();

    public static double BoxMuller()
    {
        if (uselast) 
        { 
            uselast = false;
            return next_gaussian;
        }
        else
        {
            double v1, v2, s;
            do
            {
                v1 = 2.0 * random.NextDouble() - 1.0;
                v2 = 2.0 * random.NextDouble() - 1.0;
                s = v1 * v1 + v2 * v2;
            } while (s >= 1.0 || s == …
Run Code Online (Sandbox Code Playgroud)

c# random normal-distribution gaussian range

10
推荐指数
1
解决办法
1万
查看次数

f#中的缩进问题(vs2010 beta1)

我只是在学习f#所以我可能正在做一些非常愚蠢的事情.请随意指出我的相关文档,我已经搜索但无法找到.我在Windows 7(.Net 4.0)上使用Visual Studio 2010 beta.

我的第一个f#项目一切顺利.嗯..几乎一切.特别是我正在编写一个非常简单的线性插值函数,其代码如下:

let linterp (x:double) (xvalues:double list) (yvalues:double list) =
    let num_els = xvalues.Length
    if x <= xvalues.Head then 
        let result = yvalues.Head
    elif x >= (List.rev xvalues).Head then 
        let result = (List.rev yvalues).Head
    else for idx in [0 .. num_els] do 
        if List.nth xvalues idx >= x then 
            let x0 = xvalues.Item idx
            let y0 = yvalues.Item idx
            let x1 = xvalues.Item (idx+1)
            let y1 = yvalues.Item (idx+1)
            let result = y0 + (y1-y0)/(x1-x0)*(x …
Run Code Online (Sandbox Code Playgroud)

windows f# indentation

4
推荐指数
2
解决办法
1455
查看次数

数据库设计能够保存随时间变化的人的信息吗?

我们使用第三方产品来管理我们的体育中心会员资格.我们有几种会员类型(例如,初级,学生,员工,社区)和几种会员身份(例如,年度,活动,非活动,暂停).不幸的是,该产品仅记录会员当前的会员类型和状态.我希望能够跟踪我们的会员类型和状态随时间变化的方式.

目前,我们可以访问产品的数据库设计.它在SQL Server上运行,我们定期针对产品表运行自己的SQL查询,以生成我们自己的表.然后,我们将表格链接到Excel中的数据透视表以生成图表.所以我们熟悉数据库设计和SQL.但是,我们仍然坚持如何最好地解决这个问题.

该产品记录会员的会员购买情况以及他们的开始和到期日期.因此,我们可以回过头来确定会员在任何时间点的类型和状态.举例来说,如果他们买了在2007年1月1日,一个初级会员,并于2007年12月31日到期,那么他们买了2008年6月1日,一个学生会员,我们可以看到他们的状态,从主动去激活到激活(于扬分别于2008年1月和2008年6月1日),他们的类型从初中到学生(2008年6月1日).

基本上我们希望将成员的类型和状态属性转换为时间属性有效性 a-la Fowler(或其他随时间变化的事物).

我们的问题(最后:) - 鉴于上述情况:您建议我们使用什么数据库表设计来保存此成员信息.我想它会有一个MemberID列,所以我们可以键入现有的Member表.它还需要存储成员的状态和类型以及他们所持有的日期范围.我们希望能够轻松地针对此表编写查询,以确定在给定时间点我们拥有的每种类型和状态的成员数量.

更新2009-08-25:已经进行了侧面跟踪,并且还没有机会尝试提出的解决方案.希望尽快这样做,并根据结果选择答案.

sql sql-server database-design temporal-database

8
推荐指数
1
解决办法
1033
查看次数

猜测一个无界的整数

如果我对你说:

"我想的是0到n之间的数字,我会告诉你你的猜测是高还是低",然后你会立即进行二分搜索.

如果我删除上限怎么办?即我正在考虑一个正整数,你需要猜测它.

一种可能的方法是让你猜测2,4,8,......,直到你猜到某些k为2**k而我说"较低".然后您可以应用二进制搜索.

有更快的方法吗?

编辑:

显然,任何解决方案都需要花费时间与目标数量的大小成比例.如果我通过Ackermann功能查询格雷厄姆的数字,我们将等待你所追求的任何策略.

我也可以提供这个算法:从1开始依次猜测每个整数.

它保证在有限的时间内完成,但它显然比我的"2力量"策略更糟糕.如果我能找到更糟糕的算法(并且知道它更糟),那么也许我可以找到更好的算法?

例如,代替2的幂,也许我可以使用10的幂.然后我找到log_10(n)步骤的上限,而不是log_2(n)步骤.但我必须寻找更大的空间.说k = ceil(log_10(n)).然后我需要log_2(10**k - 10**(k-1))我的二进制搜索的步骤,我想这是关于10+log_2(k).对于2的幂,我在log_2(log_2(n))搜索阶段大致有步骤.哪个胜利?

如果我向上搜索n**n怎么办?还是其他一些序列?奖品是否适用于能够找到增长最快的序列的人?这是答案的问题吗?

谢谢你的想法.我向你们提出道歉,我建议我从MAX_INT或2**32-1开始,因为我显然已经偏离了实用性的界限.

最终编辑:

大家好,

谢谢你的回复.我接受了Norman Ramsey(以及评论者onebyone)的回答,我理解为以下论点:对于目标数n,任何策略必须能够区分(至少)0..n之间的数字,这意味着你需要(至少)O(log(n))比较.

然而,你们的一些人也指出,问题首先没有明确定义,因为在均匀概率分布下不可能选择"随机正整数"(或者说,统一概率分布不能存在于无限集).一旦我给你一个非均匀分布,你可以把它分成两半并正常应用二进制搜索.

当我四处走动时,这是一个我经常思考的问题,所以我很高兴有两个确凿的答案.

language-agnostic algorithm

4
推荐指数
3
解决办法
4321
查看次数

Thrift/Erlang字符串

我正在尝试在Erlang中编写一个简单的Thrift服务器,它接受一个字符串并返回一个字符串.

一切似乎都在努力调用我的功能:

handle_function(Function, Args) when is_atom(Function), is_tuple(Args) ->
case apply(?MODULE, Function, tuple_to_list(Args)) of
    ok -> ok;
    Reply -> {reply, Reply}
end.

test([X]) ->
"You sent: " ++ X.
Run Code Online (Sandbox Code Playgroud)

我得到了一个function_clause.堆栈跟踪显示以下内容:

{function_clause,[{server,test,[<<"w00t">>]},
{server,handle_function,2},...

我的handle_function是从教程文件中复制的,所以如果我需要调整它,我不会感到惊讶.有任何想法吗?

erlang thrift

4
推荐指数
1
解决办法
1276
查看次数

python shutil.copytree - 忽略权限

Python shutil.copytree不是很灵活; 在复制时添加对忽略权限的支持的最简单方法是什么copytree(无需重写其实现)?

否则,copytree失败如下:

(…)”[Errno 45] Operation not supported: ‘/path/foo/bar’”
Run Code Online (Sandbox Code Playgroud)

python file shutil

5
推荐指数
2
解决办法
3128
查看次数

<STYLE>是否必须位于HTML文档的<HEAD>中?

严格来说,style标签是否需要在headHTML文档中?4.01标准意味着,但没有明确说明:

STYLE元素允许作者将样式表规则放在文档的头部.HTML允许文档的HEAD部分中的任意数量的STYLE元素.

我说"严格来说"因为我有一个应用程序将样式元素放在正文中,而我测试过的所有浏览器似乎都使用了样式元素.我只是想知道这是否合法.

html coding-style html-head

126
推荐指数
4
解决办法
8万
查看次数

Coldfusion ORM大表

假如我有一个大型数据集,该表有超过一百万条记录,并且数据库已经标准化,所以外键和东西.我已经正确设置了关系,我获得了第一个对象的列表,applications = EntityLoad("entityName") 但由于关系和填充页面需要24秒加载,即使我将记录数量限制为显示为5,也需要很长时间载入.

我的解决方案是创建另一个只获取列表的对象,然后在用户想要的时候,使用具有所有关系的对象并将其显示给用户.这是接近它的正确方法,还是我错过了一个大的ORM概念?

coldfusion orm

1
推荐指数
1
解决办法
1217
查看次数

VARCHAR(20000)在MySQL中有效吗?

我需要澄清一下MySQL中varchar字段的最大长度.

我一直认为最大长度是255(255什么?我假设的字符,但这可能是我混淆的原因).看一下我们正在使用的外部公司设置的数据库表,我看到一个字段设置为varchar(20000),保存的块长度超过255个字符.为什么这样做?20000是有效值吗?

一些谷歌搜索显示,在mysql varchar有65,535字节的限制,我看到varchar(65535)正在使用,那么255限制如何与此相关?

mysql varchar

60
推荐指数
3
解决办法
7万
查看次数

是否可以暂停SQL查询?

我有一个非常长的SQL查询(数据导入等).它是垃圾 - 它使用游标,它运行缓慢.它正在做,所以我不太担心性能.

无论如何,我可以暂停一会儿(而不是取消查询)吗?

它嚼了一点CPU,所以我希望暂停它,做一些其他的东西......然后恢复它.

我假设答案是"否",因为行和数据被锁定等等.

我正在使用Sql Server 2008,顺便说一句.

t-sql sql-server-2008

2
推荐指数
1
解决办法
2万
查看次数