精华内容
下载资源
问答
  • 思考伯努利试验的两种组合思想

    千次阅读 2016-11-22 13:00:06
    思考伯努利试验的两种组合思想@(概率论)伯努利试验(Bernoulli experiment)的定义先从最基本的定义开始思考: 伯努利试验(Bernoulli experiment):是在同样的条件下重复地、相互独立地进行的一种随机试验。其特点是...

    思考伯努利试验的两种组合思想

    @(概率论)

    伯努利试验(Bernoulli experiment)的定义

    先从最基本的定义开始思考:
    伯努利试验(Bernoulli experiment):是在同样的条件下重复地、相互独立地进行的一种随机试验。其特点是该随机试验只有两种可能结果:发生或者不发生。然后我们假设该项试验独立重复地进行了n次,那么我们就称这一系列重复独立的随机试验为n重伯努利试验,或称为伯努利概型。

    要点
    1.“在相同条件下”意在说明:每一次试验的结果不会受其它实验结果的影响。事件之间相互独立
    2.判断某种试验是否为伯努利试验的关键是:首先,必须是重复的试验,即多次试验,而非一次试验;其次,每次试验的结果同其他各次试验的结果无关,即事件发生的概率没有相互之间的影响。

    如果单纯的按照定义出题,那么就是高中的难度了。即只需要简单记忆:XB(n,p),pX只是关注一件事情的发生或不发生。

    而在大学难度下,需要的是能够识别事件的组合,抽出多个伯努利概型。

    假设是X,Y都是伯努利概型,也即n次试验下,每次发生的概率都是p。在每个变量做n次,能不能两个一起做,这样只需要n次,就暗含了两个伯努利概型呢?是可以的,只需要X,Y是不相容的即可。

    我们看一道习题。

    (2016-8) 随机试验 E 有三种两两不相容的结果 A1,A2,A3 ,且三种结果发生的概率均为 13 ,将试验 E 独立重复做 2 次, X 表示 2 次试验中结果 A1 发生的次数,Y 表示 2 次试验中结果A2 发生的次数,则 X 与Y 的相
    关系数为12

    分析:随机试验有三种两两不相容的结果。我们站在每一个结果上看问题。每种结果发生的概率是13,不发生的概率就是23
    那么n次试验下,这个结果发生的次数就是伯努利概型。现在是三个结果,且他们不会同时发生,即不相容,因此,这是三个伯努利概型在一次n重试验下的组合。

    明白了这一点,问题将非常简单。

    XB(2,13)EX=np=23,DX=np(1p)=49

    YB(2,13)EY=np=23,DY=np(1p)=49

    而,根据期望的本质定义:

    EXY=i=02j=02ijP(X=i,Y=j)=11P(XY=1)

    P(XY=1)可以有两种情况,先是X=1事件发生,概率是13,再是Y=1事件发生,概率也是13,总的概率是19

    但是也可以Y=1先发生,再X=1发生,也是19.

    于是P(XY=1)=29

    代入,

    ρXY=cov(X,Y)DXDY=EXYEXEYDXDY=12

    本篇文章主要关注的是伯努利概型的组合问题。

    当然本题最佳的方式是枚举法。

    事件组合:

    A1,A219A1,A319A2,A119A2,A319A3,A119A3,A219A1,A119A2,A219A3,A319

    X,Y是一样的事情,所以只用求一个即可。

    X=0,1,2EX=0blah+19+19+19+19+219=23,DX=EX2(EX)2=49

    EXY=P(X=0,Y=?)0+P(X=?,Y=0)0+P(X=1,Y=1)1+P(Y=1,X=1)1=29

    z注意到时间发生的次序不同,则整体事件不同。

    由此一样代入求解即可。

    2016.12.23 8:21 pm update:我觉得这里我犯了一个根本性的错误。

    然后:

    2016.12.23 8:23 pm update : 我觉得我还是对的。

    展开全文
  • 有一个好想法,比你会一百门...在我以后的程序生涯里面,我想我不应该再完全沉浸在学一门又一门的技术,而是,要学会思考,学会思考那些技术背后的思想和本质,期待,自己也能创造一门技术,而不再是每天学习别人的。

    如果你有装修过,或者家里造房子的经历,你会发现,大多数“技术工人”都是半瓶水,让你满意的人实在是凤毛麟角。就算你要找一个很有责任感的,不需要你去监督,做事情精益求精的人都基本上是没有的。

    你或许在装修,并正在抱怨那样的技术工人。但是,你的老板或许也同样的在抱怨你:只有半瓶水,还吹牛吹的不行。当没有人监督,没有项目任务的时候,你就开小差,偷懒。做事情,也都是在赶进度,凑合,蒙混过关就行。

    我想,这或许就是技术工人吧,我们的工作实际上没有什么创造性。所以,当我们工作很多年,也就不再有激情了,变成江湖小混混了。你可以学会N种编程语言,学会怎么更好的组织代码,学会如何在unix上写代码,只要花出时间,功夫,你就能成为一个优秀的程序员。技术,说白了,就是熟能生巧。不管,你挂了什么架构师的头衔,还是你在搞什么云计算,听上去在弄一些别人不知道的技术,其实学习这些技术不需要一个人多少悟性,多少创造性,只要花下时间这些东西你都能很精通。像处理大数据,正如我一个在淘宝的朋友说的,大多数觉得这个神秘,是因为平时工作的时候接触不到,实际上,如果每天都接触,也就是这样一回事,这就是技术。我想,每个人,当它学了很多技术了之后,肯定就会发现这样的一个问题,我学了这样多,情况也就是这样,可能水平比别人好一点,但是也搞不出多少档次,难道我这辈子就这样学下去了吗?于是,慢慢的,我们就会变成正常的“技术工人”了。

    在我研究高性能服务的时候,我研究了很长时间的 IOCP ,linux 上的 aio,libev,并读了一遍nodejs的源代码。我突然发现,我学的是比别人多一点,但是仅仅是这样而已,因为一门技术,公开的技术,每个人都可以搞清每一个细节,然后就可以实现一个很高性能的服务器。所以,本质上,我们没有什么竞争力。也不能为我们这个世界做出突出贡献。

    我经常会听到某人某人技术有多牛,我就会很崇拜,我一直很羡慕一些人,懂得很多东西,为什么他们有这样多的时间去学这样多的东西。去年,我认识一个人,他会写编译器,我羡慕不已,于是我也学了半年,最后,我也会写编译器了,但是,会写了之后,我发现我并没有什么升华,而只是又会了一样东西而已,而且,也只是学了半瓶水,比如,其实,要真正编写一门语言,必须要学会编译器优化,而这个实际上很难,要学会又要很长的时间才能会。世界上,一直不缺少这样的人,只要给他时间,他就能学会一样东西。但是,就算懂的再多,也只是懂了一个东西,怎么样用出来,解决一些别人还没有解决的问题才是关键。

    Node.js 可以说是一个个人作品,但是,却成为了一个平台。为什么其他人没有想到这样一个想法呢?我想,只要你要想到 Javascript 和异步IO 结合起来,你也能写出这样一个作品。这背后的想法是关键。

    最近有一本书很流行,黑客与画家,里面有一个垃圾邮件过滤的章节。在2002年前,没有人想到用很成熟的贝叶斯公式来实现,而当被人一语点破之后,我想世界上有一半的程序员都能解决这个问题了。

    有一个好想法,比你会一百门技术还有意义,技术可以在你有了想法之后再学,但是,你会100门技术,不见得就能一语惊人。在我以后的程序生涯里面,我想我不应该再完全沉浸在学一门又一门的技术,而是,要学会思考,学会思考那些技术背后的思想和本质,期待,自己也能创造一门技术,而不再是每天学习别人的。

    展开全文
  • Effective C++学习笔记之对RAII思想思考

    千次阅读 多人点赞 2014-12-29 16:38:05
    对于RAII在 Effective C++的第三部分(对象管理资源)条款13、14、15对RAII以及shared_ptr和std::auto_ptr有具体的介绍,还会关系到其他的条款内容,具体可以参加原书内容,此处不再赘述! 不足与提高之处:对...
    

    在阅读  Effective C++时,对RAII开始不理解,现总结如下:
      RAII是Resource acquisition is initialization的缩写形式,即“资源获取就是初始化”,是C++等编程语言常用的管理资源、避免内存泄露的方法。它保证在任何情况下,使用对象时先构造对象,最后析构对象。
       根据RAII 对资源的所有权可分为常性类型和变性类型,代表者分别是boost::shared_ptr和std::auto_ptr;从所管资源的初始化位置上可分为外部初始化类型和内部初始化类型。

    常性类型是指获取资源的地点是构造函数,释放点是析构函数,并且在这两点之间的一段时间里,任何对该RAII类型实例的操纵都不应该从它手里夺走资源的所有权。变性类型是指可以中途被设置为接管另一个资源,或者干脆被置为不拥有任何资源。外部初始化类型是指资源在外部被创建,并被传给RAII实例的构造函数,后者进而接管了其所有权。boost:shared_ptr和std::auto_ptr都是此类型。与之相对的是内部初始化类型。

    对于RAII在 Effective C++的第三部分(对象管理资源)条款13、14、15对RAII以及shared_ptr和std::auto_ptr有具体的介绍,还会关系到其他的条款内容,具体可以参加原书内容,此处不再赘述!

    不足与提高之处:对Boost库和STL库的理解还是有限,还需要进一步深入研究;

    展开全文
  • 0x01.问题 在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。 火车票有三种不同的销售方式: ...

    0x01.问题

    在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1365 的整数。
    火车票有三种不同的销售方式:
    一张为期一天的通行证售价为 costs[0] 美元;
    一张为期七天的通行证售价为 costs[1] 美元;
    一张为期三十天的通行证售价为 costs[2] 美元。
    通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:第 2 天、第 3 天、第 4 天、第 5 天、第 6 天、第 7 天和第 8 天。
    返回你想要完成在给定的列表 days 中列出的每一天的旅行所需要的最低消费。

    输入示例:days = [1,4,6,7,8,20], costs = [2,7,15]
    输出示例:11
    解释:例如,这里有一种购买通行证的方法,可以让你完成你的旅行计划:
    在第 1 天,你花了 costs[0] = $2 买了一张为期 1 天的通行证,它将在第 1 天生效。
    在第 3 天,你花了 costs[1] = $7 买了一张为期 7 天的通行证,它将在第 3, 4, …, 9 天生效。
    在第 20 天,你花了 costs[0] = $2 买了一张为期 1 天的通行证,它将在第 20 天生效。
    你总共花了 $11,并完成了你计划的每一天旅行。

    提示:1 <= days.length <= 365 1 <= days[i] <= 365 costs.length == 3
    1 <= costs[i] <= 1000 days 按顺序严格递增

    C++函数形式为:int mincostTickets(vector<int>& days, vector<int>& costs)

    0x02.分析

    毫无疑问,这是一个动态规划的问题。

    状态很简单,就是第i天的最低消费。关键在状态转移方程。

    如果某一天,没有出行,那么最低消费就等于前一天的。

    如果某天出行了,那么这一天一定要有票,按照贪心的原则,要想当天的成本最低,最理想的方法是一天的票刚好是今天买的,七天的票刚好是七天前买的,三十天的票刚好是三十天之前买的,再在这个当中去选择一个消费最低的情况。

    这个分析的思路等于是,倒推买票的日期。

    还必须考虑到一个特殊情况,就是如果没有七天,三十天前,也就是i<7或者i<30的情况,钱数应该是0dp数组的初始化应该也是0,为了方便知道某天是否出现,还可以设置一个标志数组。

    状态转移方程为:

    • 当天出行 dp[i]=min(costs[0]+dp[i-1],costs[1]+dp[i-7],costs[2]+dp[i-30])(还需额外考虑i730大小)
    • 当天不出行 dp[i]=dp[i-1]

    0x03.解决代码

    class Solution {
    public:
        int mincostTickets(vector<int>& days, vector<int>& costs) {
            vector<int> dp(days.back()+1,0);
            vector<bool> istravel(days.back()+1,false);
            for(int day:days) istravel[day]=true;
            for(int i=1;i<dp.size();i++){
                if(istravel[i]==false) dp[i]=dp[i-1];
                else dp[i]=min(min(costs[0]+(i-1>0?dp[i-1]:0),costs[1]+(i-7>0?dp[i-7]:0)),costs[2]+(i-30>0?dp[i-30]:0));
            }
            return dp.back();
        }
    };
    

    ATFWUS --Writing By 2020–03–20

    展开全文
  • 写起来比较棘手,就先把今天自己结合在C++课上老师关于编程思想的讲解简单的加入自己的一些理解、体会后大概的说说自己对他们一些新的认识,故而命名之为《涅槃之关于面向对象和面向过程的程序设计思想思考和理解>...
  • 突然想思考一下这个问题,为 了以后更好得理解二进制做好准备,打下基础。 万物有生有灭,不可能把有变成没有,反之也不可以,正如能量守恒定律: 各种能量形式互相转换是有方向和条件限制的,能量互相转 换时其...
  • 做了几年游戏服务端,不过也不是没接触过客户端的。毕业前的作业就不说了,刚毕业的时候,是在亿迅公司做CRM,开发广东电信内部使用的系统。每个功能从头到尾自己搞。要说客户端,jsp应该也算是吧。...
  • 思想】--思考问题,怎么才能全面??

    千次阅读 热门讨论 2017-05-06 22:37:20
     上面提到是我们用一个具体的问题说明了一下怎么去思考,但是怎么才能思考的全面那,俗话说;只要套路深,不怕你不当真。  why---为什么用  what---概念、本质  where ---从哪来,到哪去  干什么 ...
  • 有一阵子没有更新自己的这个技术Blog了,原因有很多,其中之一就是最近一直在技术和非技术的来回徘徊中思考,已经很久没有在关注具体的技术了。即使是对自己工作中用到的技术,也只是点到为止,绝不深入,能解决问题...
  • 希望爱民也能够坚持不懈的继续完善他的“软件工程实践者的思想”,从引发思考到变成让人可以记住和应用的“定式”。 今日故事-行动的寓言 (黄永玉) 螃蟹、猫头鹰和蝙蝠去上恶习补习班。数年过后,它们都顺利...
  • 思想思想

    千次阅读 2010-09-27 16:48:00
    前几天和零敏同学交流的时候她提到想把进度提的快一点,想学快点,多学点。...当时我表达的意思是第一年主要掌握思想不可急躁。 问题来了:什么思想说说呗(灵敏同学原话)。顿时我傻了,什么思想
  • 思想

    千次阅读 2009-10-30 15:59:00
    我活着,思想还在继续! 每天早晨起来前都在想:今天做什么?茫然了很多年,现在每天早晨还在想 :今天做什么? 人生的喜怒哀乐,我品尝了多少? 往日的同学朋友,为了生活大多失去了联系,我还能想起多少人? ...
  • 爱因斯坦曾经说过:“我们创造世界的过程也是一个我们如何思考的过程,要想改变世界,必须先改变我们的思想。” 我们的思想塑造着我们的未来。由于我们做出的每一个动作都是受我们的思想驱动,所以如果我们不能...
  • 编程思想是一种指导思想,这个指导思想,将会诱发你如何写代码的行为。 如果理解这话的意思呢?打个比方,中华文明千百年在民众心中形成了一个“统一天下”的思想,这种思想会诱发各个混乱时期的诸侯或者军阀,以...
  • JavaScript组件设计思想(二)

    千次阅读 2017-01-02 20:08:16
    2016年3月份曾写过一篇文章《JavaScript组件设计思想》其中描述了一些实现组件化的方式,以及降低各组件耦合度的说明。其中“事件机制”不失为好的选择!经过了更多实践给我带来了更多的思考。 事件实现,日常开发中...
  • React 设计思想

    千次阅读 2016-09-28 08:36:09
    React 设计思想 译者序:本文是 React 核心开发者、有 React API 终结者之称的 Sebastian Markbåge 撰写,阐述了他设计 React 的初衷。阅读此文,你能站在更高的高度思考 React 的过去、现在和未来。原文地址:...
  • 参数估计:贝叶斯思想和贝叶斯参数估计

    万次阅读 多人点赞 2016-05-23 10:54:29
    http://blog.csdn.net/pipisorry/article/details/51471222贝叶斯与频率派思想频率派思想 长久以来,人们对一件事情发生或不发生,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多...
  • 在介绍之前大家思考下列的几个问题 1 什么是过程化思想? 2 什么是模块化思想? 3 他们之间有什么区别?
  • 内存分配思想引入 全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考 全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数 全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析 .
  • 面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的...
  • •禅和道是中国文化中极具代表意义的两个字,希望通过这两个字来传达对管理的理解和思考,其网站zentao即是禅道的英文。 •禅道的管理思想则是基于国际流行的敏捷项目管理方法——Scrum,它规定...
  • 辛星漫谈软件思想

    千次阅读 2014-09-20 05:03:37
    之前我也走不出语言的圈子,感觉语言对于软件开发上如此重要,不过一个软件并不应该是依赖生产它的语言,真正让这个软件闪光的是软件本身,并不是生产这个软件的语言。  软件工业的革新速度是绝对的速度和效率,...
  • 动态规划思想总结

    千次阅读 2019-10-23 12:47:17
    1、自底向上:思想是逆向的,但也能正向解答。两者是相同的,只是求解顺序不一样。 2、状态转移方程:对于这个,我只能说,暴力怎么解,动态规划就怎么解。因为求解动态规划的顺序是先暴力递归——带备忘录的递归...
  • 编程思想

    千次阅读 2018-11-07 11:14:13
    什么是编程思想?答案可能很会复杂,但也可以很简单。一句话来讲就是,用计算机来解决人们实际问题的思维方式,即编程思想。 我们学习编程语言的最终目的,就是希望用计算机来解决我们的实际问题。那么学习计算机该...
  • 工程化的思想

    千次阅读 热门讨论 2014-11-22 17:42:22
    工程化的思想 工程这一词:  最先了解“工程”这一词是从建设、建筑方面有所听闻,建筑工程、项目工程,水利工程、化学工程、土木工程、生物工程等的,之后接触了“软件工程”——是自己详细的学习和了解的一个...
  • 你知道几种编程思想

    千次阅读 2017-03-10 11:49:41
    面向过程编程是以功能为中心来进行思考和组织的一种编程方法,它强调的是系统的数据被加工和处理的过程,在程序设计中主要以函数或者过程为程序的基本组织方式,系统功能是由一组相关的过程和函数序列构成。...
  • 架构思想--基础架构

    千次阅读 2019-05-25 23:18:05
    最近研究一些架构思想,看看李云华老师的专栏(从0开始学架构),做些笔记有些个人的思考。 一.基础架构 1.1简介 架构设计面临复杂度:高可用,可扩展,低成本,安全,规模。 架构设计主要目的为了解决软件系统...
  • 这里体现的是两种JS的编程思想:面向对象编程和面向过程编程,两者都属于是编程思想,各有优缺点 面向过程: 在项目开发中会有各种的逻辑方法,有的是交互,有的是创建,有的是求结果,面向过程编程是把编程的...
  • 迭代思想

    千次阅读 2017-10-15 12:47:13
    为了在快速发展的互联网行业尽快抢占市场,目前大多数互联网公司在开发过程中都采用快速迭代的开发流程,简单来讲,迭代就是先提供一个可用的版本,让用户先...而且发现迭代是一种思考方式,完全可以用到生活和学习中。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 235,723
精华内容 94,289
关键字:

思想对于思想的思考