tian专题

nyoj 1037 Postscript of Tian Ji racing

一道卡贪心的题。 也算一道改编题。 此题的解法推荐为二分图的最大匹配。 首先将输入数据转换一下,然后将满足题意的一组牌建立条边,最终边的覆盖数即为 LN 最后可得的分数。 然后求出最大匹配即可。 代码如下: #include<stdio.h>#include<string.h>char card[30][5];char s[5];int map[30][30];

POJ2287 HDU1052 Tian Ji -- The Horse Racing【贪心】

题目链接: http://poj.org/problem?id=2287 http://acm.hdu.edu.cn/showproblem.php?pid=1052 题目大意: 田忌和大王赛马,两个人各有N匹马,每匹马都有一个速度,跑的快的胜,慢的就输。田忌每赢一 把得200,平了不得钱,输了输200。每次大王先出马,田忌再出马。问:田忌最多能得多少钱。 思路: 贪

Tian Ji -- The Horse Racing(考虑周到或者省去相等)

Tian Ji -- The Horse Racing Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submission(s) : 14   Accepted Submission(s) : 8 Font: Times New Roman | Verdana |

Netty简介、线程模型及异步模型详细介绍——小马同学@Tian

Netty 1 netty简介 Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用

线程、多线程、线程池的理解与使用——小马同学@Tian

线程(补充) 1.1 线程的三大特性 原子性、可见性、有序性 1.2 线程和进程 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位; 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线; 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见; 调度和

模板方法模式(模板方法设计模式)详解——小马同学@Tian

模板方法模式(模板方法设计模式)详解 在面向对象程序设计过程中,程序员常常会遇到这种情况:设计一个系统时知道了算法所需的关键步骤,而且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。 例如,去银行办理业务一般要经过以下4个流程:取号、排队、办理具体业务、对银行工作人员进行评分等,其中取号、排队和对银行工作人员进行评分的业务对每个客户是一样的,可以在父

命令模式(详解版)——小马同学@Tian

命令模式(详解版) 在软件开发系统中,“方法的请求者”与“方法的实现者”之间经常存在紧密的耦合关系,这不利于软件功能的扩展与维护。例如,想对方法进行“撤销、重做、记录”等处理都很不方便,因此“如何将方法的请求者与实现者解耦?”变得很重要,命令模式就能很好地解决这个问题。 在现实生活中,命令模式的例子也很多。比如看电视时,我们只需要轻轻一按遥控器就能完成频道的切换,这就是命令模式,将换台请求和换

解释器模式(详解版)——小马同学@Tian

解释器模式(详解版) 在软件开发中,会遇到有些问题多次重复出现,而且有一定的相似性和规律性。如果将它们归纳成一种简单的语言,那么这些问题实例将是该语言的一些句子,这样就可以用“编译原理”中的解释器模式来实现了。 虽然使用解释器模式的实例不是很多,但对于满足以上特点,且对运行效率要求不是很高的应用实例,如果用解释器模式来实现,其效果是非常好的,本文将介绍其工作原理与使用方法。 模式的定义与特点

观察者模式(Observer模式)详解——小马同学@Tian

观察者模式(Observer模式)详解 在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。这样的例子还有很多,例如,股票价格与股民、微信公众号与微信用户、气象局的天气预报与听众、小偷与警察等。 在软件世界也是这样,

访问者模式(Visitor模式)详解——小马同学@Tian

访问者模式(Visitor模式)详解 在现实生活中,有些集合对象存在多种不同的元素,且每种元素也存在多种不同的访问者和处理方式。例如,公园中存在多个景点,也存在多个游客,不同的游客对同一个景点的评价可能不同;医院医生开的处方单中包含多种药元素,査看它的划价员和药房工作人员对它的处理方式也不同,划价员根据处方单上面的药品名和数量进行划价,药房工作人员根据处方单的内容进行抓药。 这样的例子还有很多

迭代器模式(详解版)——小马同学@Tian

迭代器模式(详解版) 在现实生活以及程序设计中,经常要访问一个聚合对象中的各个元素,如“数据结构”中的链表遍历,通常的做法是将链表的创建和遍历都放在同一个类中,但这种方式不利于程序的扩展,如果要更换遍历方法就必须修改程序源代码,这违背了 “开闭原则”。 既然将遍历方法封装在聚合类中不可取,那么聚合类中不提供遍历方法,将遍历方法由用户自己实现是否可行呢?答案是同样不可取,因为这种方式会存在两个缺

备忘录模式(详解版)——小马同学@Tian

备忘录模式(详解版) 每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。 其实很多应用软件都提供了这项功能,如 Word、记事本、Photoshop、Eclipse 等软件在编辑时按 Ctrl+Z 组合键时能撤销当前操作,使

适配器模式(Adapter模式)详解——小马同学@Tian

适配器模式(Adapter模式)详解 在现实生活中,经常出现两个对象因接口不兼容而不能在一起工作的实例,这时需要第三者进行适配。例如,讲中文的人同讲英文的人对话时需要一个翻译,用直流电的笔记本电脑接交流电源时需要一个电源适配器,用计算机访问照相机的 SD 内存卡时需要一个读卡器等。 在软件设计中也可能出现:需要开发的具有某种业务功能的组件在现有的组件库中已经存在,但它们与当前系统的接口规范不兼

POJ - 2287 Tian Ji -- The Horse Racing

题目来源 2287 -- Tian Ji -- The Horse Racing (poj.org) 题目描述 田忌赛马是中国历史上一个著名的故事。 这个故事发生在2300年前,田忌是齐国的一个大官,他喜欢和齐王以及其他公子赛马。 田忌和齐王都有三类马,分别是下等马,中等马,上等马。 比赛一共进行三轮,每匹马只能在某一轮比赛中使用。每一轮的胜者可以从败者获得200银币。 齐王是齐

观察者模式(Observer模式)详解——小马同学@Tian

观察者模式(Observer模式)详解 在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,某种商品的物价上涨时会导致部分商家高兴,而消费者伤心;还有,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。这样的例子还有很多,例如,股票价格与股民、微信公众号与微信用户、气象局的天气预报与听众、小偷与警察等。 在软件世界也是这样,

Arduino Tian介绍:基于OpenWrt的32位ARM物联网单片机

2016似乎是“单片机之年”,因为在树莓派的激励下,已经有越来越多的公司在建造各种有趣的板子。几天前,我们曾展示过一款即将到来的开发板,那是来自Mozilla日本团队、运行Firefox OS的Chirimen物联网单片机开放平台。不过本文要为大家介绍的,则是运行基于OpenWrt Linux OS的32位ARM架构物联网单片机,它的名字叫做Arduino Tian。 如果你曾把玩过Ardui

1052 Tian Ji -- The Horse Racing

题目详情:  Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 47942    Accepted Submission(s): 14651 Problem Descri