yan's profileHello, world.PhotosBlogLists Tools Help

Blog


    December 14

    在来一个,好久不上了.

    好久不见,变化还很大了。
    March 31

    有趣的图片

    看中心十秒钟,看看有什么变化。
    January 04

    最基本的系统进程

    cisvc.exe Indexing Service(system service)
    还有cidaemon.exe,htpatch.exe等等很容易就耗cpu 70%以上
    最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行):
    smss.exe Session Manager
    csrss.exe 子系统服务器进程
    winlogon.exe 管理用户登录
    services.exe 包含很多系统服务
    lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。(系统服务)
    产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
    svchost.exe 包含很多系统服务
    svchost.exe
    SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)
    explorer.exe 资源管理器
    internat.exe 托盘区的拼音图标
    附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):
    mstask.exe 允许程序在指定时间运行。(系统服务)
    regsvc.exe 允许远程注册表操作。(系统服务)
    winmgmt.exe 提供系统管理信息(系统服务)。
    inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)
    tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)
    允许通过 Internet 信息服务的管理单元管理 Web 和 FTP 服务。(系统服务)
    tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
    termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基
    于 Windows 的程序。(系统服务)
    dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)
    以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉
    tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
    支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)
    ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)
    ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)
    wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)
    llssrv.exe License Logging Service(system service)
    ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
    RsSub.exe 控制用来远程储存数据的媒体。(系统服务)
    locator.exe 管理 RPC 名称服务数据库。(系统服务)
    lserver.exe 注册客户端许可证。(系统服务)
    dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)
    clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)
    msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)
    faxsvc.exe 帮助您发送和接收传真。(系统服务)
    cisvc.exe Indexing Service(system service)
    dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)
    mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)
    netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)
    smlogsvc.exe 配置性能日志和警报。(系统服务)
    rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)
    RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)
    RsFsa.exe 管理远程储存的文件的操作。(系统服务)
    grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)
    SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)
    snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)
    snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上 SNMP 管理程序
    。(系统服务)
    UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)
    msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)
    December 21

    一些题目,以后慢慢研究

    题目1:计算圆周率
    所属类别:
        算法,甲级
    题目要求:
    运用Java语言编写简短的程序和高效率算法计算圆周率的值,并对其算法原理进行解释。程序最短并且相对精确程度越高者将胜出,注意附带严谨的算法解释文档及误差说明文档。
    开发平台:
    任选。J2SE1.4或1.5版本实现。
    作品提交:
    1.    源程序文件;
    2.    算法原理解释文档和误差说明文档。

    题目2:理解Page Cache
    所属类别:
    设计,甲级
    题目描述:
    在Web系统开发中,性能是一个需要重要考虑的问题,特别是针对并发很多的大型Web系统。Cache(缓存)是解决性能问题的一个重要手段。在一般的Web系统中都会包含Page Cache(针对内容的页面缓存)和针对数据的Data Cache。Java有很多针对cache的open source项目,应用比较多的有oscache,Jboss 的tree cache等。附件是一个简单的Page Cache的框架,是从一个开源的 Blog项目-Roller中剥离出来,同时也是oscache中核心代码。 
    题目要求:
    在理解附件框架基础上,给予这段代码最明了的解释,可以通过语言,图表等其他任何可视化手段进行描述,目的是让更多人通过你的描述能够理解这段代码的意义和思想,理解page cache的一些内涵。 
    题目提示:
    阅读oscache项目的相关文档。程序需要log4j和servlet库支持,可以通过网络获取。
    作品提交:
        解释说明文档。

    题目3:J2ME手机游戏
    所属类别:
    手机应用,甲级
    题目描述:
    在J2ME平台下开发一款手机联网游戏,类别自选。
    题目要求:
    注意实现设备之间联网通信。
    作品提交:
    1.    源程序文件;
    2.    游戏策划、说明文档。

    题目4:计算n次方函数
    所属类别:
    算法,丙级
    题目描述:
    请编写一个函数,实现在double范围内计算a的n次方。
    题目要求:
    函数原型为:
    double power(double a,int n);
    实现在double范围内计算a的n次方,并返回计算结果,函数中可以不考虑溢出问题。
    另行编写main函数以及其他任何必要的函数,使程序结构完整,最好能在程序中一定程度上验证自己的函数。
    请尽量注意程序的严谨性、效率、代码风格等因素。
    作品提交:
    源程序文件

    题目5:基于C/S架构的课件系统
    所属类别:
    应用,甲级
    题目描述:
    实现一个基于Java平台Client/Server架构的智能计算机辅助教学(ICAI)的系统,建立了一个用于高等数学或其他科目教学的ICAI试验系统。
    传统的CAI课件系统是在单机上将全部教学内容,以编程的方式预置于课件中。学生学习时,教学过程是按课件规定的路径和内容展开的。由于缺乏必要的通信手段和智能特性,无法实现任课教师与学生之间的交互,和按学生的不同认知能力准备教案的因材施教教学。
    随着计算机网络技术的日臻成熟,人工智能在专家系统领域取得的成功,它们为CAI的发展提供了新的空间。可以预见,CAI的发展方向在于网络化、智能化。
    题目要求:
    ICAI的评价标准:
        智能计算机辅助教学系统(Intelligence Computer Assisted Instruction??ICAI)具有如下的一些特征:
    ① 能自动生成各种问题与练习;
    ② 根据学生的学习水平与学习情况选择与调整学习的内容和进度;
    ③ 在了解教学内容的基础上自动解决问题,生成解答;
    ④ 具有自然语言生成与理解能力,以便实现比较自由的教学问答系统以提高人机交互的主动性;
    ⑤ 对教学内容有解释咨询能力;
    ⑥ 能诊断学生错误,分析原因并采取纠正措施;
    ⑦ 能评价学生的学习行为;
    ⑧ 能评价教师的教学行为。
    具备上述全部特征的ICAI系统是完美的,但实现是困难的。一般认为只要具备上列一个或几个特征,就可以称之为ICAI。
    题目提示:
    Client/Server的实现:
        将用于教学的内容、刻画学生的认知模型所必需的数据资料保存在Server端。教师在教研室通过Client,负责实现对Server端教学内容的更新与维护。学生在多媒体教室通过Client与Server相连,实现对教学内容的学习,学习结束后,学生客户端软件将依据学生对知识点的掌握情况,为其自动修改认知模型。督导人员在教务处通过Client与Server相连,实现对教学过程的监督与引导。
    作品提交:
    1.    源程序文件;
    2.    可执行文件;
    3.    必要的说明文档。

    题目6:协会信息管理系统
    题目类别:
    应用,乙级
    题目描述:
    目前校内的各个学生会,科协等学生组织都有自己的网站,提供了与老师学生交流的平台。社团部也有自己的网站,但是社团部下的各个协会却还是采用过去的管理模式,信息的传达建立在一级级向下传递的层次结构上。这种做法的坏处是普通会员很难了解到协会的具体动向。协会也很难管理所有的会员信息。
        请采用Java技术开发一套协会信息管理系统。至少有角色管理,会员管理和协会信息发布三个模块。角色管理模块能够自定义角色。会员管理模块能够维护会员的基本信息。信息发布模块能够动态地实现信息的发布,修改等功能。参赛者可自行分析需求,添加系统功能。
    题目要求:
    采用Java技术,基于B/S的多层体系结构。作品要考虑系统的扩展性。评分主要以系统的实用性和架构的优劣为标准。
    作品提交:
    1.    源程序文件;
    2.    必要的说明文档。

    题目7:函数相加技巧
    题目类别:
    算法,乙级
    题目描述:
        用一种技巧性的编程方法来用一个函数实现两个函数的功能如:fn1(n)=n/2!+n/3!+n/4!+n/5!+n/6! 
    fn2(n)=n/5!+n/6!+n/7!+n/8!+n/9! 
    现在用一个函数fn(int n,int flag)实现,当flag为0时,实现fn1功能,如果flag为1时实现fn2功能。要求效率
    题目要求:
        要求效率。
    作品提交:
    1.    源程序文件;
    2.    必要的说明文档。

    题目8:数字之间的加减号
    题目类别:
    算法,乙级
    题目描述:
    对N(1<=N<=10000)个数字,在数字之间添加加号或者减号,每个组合可以计算出一结果。判断这些结果中是否存在能够被K(2<=K<=100)除尽的数字。
    比如对:17, 5, -21, 15这4个数字,添加加号或者减号可以得到:
    17 + 5 + -21 + 15 = 16 
    17 + 5 + -21 - 15 = -14 
    17 + 5 - -21 + 15 = 58 
    17 + 5 - -21 - 15 = 28 
    17 - 5 + -21 + 15 = 6 
    17 - 5 + -21 - 15 = -24 
    17 - 5 - -21 + 15 = 48 
    17 - 5 - -21 - 15 = 18
    如果K为7,那么可以说:存在17 + 5 + -21 - 15 = -14 能被7除尽。
    题目要求:
    输入格式:
    这个题目有多组数据,每组数据第一行有两个整数,N(1<=N<=10000),K(2<=K<=100)。数字之间由空格分开。第二行是N个数字,他们的绝对值不超过10000,数字之间由空格分开。
    输出格式:
    对每组数据,如果存在一个组合能被K除尽,那么输出"Divisible",否则输出"Not divisible"。独占一行。
    作品提交:
    1.    源程序文件;
    2.    必要的说明文档。
    December 19

    动画片babies-bride中的誓词

    With this hand, I will lift your sorrows.

    Your cup will never be empty,  for I will be your wine.

    With this candle, I will light your way in darkness.

    With this ring, I ask you to be mine.

     

     

     


    December 13

    Google题目的另外一种思想, 想法不错。

    public int countPaths2(String[] grid, String find)
     {
      int[][] direct={{0,1},{1,0},{1,1},{0,-1},{-1,0},{-1,-1},{-1,1},{1,-1}};
      int ix=grid.length;
      int iy=grid[0].length();
      int[][] p=new int[ix][iy];
      int[][] n=new int[ix][iy];
      char[] cfind=find.toCharArray();
      char[][] cgrid=new char[ix][];
      for(int i=0;i<ix;i++) cgrid[i]=grid[i].toCharArray();
      
      for(int i=0;i<ix;i++)
       for(int j=0;j<iy;j++)
        if(cgrid[i][j]==cfind[0])p[i][j]=1;  
      for(int k=1;k<find.length();k++)
      {
       for(int i=0;i<ix;i++)
        for(int j=0;j<iy;j++)
         n[i][j]=0;
       for(int i=0;i<ix;i++)
        for(int j=0;j<iy;j++)
         if(cgrid[i][j]==cfind[k])
          for(int d=0;d<8;d++)
          {
           int tx=i+direct[d][0];
           int ty=j+direct[d][1];
           if(tx>=0&&tx<ix&&ty>=0&&ty<iy)
            n[i][j]+=p[tx][ty];
           //System.out.println(p[tx][ty]);
          }
       for(int i=0;i<ix;i++)
        for(int j=0;j<iy;j++)
        {
         if(n[i][j]>=1000000000)return -1;
         p[i][j]=n[i][j];
         //System.out.print( p[i][j]);
        }
       //System.out.println();
         
       
      } 
      int ret=0;
      for(int i=0;i<ix;i++)
       for(int j=0;j<iy;j++)
        ret+=p[i][j];
      if(ret>=1000000000)return -1;
      return ret;
     }

    Google大赛题,NND 2个多小时才做出来,规定1个小时完成,寒。。。。

    Problem Statement

        

    You are given a String[] grid representing a rectangular grid of letters. You are also given a String find, a word you are to find within the grid. The starting point may be anywhere in the grid. The path may move up, down, left, right, or diagonally from one letter to the next, and may use letters in the grid more than once, but you may not stay on the same cell twice in a row (see example 6 for clarification).

    You are to return an int indicating the number of ways find can be found within the grid. If the result is more than 1,000,000,000, return -1.

    Definition

        
    Class: WordPath
    Method: countPaths
    Parameters: String[], String
    Returns: int
    Method signature: int countPaths(String[] grid, String find)
    (be sure your method is public)
        

    Constraints

    - grid will contain between 1 and 50 elements, inclusive.
    - Each element of grid will contain between 1 and 50 uppercase ('A'-'Z') letters, inclusive.
    - Each element of grid will contain the same number of characters.
    - find will contain between 1 and 50 uppercase ('A'-'Z') letters, inclusive.

    Examples

    0)
        
    {"ABC",
     "FED",
     "GHI"}
    "ABCDEFGHI"
    Returns: 1
    There is only one way to trace this path. Each letter is used exactly once.
    1)
        
    {"ABC",
     "FED",
     "GAI"}
    "ABCDEA"
    Returns: 2
    Once we get to the 'E', we can choose one of two directions for the final 'A'.
    2)
        
    {"ABC",
     "DEF",
     "GHI"}
    "ABCD"
    Returns: 0
    We can trace a path for "ABC", but there's no way to complete a path to the letter 'D'.
    3)
        
    {"AA",
     "AA"}
    "AAAA"
    Returns: 108
    We can start from any of the four locations. From each location, we can then move in any of the three possible directions for our second letter, and again for the third and fourth letter. 4 * 3 * 3 * 3 = 108.
    4)
        
    {"ABABA",
     "BABAB",
     "ABABA",
     "BABAB",
     "ABABA"}
    "ABABABBA"
    Returns: 56448
    There are a lot of ways to trace this path.
    5)
        
    {"AAAAA",
     "AAAAA",
     "AAAAA",
     "AAAAA",
     "AAAAA"}
    "AAAAAAAAAAA"
    Returns: -1
    There are well over 1,000,000,000 paths that can be traced.
    6)
        
    {"AB",
     "CD"}
    "AA"
    Returns: 0
    Since we can't stay on the same cell, we can't trace the path at all.

    This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.

     

    -----------------------My Code--------------------------------------

    public class WordPath{ 
     
     private int c;
     private char[][] cgrid;
     private char[] cfind;
     private int ix;
     private int iy;
     private int flength;
     
     public int countPaths(String[] grid, String find)
     {
      ix=grid.length;
      iy=grid[0].length();
      flength=find.length();
      cfind=find.toCharArray();
      cgrid=new char[ix][];
      for(int i=0;i<ix;i++) cgrid[i]=grid[i].toCharArray();
      for(int i=0;i<ix;i++)
       for(int j=0;j<iy;j++)
        for(int k=0;k<8;k++)
         if(cgrid[i][j]==cfind[0])getPath(i,j,k,1);   
      return c;
     }
      
     private void getPath(int x, int y, int direct, int fs){
      //System.out.print(cgrid[x][y] + ":");  
      x=xd(x,direct);
      y=yd(y,direct);
      if(x==-1||y==-1) return; 
      //System.out.print(cgrid[x][y] + ":");  
      if(cgrid[x][y]==cfind[fs]){
       //if(fs<flength)System.out.print("--" + cfind[fs] + "--");
       if(fs==flength-1){
        c++;
        //System.out.println(c);
        return;
       }
       if(c>=1000000000){
        c=-1;
        return;
       }
       for(int i=0;i<8;i++)
       getPath(x,y,i,fs+1);
      }
     }
     
     
     private int xd(int x, int direct){
      int r=-1;
      switch(direct){
      case 0:
      case 7:
      case 1:
       if(x==0){
        r=-1;
       }else
       {
        r=x-1;
       }
       break;
      case 2:
      case 6:
       r=x;
       break;
      case 3:
      case 4:
      case 5:
       if(x==ix-1){
        r=-1;
       }else
       {
        r=x+1;
       }
       break;
      }
      return r;
     }
     private int yd(int y, int direct){
      int r=-1;
      switch(direct){
      case 5:
      case 6:
      case 7:
       if(y==0){
        r=-1;
       }else
       {
        r=y-1;
       }
       break;
      case 0:
      case 4:
       r=y;
       break;
      case 1:
      case 2:
      case 3:
       if(y==iy-1){
        r=-1;
       }else
       {
        r=y+1;
       }
       break;
      }
      return r;
     } 

     public static void main(String[] args){
      WordPath wp=new WordPath();
      String[] s={"ABC", "FED","AAI"};
      String f="ABCDEA";
      //String[] s={"AAA", "AAA","AAA"};
      //String f="AAAA";
      System.out.println(wp.countPaths(s,f));
      
     }
     
     
    }

    December 05

    龙生九子 九子各不同

    中国古代传说中龙生有九子,都不像龙,各有所好。

    1、好重者:赑屃(音毕喜),最喜欢背负重物,所以背上驮一块石碑.

    2、好望者:鴟吻(音吃吻),最喜欢四处眺望,常饰于屋檐上.参见中国古建筑的岔脊上的装饰小兽

    3、飸餮(音滔帖),最贪吃,能吃能喝,常饰于鼎的盖子上。因它能喝水,几乎在古代桥梁外侧正中都能见到,防止大水将桥淹没。
    左图是赵州桥栏板上的飸餮(仿隋朝栏板)

    4、生性好杀者:睚眦(音牙自),嗜杀喜斗,常饰于兵器刀环,剑柄.

    5、狴犴(音毕岸),最憎恶犯罪的人,所以常饰于监狱的门楣上.

    6、好烟火者:狻猊(音酸泥),性好烟火,常饰于香炉盖子的盖钮上.

    7、好水者:趴蝮(音八夏)位于桥边的最喜欢水,常饰于石桥栏杆顶端。在后门桥的四个角上趴蝮,造型非常优美。

    8、性情温顺者:椒图,最反感别人进入它的巢穴,常饰于大门口。

    趴蝮

    9、好鸣者:蒲牢,最喜欢音乐和吼叫,常饰于大钟的钟纽上。关于蒲牢的多种造型请参见北京大钟持网页

    钟上做钟纽用的蒲牢

    下面为其他资料中的记载,略有不同:

     龙生九子古时民间有“龙生九子,不成龙,各有所好”的传说。但九子是什么,说法也不同。《中国吉祥图说》谓:九子之老大叫囚牛,喜音乐,蹲立于琴头;老二叫睚眦(ya zi),嗜杀喜斗,刻镂于刀环、剑柄吞口;老三叫嘲风,平生好险,今殿角走兽是其遗像;四子蒲牢,受击就大声吼叫,充作洪钟提梁的兽钮,助其鸣声远扬;五子狻猊(suan ni),形如狮,喜烟好坐,倚立于香炉足上,随之吞烟吐雾;六子霸下,又名XX(bi xi),似龟有齿,喜欢负重,碑下龟是也;七子狴犴(bi gan),形似虎好讼,狱门或官衙正堂两侧有其像;八子负质,身似龙,雅好斯文,盘绕在石碑头顶;老九螭(chi)吻,又名鸱尾或鸱(chi)吻,口润嗓粗而好吞,遂成殿脊两端的吞脊兽,取其灭火消灾。
     《诸神由来》一书说《升庵外集》记载龙之九子是:品质,形似龟好负重,即碑下龟;螭吻,形似兽,性好望,站屋脊;饕餮,好食,立鼎盖;蚣蝮,好立,站桥柱;椒图,似螺蚌,性好闭,立于门首;金猊,形似狮,好烟火,立于香炉;再加上蒲牢、狴犴、睚眦三个,恰为龙之九子。

     

    November 21

    愿望、理想与现实

    成就自己的理想是最有满足感的事情,达成自己的愿望最容易让人快乐。
    但现实是我们需要更多的努力,放弃懒惰,放弃贪婪,放弃人性的很多弱点,甚至放弃一些愿望和理想,才能又可能取得一点成功。
    人不是单单因为自己而存在,说得太大感觉有点虚,至少可以说为了家庭而存在吧,为了父母,为了兄弟姐妹,为了另一半。对于自己,希望能够在爱好的领域中获得成就。 比重50%:50%,不能有偏重。
    存在就有责任,有责任就得负责,这样才不致于失去目标。
    November 17

    生存之痛

    内容已经被管理员删除

    学习,我们到底掌握了什么。

    研究生读完,在学校呆的时间至少也有19年了。 大家想想到底我们学到什么。 知识面广么? 不广。 对知识理解的深么? 不深。 我们唯一贡献似乎就是缓解了国家的就业压力,暂时降低了失业率。 在学校里, 说实话 学的时候想着 “嗯,还是找个兼职积累点经验,赚点钱,都这么大把年纪了,不能靠家里啊。”  工作的时候想着 “还是多学点东西,找工作的时候不知道会用到啥。c/c++/java sql datastruct 都看 jboss eclipse oracle UML XML rationalrose....都要了解。” 那个充实啊。呵呵。
    终于 要毕业了, 就要看到光明了, 希望能是一个我感兴趣的地方在等我。。。期待中。。我也希望能够在某个方向上能够突破一些难关,成为技术领先的人,而不是泛泛的了解。
    September 14

    找工作,找工作。。。

    简历。。。。
    工作。。。。
     
    July 12

    智破连环阵

    【问题描述】
    B国在耗资百亿元之后终于研制出了新式武器——连环阵(Zenith Protected Linked Hybrid Zone),并声称这是一种无敌的自发性智能武器。但A国经侦察发现,连环阵其实是由M个独立武器组成的。这M个武器编号为1,2,…,M。每件武器有两种状态:无敌自卫状态和攻击状态。最初,1号武器处于攻击状态,其他武器都处在无敌自卫状态。以后,一旦第i(1 £ i<M)号武器被消灭,1秒钟以后第i+1号武器就自动从无敌自卫状态变成攻击状态。当第M号武器被消灭以后,这个造价昂贵的连环阵就被彻底摧毁了。
    为了打败B国,A国军事部长打算用最廉价的武器——炸弹来消灭连环阵。经过长时间的精密探测,A国的军事家们掌握了连环阵中M个武器的平面坐标,然后依此选择了n个点,并在这些点上安放了特殊的定时炸弹。这n个炸弹编号为1,2,…,n。每个炸弹的作用半径均为k,且会持续爆炸5分钟。在这5分钟内,每枚炸弹都可以在瞬间消灭离它直线距离不超过k的、处在攻击状态的B国武器。和连环阵类似,最初a1号炸弹持续引爆5分钟时间,然后a2号炸弹持续引爆5分钟时间,接着a3号炸弹引爆……以此类推,直到连环阵被摧毁。在每个炸弹爆炸的时候,其它尚未引爆的炸弹都处于地下隐蔽处,不会被己方的炸弹摧毁。
    显然,选好a1、a2、a3...十分重要。好的序列可以在仅使用较少炸弹的情况下就能将连环阵摧毁;坏的序列可能在使用完所有炸弹后仍无法将连环阵摧毁。现在,请你决定一个序列a1、a2、a3…使得在第ax号炸弹引爆的时间内连环阵被摧毁。这里的x应当尽量小。
    【输入文件】
    输入文件zplhz.in第一行包含三个整数:M、n和k(1 £ M, n£ 100,1£ k£ 1000),分别表示B国连环阵由M个武器组成,A国有n个炸弹可以使用,炸弹攻击范围为k。以下M行,每行由一对整数xi,yi(0£ xi,yi £ 10000)组成,表示第i(1£ i£ M)号武器的平面坐标。再接下来n行,每行由一对整数ui,vi(0 £ ui,vi£ 10000)组成,表示第i(1£ i£ n)号炸弹的平面坐标。输入数据保证无误和有解。
    测试数据中的xi、yi、ui、vi是随机生成的。
    【输出文件】
    输出文件zplhz.out的第一行包含一个整数x,表示实际使用的炸弹数。第二行包括x个整数,依次表示a1,a2,…,ax。
    【样例输入1】
    4 3 6
    0 6
    6 6
    6 0
    0 0
    1 5
    0 3
    1 1

    【样例输出1】
    2
    1 3
    【样例输入2】
    10 10 45
    41 67
    34 0
    69 24
    78 58
    62 64
    5 45
    81 27
    61 91
    95 42
    27 36
    91 4
    2 53
    92 82
    21 16
    18 95
    47 26
    71 38
    69 12
    67 99
    35 94
    【样例输出2】
    5
    6 2 1 3 4
    【评分标准】
    对每个测试点,如果你的输出合法,评分公式如下:
             18,ans-good<-32
             17,-32<=ans-good<=-16
             15,-15<=ans-good<=-7
             13,-6<=ans-good<=-4
             12,-3<=ans-good<=-2
             11,ans-good=-1
             10,ans-good=0
    score=   9,ans-good=1
              8,2<=ans-good<=3
              7,4<=ans-good<=6
              5,7<=ans-good<=15
              3,16<=ans-good<=32
              2,ans-good>32
    June 16

    日志:

    周五参加微软“用良好的安全意识构建您的企业”活动

    周六参见新题型的英语六级考试

    周日去看张学友同志雪狼湖的演唱会,哈哈,真爽。

    June 09

    朋友

    一个普通的朋友从未看过你哭泣。一个真正的朋友有双肩让你的泪水湿尽。    
    一个普通的朋友不知道你父母的姓氏。一个真正的朋友有他们的电话在通讯簿上。
    一个普通的朋友会带瓶葡萄酒参加你的派对。一个真正的朋友会早点来帮你准备,为了帮你打扫而晚点走。
    一个普通的朋友讨厌你在他睡了后打来。一个真正的朋友会问为什么现在才打来。
    一个普通的朋友找你谈论你的困扰。一个真正的朋友找你解决你的困扰。
    一个普通的朋友对你的罗曼史感到好奇。一个真正的朋友可以威胁你说出来。
    一个普通的朋友在拜访时,像一个客人一样。一个真正的朋友会打开冰箱自己拿东西。
    一个普通的朋友在吵架后就认为友谊已经结束。一个真正的朋友明白当你们还没打过架就不叫真正的友谊。
    一个普通的朋友期望你永远在他身边陪他。一个真正的朋友期望他能永远陪在你身旁 ! 

    儿歌:乡下老鼠

    有一只乡下老鼠要到城里去
    到车站也不知道坐在那里好
    嘟一声吓了一跳 闭眼跳上去
    一开眼看见左右 正在车头里
    嘟嘟嘟经过重山又到大海边
    嘟嘟嘟经过铁桥又到山洞里
    多奇怪种种东西向后飞过去
    我从来没有见过这种怪东西

    June 07

    《星球大战》系列故事串讲

       
       如果用一句话概括六集《星球大战》的剧情,就是一个男人堕落了、然后被儿子唤醒的故事。也就是说,《星球大战》的真正主角,是阿纳金·天行者/达斯·维德。
     
      《前传1》阿纳金出世

      星元前250年,一些贸易星球成立了贸易联邦,这批家伙就是跟《星战前传》系列中组织机器人军团跟共和国打仗、最后被阿纳金屠杀的那群难看的外星人。

      星元前32年,《星战前传1魅影危机》开始,贸易联邦不满银河共和国对他们的船收税,派出机器人军团进攻两国边缘的纳布星。

      本系列女主角、纳布星女王帕德美·阿米达拉到共和国求援不成,间接地帮助帕丁议员成为共和国议会议长。而帕丁议员的真实身份其实是这一代的西斯大君——达斯·西帝。

      这里要解释一下,严格意义上的共和政体与民主无关,而是不同团体的代表一起决定国家大事。在这里,作为共和国成员的各个星球喜欢用奴隶制或是君主制都行,只要在共和国大事上服从议会就可以了。就好像《笑傲江湖》里各种邪魔外道结盟攻打少林寺,盟主令狐冲只能约法三章,没办法约束手下随地大小便之类的不文明行为。

      最后,帕德美在纳布星土著“刚刚人”的帮助下夺回纳布星,绝地武士奎刚和他的徒弟奥比王以及他们在沙漠星球塔图因捡到的天才儿童阿纳金·天行者成为决定性的力量。

      绝地武士有先知能力,奎刚一眼认定阿纳金是消灭西斯、令原力和宇宙恢复平衡的天才。而事实证明,他是对的,只不过他只看到了结局,没看到过程——阿纳金先毁了绝地武士团和共和国,然后才在36年之后杀掉了达斯·西帝,自己也随后死去,令西斯灭绝。

      在纳布星之战中,奎刚被西斯学徒达斯·魔所杀,而达斯·魔则死于奥比王之手。
     
     

      《前传2》爱情与战争

      《星战前传1魅影危机》之后,共和国和贸易联邦的战事打了10年,帕丁议长/达斯·西帝借助危机获得了更多的权力。

      星元前22年,阿纳金已经是一个武功高强、地位低下的年轻人,他的能力超过了师傅奥比王,身份却还是学徒。绝地武士理事会对他始终不大放心。而阿纳金的行为也确实不够“光明”,他回塔图因看家里人,发现母亲被“沙人”害死,一怒之下杀掉了整个沙人部落。

      帕丁议长/达斯·西帝指使自己的新徒弟、共和国的杜库伯爵造反、投向贸易联盟,暗杀帕德美。这一事件给了两个人机会,阿纳金就此跟帕德美开始了《保镖》式的恋爱,帕丁则借机说服议会,授予他等于独裁的“紧急权力”,然后他建立了只听命于自己的克隆人军团,并取得了对贸易联邦的决定性胜利。一向“光说不练”的尤达大师也在这一战中第一次拔剑。
     
     

      《前传3》英雄的堕落

      为还没看过本片的观众考虑,这里不泄露过多情节,这一集就是个年轻人误入歧途、投身邪派的故事。故事发生在星元前19年,银河共和国变成银河帝国,达斯·西帝成为皇帝,绝地武士被大屠杀,只有尤达和奥比王躲了起来。阿纳金·天行者成为《星球大战》三部曲中的反派达斯·维德,银河帝国开始制造终极武器“死星”。他和帕德美的龙凤胎卢克和雷娅被分别送给双方的亲友收养。

      在这对未来主角的童年时代,人气很高的机器人搭档——沉默能干的R2D2和一无所长的话痨C3PO还有一段独立的冒险故事,被拍成了单独的动画片《星球大战·机器人》。

      《星战1》第二代登场

      星元前1年,反抗帝国的势力组成反叛同盟军,阿纳金和帕德美的女儿雷娅公主成为其中的骨干。

      星战元年,《星球大战》开幕,雷娅抢到了“死星”的结构图,却在归途中被帝国军俘虏。R2D2和C3PO流落到塔图因,被卢克·天行者的叔叔买下。R2D2要寻找隐居在这里的奥比王,卢克跟着它来到星球上的偏远地区。他们遇到了奥比王,奥比王说要把他培养成绝地武士。(小兄弟,我看你天庭饱满,骨骼清奇,是个可造之材……)

      然后他们找“银河私掠者”汉·索罗(哈里森·福特靠这个角色成名)和乔巴卡租船,开始了拯救公主、摧毁死星的冒险。乔巴卡就是那个两米高、嗷嗷叫的长毛怪,乌齐人在《星战前传3》中出场与贸易联邦作战,乔巴卡还曾帮助尤达逃亡。

      摧毁死星的亚文战役是这一集的高潮,奥比王被达斯·维德杀死,但死星也被摧毁,帝国军败了一阵。X战机对钛战机的宇宙空战成为电脑特效主宰商业电影的里程碑,也成为数款卖座游戏的主题。
     
     

    阿纳金的一生贯穿“星战”系列始终。


      《星战2》我是你爸爸

      反抗军在冰雪星球霍斯星的基地被发现,帝国大军压境,“星战”系列标志性的武器之一AT-AT步行战车亮相,反抗军大败。

      卢克按照奥比王遗命前往沼泽星球Dagobah寻找尤达大师继续修炼——这也是武侠小说惯例,高手明知道有个高高手更适合教自己的徒弟,就是不肯承认技不如人,一定要死到临头才会说:我不行了,你去圈圈山叉叉洞寻找某某大师,学成武功,匡扶正义,顺便给俺报个私仇……

      汉·索罗、乔巴卡和雷娅则到“云中之城”投奔汉·索罗当年混黑道时的兄弟兰度,后者转手就把他们卖给了帝国。卢克修炼出了先知能力,知道他们有难而赶来救援。雷娅等人趁机逃走,汉·索罗却被落到了黑道仇家手里。

      达斯·维德砍断了卢克右手,然后瓮声瓮气地告诉他“我是你爸爸”。卢克跳出“云中之城”自杀,被雷娅等人救起。这个大坏蛋深沉地对主角说“其实,俺是你爹”的桥段,金庸先生也很喜欢用,《天龙八部》的三位主角有两位受过这个刺激,虚竹虽然没有大反派爸爸,但一个吃肉都会流泪的小和尚,突然发现老和尚掌门原来是自己爸爸……偶像破灭啊。

      《星战3》父亲的救赎

      为了救汉·索罗,雷娅、乔巴卡也落到了塔图因黑帮老大贾巴·迪哈(那个像巨大虫子一样的恶心家伙)手里,雷娅公主的黄金比基尼女奴造型令一代青少年念念不忘。

      卢克救下这些人后,回去找尤达完成学业。尤达很拽地说出了一句超级无厘头的台词:“啊,你的修炼已经完成了。”跟着又很深沉地说:“对啊,达斯·维德就是你爸爸,雷娅是你妹妹。”然后他老人家就死掉了。(由于当时只有卢克一个人在场,尤达到底是怎么死的很值得推敲。)

      接下来,最后一个绝地武士卢克与反抗军一道攻打死星二号,并与帝国皇帝达斯·西帝和老爸达斯·维德决战,达斯·维德最后良心发现,杀掉了达斯·西帝,完成了个人命运和原力的轮回。

    June 02

    喜欢一个人和爱一个人的区别

    喜欢一个人,在一起的时候会很开心;爱一个人,在一起的时候,会莫名的失落;喜欢一个人,你不会想到你们的将来;爱一个人,你们常常在一起憧憬明天;喜欢一个人,在一起的时候永远是欢乐;爱一个人,你会常常流泪;喜欢一个人,当你们好久不见,你会突然想起他;爱一个人,当你们好久不见,你会天天想着他;喜欢一个人,当你想起他,你会微微一笑;爱一个人,当你想起他,你会对着天空发呆。