[TopLanguage][ProblemSolvingStepOne]

     有时朋友希望我能帮忙,做一些事情,理由无非是他不擅长而我在行.

     那时总是很想拒绝的.

     今天闲着无聊逛{top},想起以前pongba写的文章,转载一回。

这个世界上永远都有一个解决问题的最简单之道:就是叫别人帮忙。但是同样也有一条公理:没有免费的午餐。自己什么也不肯做,只想让别人帮忙,不仅不实际,而且对自己的思维锻炼和问题解决能力没有任何长远好处。

这里特别地说一点,关于一些”很基础”的问题,我观察发现,提问这些基础问题的朋友其实总是有一个更大的问题在背后:那就是就算别人帮你解决了这个问题,你还是会遇到其他基础问题,比如如果你想用一门语言,但却不先去看一下基本的ABCD,直接操起IDE就想写代码,编译出错了然后就把错误扔上来问怎么回事,就算别人告诉你了,后面你还是会继续遇到一大摞ABCD问题,实质上真正的问题是基本功就没有做,想要一步登天,或者想要别人手把手全程陪伴你,怎么可能?有人会argue说:那为什么我不可以询问我应该看哪些资料呢?问题是如果你需要看的是基础资料,那么其实很简单,把领域关键词往 Wikipedia上一扔,到相关页面看Reference部分,就能够看到最靠谱最权威的参考。或者把领域关键词往Amazon甚至Douban上一扔也可以查到哪些书比较经典,剩下的就是阅读和动手了,遇到不明白的问题第一步应该是去问资料,我想绝大多数人应该都能判断自己的问题是否能在资料上找到吧?我发现大多数问题都可以规约为查合适的资料的问题,而查合适的资料又是很简单的事情:我一直使用的就是 Wikipedia/Amazon/Google ,从来是无往不利。

而需要用到分析问题的能力的时候:对于一些更为practical的问题,我观察发现有同学不会分析问题,而不会分析问题又是因为平素分析问题太少(恶性循环),总是想”最快”的解决问题,问题是容易的路越走越难,困难的路越走越容易。遇到问题是很好的锻炼的机会,如果别人帮你分析解决,你就等于将这样的机会扔掉,是很可惜的。

    

发表在 未分类 | 留下评论

近期总结

  不久前到china-pub定了《深入理解计算机系统》(computer ooxx..)

  前些日子无聊翻了几页,收获颇多,琢磨着这本可以看很久…

  临近期末人有点颓废,

                考完高数那天下午花了5小时通了braid,一个可以有能力回到过去的人寻找公主的故事,

                游戏最后说,现实世界是不能时间倒流的,它比喻的主人公是参加曼哈顿计划制造核弹的人。

  末尾记下来点什么

   早上看书瞄到了掩码的概念,想起网络连接设置里的掩码设置,没有深入了解,百科了一下,估计是网络分层用。

   -0是真是假? 有空检查下。

   剩下C和数逻,考完后给家长打个电话..

发表在 未分类 | 留下评论

WIsh yyd

刚刚看到,YYD去了交大ACM班,wish.

 

 

 

发表在 未分类 | 留下评论

谷歌真的被阴谋陷害了吗?

谷歌真的被阴谋陷害了吗?

 于 09-6-27 通过 月光博客 作者:williamlong (williamlong)

 这里仅转载文字,图片麻烦摆架月光博客
 原先爆出google被陷害时我便有些怀疑

 目前为止也不好说了,网上很多东西还是要眼见为实,甚至眼见都不一定为实。

 自己保持冷静才是最重要的。

     这两天看到Google Docs上有匿名人士写的一篇文章,称根据谷歌趋势和Google
   Insights来分析,谷歌上搜索“儿子”后出现的低俗内容都是之前人为刷关键字形成的,为了验证真伪,我也通过使用Google Trends和Google
    insights对“儿子”这个关键词进行了分析。
   
      根据Google
     Trends的显示,“儿子”的搜索量在6月17日的时候还非常低,在18日的时候就开始上扬,6月19日达到了顶峰,而央视新闻联播和焦点访谈抨击谷歌的节目正好是在6月18日晚上播出,因此“儿子”的搜索量剧增完全有可能是因为大量观众看完新闻后进行的搜索而产生的,我记得我自己当时看完新闻后就搜索过两次,相信对此关注的网民都会进行一番搜索,从而导致其搜索量的剧增。而下面的新闻引用量的增长恰好和上面的搜索量同步,说明新闻媒体也是在6月19日才大量报道这一新闻的。
      Google Trends上关于“儿子”的三十天搜索数据
  
     Google Trends上关于“儿子”的“搜索建议关键词”的三十天搜索数据
     
      更新:支持Google的网友的主要根据是下面这张图,这也是比较令我困惑的地方,从这张图上看,的确是这几个关键字从11号开始搜索量上升,并且持续到17号,并且只有北京地区有同时搜索这几个关键词的行为。
          按道理来说,Google Insights应该和Google Trends的数据是相同的,但是同样的关键字,我在Google
   Trends上进行查询,却是另一个结果,Google
    Trends显示这几个关键词在17号的搜索还是0,18号开始猛增,同时搜索城市包括北京、广州、上海三个城市,这两个系统按道理来说都是调用Google的数据中心,为什么同一个数据却出现不同的结果,这也是令我困惑的地方。
  
   
       因此,说谷歌搜索“儿子”的信息是“刷”出来的,并没有足够的证据,恰恰相反,反面的证据倒是不少,我在2007年2月,谷歌“搜索建议”刚刚上线的时候,我就曾经截过一幅图,下图就是那时候搜索“儿子”所产生的“搜索建议”,说明搜索这个关键词的确有些问题。
    
  对于新闻联播和焦点访谈的报道模式以及采访形式,很多人都很反感,因为其对于Google的不良信息有很多夸大其辞和片面的说法,并且后来还出现Google被域名劫持的事件,令大家都很气愤,但是己所不欲、勿施于人,如果我们采用CCTV的形式来反驳CCTV,甚至用一些片面或者带有倾向性的言论进行误导,这反而可能会使事情变得更糟,他们说的谎话已经够多了,如果我们也用谎话来回击他们,那和他们有什么不同呢?

发表在 未分类 | 留下评论

知识or分数? 我想我在意的都不是这两个。

说不清楚,记下来。

发表在 未分类 | 留下评论

那年在OI

  下午逛矩阵牛的blog,有篇介绍排序的视频反反复复看了几遍,想起当初自己写的快排堆排,突然想看看自己当初写的程序。

   在QQ移动硬盘里找了一会,总算找到了吧。

  有点怀念那年那时了。

procedure qsort(l,r:integer);
var i,j,mid:integer;
begin
    i:=l;
    j:=r;
    mid:=a[(l+r) div 2];
repeat
   while a[i]<mid do inc(i);
   while a[j]>mid do dec(j);
if i<=j then

   begin
        a[0]:=a[i];
        b[0]:=b[i];
        a[i]:=a[j];
        b[i]:=b[j];
        a[j]:=a[0];
        b[j]:=b[0];
        inc(i);
        dec(j);
       end;

until i>j;
if l<j then qsort(l,j);
if i<r then qsort(i,r);
end;

  报告产生于 2009-06-20 15:27

  MyRecvFiles.rar

# 总计          大小        压缩后大小   文件数
#               509110        183000         303

发表在 未分类 | 留下评论

最近博客更新渐少[- -!根本就是没跟新]及之后安排

     临近期末,努力学习= =,

     前几个星期校园网来CSDN速度慢到那啥,嗯,闲话少说。

过去

     1  试着写几个程序,估计了下完全熟练实现的差距。

     2  阅读C++入门经典

     3  阅读了匡老大给的openssl的代码,熟悉C的开发模式。

计划

     1  复习!!复习!!不挂当然最好-.-

     2  C++啃完后把之前买的深入MFC看掉

     3  把之前的设计程序完成,现阶段由于基础问题不能深入了.

    

发表在 未分类 | 留下评论

称球问题

12个球和一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球?

(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)

 以前想了一早上的题,今天碰巧再看见却想不起来了 囧rz

 附上答案:


 

 首先,把12个小球分成三等份,每份四只。
    拿出其中两份放到天平两侧称(第一次)
    情况一:天平是平衡的。
        那么那八个拿上去称的小球都是正常的,特殊的在四个里面。
        把剩下四个小球拿出三个放到一边,另一边放三个正常的小球(第二次)
        如天平平衡,特殊的是剩下那个。
        如果不平衡,在天平上面的那三个里。而且知道是重了还是轻了。
        剩下三个中拿两个来称,因为已经知道重轻,所以就可以知道特殊的了。(第三次)
    情况二:天平倾斜。
        特殊的小球在天平的那八个里面。
        把重的一侧四个球记为A1A2A3A4,轻的记为B1B2B3B4。
        剩下的确定为四个正常的记为C。
        把A1B2B3B4放到一边,B1和三个正常的C小球放一边。(第二次)
        情况一:天平平衡了。
              特殊小球在A2A3A4里面,而且知道特殊小球比较重。
              把A2A3称一下,就知道三个里面哪个是特殊的了。(第三次)
        情况二:天平依然是A1的那边比较重。
              特殊的小球在A1和B1之间。
              随便拿一个和正常的称,就知道哪个特殊了。(第三次)
        情况三:天平反过来,B1那边比较重了。
              特殊小球在B2B3B4中间,而且知道特殊小球比较轻。
              把B2B3称一下,就知道哪个是特殊的了。(第三次)

发表在 未分类 | 留下评论

PAL4

百年之后,仙剑本身并不重要,赚的多少也不重要,付出多寡也不重要,因为一切终将归于尘土……重要的是游戏乃人性所驱,不懂得经营、把握、和坚持,便是等着他国文化洗脑,年轻一代将不负记取何为传统文化,岂不为国人悲哀?

发表在 未分类 | 留下评论

C#实现想法小记[程序部分]

C#实现想法小记

自己的程序部分 注释也打不上来多少,因为自己对核心概念也说不清楚嗷嗷嗷 /.\

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Timers;

namespace WindowsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {  

            InitializeComponent();
            this.KeyUp += new KeyEventHandler(this.Form1_KeyUp);  //键盘事件
        
        }
        private System.Timers.Timer timerClock = new System.Timers.Timer();  
 
        public void OnTimer(Object source, ElapsedEventArgs e)  //鼠标点击模拟,由时间事件引发
        {
            const int MOUSEEVENTF_MOVE = 0x0001;    //  移动鼠标
            const int MOUSEEVENTF_LEFTDOWN = 0x0002;// 模拟鼠标左键按下
            const int MOUSEEVENTF_LEFTUP = 0x0004;// 模拟鼠标左键抬起
            const int MOUSEEVENTF_RIGHTDOWN = 0x0008; //模拟鼠标右键按下
            const int MOUSEEVENTF_RIGHTUP = 0x0010;// 模拟鼠标右键抬起
            const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;// 模拟鼠标中键按下
            const int MOUSEEVENTF_MIDDLEUP = 0x0040; //模拟鼠标中键抬起
            const int MOUSEEVENTF_ABSOLUTE = 0x8000;// 标示是否采用绝对坐标

             // mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, 500, 500, 0, 0);
              mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
              mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
            
           // MessageBox.Show(“test”,”test”);
        }

     
   

        private void button1_Click(object sender, EventArgs e) //这个是前期测试的一部分 后面直接留作按钮启动timer的方法
        {
          
             timerClock.Enabled = false;
             timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
             timerClock.Interval =this.trackBar1.Value*1000;
             timerClock.Enabled = true;

        }

        private void Form1_KeyUp(object sender, KeyEventArgs e) //按键事件
        {
            if (e.Control && e.KeyCode == Keys.P)
            {
                if (timerClock.Enabled == false)
                {
                  
                    timerClock.Elapsed += new ElapsedEventHandler(OnTimer);
                    timerClock.Interval = this.trackBar1.Value * 1000;
                    timerClock.Enabled = true;
                }
                else timerClock.Enabled = false;
              
            }

        }
        private void Form1_Load(object sender, EventArgs e)
        {
         
        }

        private void trackBar1_Scroll(object sender, EventArgs e)  //拉条 (- – 是拉条么._)选择间隔时间,显示出来
        {
           this.label1.Text=this.trackBar1.Value.ToString()+”秒”;
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }
    }
}

发表在 未分类 | 留下评论