- 博客(78)
- 资源 (24)
- 收藏
- 关注
原创 poj 1655 Balancing Act(树形dp)
本文出自 http://blog.csdn.net/shuangde800--------------------------------------------------------------------------------------题目链接: poj-1655题意 一n个节点的棵树,去掉某个节点后,会变成一个森林.
2013-08-31 21:32:17 1586
原创 poj 3140 Contestants Division(树形dp? dfs计数+枚举)
题目 给n个节点的带权树,删掉其中一边,就会变成两颗子树, 求删去某条边使得这这两颗子树的权值之差的绝对值最小。思路 直接dfs一次,计算所有子树的权值总和tot[i] 删掉一条边(v, fa),fa是v的父亲节点, 那么v字数总总和为tot[v],显然另一棵子树的权值总和就是sum-tot[v], 最总取最小绝对值即可。
2013-08-31 21:15:47 1377
原创 poj 2378 Tree Cutting(树形dp)
题目链接: poj-2378题意 给一颗n个结点的树,节点编号为1~n,把删除一个节点之后, 剩下的分支中节点数量最多的数量不大于总数量一半的编号全部按顺序输出思路 和poj-3107 GodFather完全一样,只是输出不一样。改为<=n/2的就输出即可。
2013-08-31 14:31:58 2848
原创 poj 3107 Godfather(树形dp)
本文出自 http://blog.csdn.net/shuangde800--------------------------------------------------------------------------------------题目链接: poj-3107题意 给一颗n个结点的树,节点编号为1~n,问删除一个节点之
2013-08-31 14:27:04 3965
原创 Linux入门基础 #3:文件基本操作管理和常用命令
命令“cp”用以复制文件或目录:cp [-r] 源文件(文件夹) 目标文件(文件夹)-r 递归复制整个目录, 复制文件夹要用这个-v 显示详细信息,cp -rv 或者 cp -r -v 当复制文件较多时,可以看进度 命令“mv”用来移动或重命名一个文件或目录:mv [-r] 源文件(文件夹) 目标目录移动时如果指定文件名,则会进行重命名
2013-08-31 10:34:24 1689
原创 hdu 3586 Information Disturbing(树形dp + 二分)
题意 给一棵n个节点的树,节点编号为1~n,根节点为1。每条边有权值,砍掉一条边要花费cost(w) 要砍掉一些边, 使得每个叶子节点无法走到根节点。 要求砍掉花费总和不能超过m的情况下,让每条边花费上限尽量低
2013-08-31 00:13:51 2283
原创 vim的全局替换
本文出自 http://blog.csdn.net/shuangde800本文内容:确认替换上下文相关替换替换命令的基本语法在全局替换中,ex编辑器使用指定的字符模式对文件中的每行进行检查。在所有行中发现模式的位置,ex使用新字符串来替换模式。全局替换真正使用的是两个ex命令是 :g(global全局)和:s(switch替换)。替换命令的语法如下::s / old / new /
2013-08-31 00:12:42 119198 7
原创 Linux入门基础 #2:Linux文件系统基本结构
Linux文件系统为一个倒置的树状结构,所有文件或文件夹均包含在一个根目录“/”中。Linux系统严格区分大小写,名称最多255个字符除正斜线外都是有效字符每一个Shell都有一个当前的工作目录,通过命令pwd(print work directory)可以查看当前工作目录touch命令:创建一个空白文件或者更新已有文件的(最后一次修改)时间以.开头的文件为隐藏文件,隐藏文件绝大部分是配置文件命令“ls”可以列出当前目录信息,支持以下参数:ls -a 显示所有文件,包括隐藏文件
2013-08-30 20:27:41 1948
原创 Linux入门基础 #1:命令行bash基本操作
Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令、操作传递给操作系统底层Shell一般分为:图形化Shell(GUI)、命令行Shell(CLI)CLI: command line interfaceGUI: Graphical User InterfaceLinux中一般默认GUI为:GNOME,默认CLI为:BASHBASH提
2013-08-30 20:16:19 2779
原创 【设计模式】学习笔记17:代理模式之保护代理与Java反射
本笔记内容:1. Java动态代理,反射机制2. 保护代理3. 应用保护代理实现的约会系统----------------------------------------------------------------------------走进保护模式我们知道,相亲节目已经在天朝的电视上已经火了多年了,说明了有广大同胞需要这个配对服务,更别说咱们程序猿这个群体了。现在要实现一个约会服务系统。你有一个好点子,想在这个服务系统中,增加一个评分功能。具体就是在服务中加入“顶”和"踩"的功能,浏览
2013-08-30 01:00:27 4269
原创 hdu 4044 GeoDefense (树形dp | 多叉树转二叉树)
题意 这是一个塔防游戏,地图是一个n个编号为1~n的节点的树, 节点1是敌人的基地,其他节点都是你的基地。 敌人的基地会源源不断的出来怪兽,为了防止敌人进攻你的基地,你可以选择造塔。 每个节点最多只能造一个塔,且节点i可以有ki种塔供你选择,价钱和攻击力分别为price_i, power_i 攻击力power_i,效果是让敌人经过这个节点时让敌人的血减少power_i点。 那么从敌人的基地到你的任意一个基地的路径,这条路径上的所有塔的攻击力之和,就是这个基地的抵抗力。
2013-08-30 00:13:10 4126
原创 vim的ex模式用法
《使用vi编辑器》 Lamb & Robbins编著本问内容:1. 使用行号在文件中移动2. 使用ex命令对文本块进行复制,移动和删除3. 保存文件和部分文本4. 操作多个文件(读入文本或命令,在文件间切换)本文约定:$ + 命令 表示在普通的bash的命令行下: + 命令 表示在vim的ex(命
2013-08-29 01:10:49 13964 1
原创 【设计模式】学习笔记16:代理模式之虚拟代理(实现CD封面加载器)
在上篇中,我们学习了代理模式,并用Java RMI实现了一个最简单的远程代理。实际上代理模式并不仅仅应用与远程代理,还有很多其他的应用。比如:虚拟代理。代理模式可以以很多形式出现,但基本上符合一般代理的设计。为何有这么多的形式呢?因为代理模式可以被用在许多不同的例子中。走进代理模式我们打算建立一个应用程序,用来展现你最喜欢的CD封面。你可以建立一个CD标题菜单,然后从豆瓣等网站的在线服务中取得CD封面的图。如果使用Swing,可以创建一个Icon接口从网络上加载图像。唯一的问题是,限于连接带宽和
2013-08-28 00:10:39 5371 8
翻译 外媒关注:中国版Twitter新浪微博推出微米对抗微信
新浪,在中国等价于美国的Twitter,刚刚推出他的新应用微米,加入手机通讯的大潮中。微米实际上在今年四月份就已经存在了,它由杭州的一个20人团队杭州酷跃科技研发。据Marbridge说,这个团队是在新浪的孵化培养下成长的。尽管如此,这次新浪官方的举动的意义是十分重大的,新浪CEO曹国伟在之前透漏过即将推出社交应用的计划,以此来增强新浪在移动应用市场的竞争力。因为他之前承认过在激烈的竞争下,新浪用户已经减少实际那花费在服务上了。
2013-08-27 02:35:38 2464 2
原创 zoj 3627 Treasure Hunt II (贪心)
题意 直线上有n个城市, 第i个城市和i+1个城市是相邻的. 每个城市都有vi的金币. Alice和Bob站在城市p, 他们每天可以选择走向一个相邻的城市, 也可以选择不走. 他们是单独行动的. 他们经过一个城市就可以获得相应的金币(不能重复获得) 作为一个队伍, 他们的最远距离不能操作M, 问T天内, 他们最多一共能拿多少金币?思路 由于每次只能走一步,那么一定是一个人往左走,一个人往右走,因为如果两个人一起往同一个方向走, 那么就和一个人一起走的效果是一样
2013-08-27 00:14:46 2589 2
原创 zoj-3626 Treasure Hunt I (树形dp)
题意 给一棵n个节点的树, 节点编号1~n, 每个节点有权值val[i],经过这个节点就可以获取这个价值(不能重复获得) 每一条边有一个花费值w(i,j), 表示走完i和j点的边要花费w(i,j) 现在要从k点出发,总花费值为m,问总花费不超过m的情况下并且最终要回到出发点,最多可以获取多少价值?思路 简单树形dp。 f(i,j)表示子树i, 用花费j最多可以获得的价值 对与i的每个儿子,可以选择分配花费2*w, 2*w+1, 2*w+2,...j给它,可以看作是一
2013-08-27 00:13:54 2140
翻译 鲍尔默在微软最大的遗憾?
鲍尔默将在未来12个月之内从微软退休, 所以他有一些时间来反思在微软13年的CEO经验。 在一个访问中( interview with ZDNet's Mary Jo Foley), 鲍尔默显露出对于他在微软33年所取得的成就感到自豪,声称“这甚至比智能个人计算机的诞生还要更有意义”。谈到遗憾方面,鲍尔默对Windows Vista感到追悔莫及,“我可能会说我最后悔的事情,是在我们称之为loopedy-loo的时期,当时我看到了各种版本的 ‘Longhorn’, 然后挑选这个版本作为 Vista 系统”,鲍
2013-08-26 18:50:46 1506 3
翻译 外煤关注:百度收购大部分糯米股份
Baidu’s efforts to extend its business beyond search have led the company to yet another acquisition.百度在努力扩张他除了搜索业之外的商业版图,这导致了这家公司刚刚进行了另外一个收购。Baidu, proprietor of China’s largest search engine, said this week that it has agreed to purchase a majority st
2013-08-26 01:25:37 1541
原创 【设计模式】学习笔记15:代理模式(Proxy Pattern)
本笔记内容:1. JAVA远程代理调用(RMI)2. 代理模式走进代理模式在上一篇的状态模式中,我们实现了一个糖果机GumballMachine, 客户通过投币可以买到糖果. 现在设想这样一种情况: 糖果机是属于某个糖果公司的,这个公司的CEO坐在办公室里喝茶,看报纸, 但他还想要随时了解糖果机的状态,比如还剩下多少个糖果,卖了多少钱等等. CEO要怎样才能远程"遥控"糖果机获取信息呢? 这就得用到代理模式(Proxy Pattern)了.可能我们会想到通过socket网络连接, 自己
2013-08-26 00:22:05 4694 6
原创 hdu 4597 Play Game(区间dp)
题意 Alice和Bob玩一个游戏,有两个长度为N的正整数数字序列,每次他们两个 只能从其中一个序列,选择两端中的一个拿走。他们都希望可以拿到尽量大 的数字之和,并且他们都足够聪明,每次都选择最优策略。Alice先选择,问 最终Alice拿到的数字总和是多少?思路 这题应该算是区间dp吧,可以看一下这题的原型: 其他规则都一样,但是只有一个数字序列,也是每次只能拿左右两端的一个数字,问最终Alice拿多少? (这个可以去做uva-10891) 只有一行数字
2013-08-25 00:16:01 2876
原创 poj 3345 Bribing FIPA (树形背包dp | 输入坑)
题意 有n个国家,你要获取m个国家的支持,获取第i个国家的支持就要给cost[i]的价钱 其中有一些国家是老大和小弟的关系,也就是说,如果你获得了某个老大国家的支持, 那么这个国家的所有小弟(包括小弟的小弟...递归下去)都会无偿免费支持你。 问最少的花费可以得到m个国家的支持思路 这题还是比较好想的树形dp, 不过输入有些麻烦, 一开始以为每组样例结束都是'#',结果一直 RE,后来发现最后一组才是 '#'... 国家由于是直接给名字的,所以我用map<
2013-08-25 00:15:14 2154
原创 poj 2486 Apple Tree (树形背包dp)
题意 给一个n个节点的树,节点编号为1~n, 根节点为1, 每个节点有一个权值。 从根节点出发,走不超过k步,问最多可以获取多少权值?思路 因为和uva-1407 caves有点相似,所以没想很久就AC了,但因为初始化问题WA了两次 f(i, j, 0): 表示子树i,走j次,最终不用回到i点获取的最大总权值 f(i, j, 1): 表示子树i,走j次,最终一定要回到i点获取的最大总权值 f(i, j, 1) = min{ min{ f(i, j-k, 1)
2013-08-25 00:14:24 2232
原创 hdu 4003 Find Metal Mineral (树形背包dp)
题意 给一棵n个节点的树, 节点编号为1~n, 每条边都有一个花费值. 有k个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少?思路 很好的一题, 推荐! 前天看的这题, 今天才想出来的. 方法想出来后,代码很简单 最近做的几道dp,都是一开始没什么想法,然后过两天再想就想出来了,也许是因为人的潜意识其实会一直在想某个问题 翻看一下网上其他人的做法, 和我的稍有不同, 他们是用f(i, j)表示子树i用j个机器人的最少花费, 一开始我也是这
2013-08-24 00:30:02 3312
原创 uva 1407 Caves (树形背包dp)
题意 一棵n个节点的树,树的边有正整数权,表示两个节点之间的距离.你的任务是回答这样的询问:从跟节点出发,走不超过x单位的距离, 最多能经过多少节点?同一个节点经过多次, 只能算一个.思路这题同样是多天看的, 在今天才想出解法的. 动态规划就是这么有意思 :)遍历n个节点, 有两种情况, 第一种是遍历完之后不回到出发点, 第二种是要回到出发点. 两种都可能会重复经过某些边, 但是显然还是第二种遍历的花费会更大在这一题中, 遍历之后不需要回到出发点.f(i, j, 0): 表示
2013-08-24 00:28:11 3037 1
原创 【设计模式】学习笔记14:状态模式(State)
认识状态模式假设有一个糖果机, 它的工作状态图如下:要用代码实现糖果机的功能, 如果不用状态模式:一种方法是创建一个类,它的作用就是一个状态机,对每一个动作,我们都创建了一个对应的方法,这些方法用条件语句来决定在每一个状态内什么方法是最恰当的.比如对"投入25分钱"这个动作,对应的方法如下:
2013-08-22 00:15:46 32950 49
原创 poj 1947 Rebuilding Roads (树形背包dp)
题意 给一棵树,问最少删掉几条边.使得剩下的子树中有节点个数为p个的思路 之前不知道看到谁说这题水, 但是为什么我就不觉得水呢? 3天前就看了这题, 但是没什么想法,然后每天都有去想一下, 一直到今天, 在我对自己方法还有怀疑 的情况下,竟然AC了.. f(i, j) 表示子树i,保留j个节点的最少删边次数, 注意,这里保留的j个节点的子树,是指根节点 为i的j个节点的子树,这样理解的话, 状态转移就容易想多了. 对于子树i, 如果只保留1
2013-08-22 00:14:23 2468
原创 hdu 1561 The more, The Better (树形背包dp)
题目ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物。但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其他某一个特定的城堡。你能帮ACboy算出要获得尽量多的宝物应该攻克哪M个城堡吗?
2013-08-21 00:25:18 1919
原创 【设计模式】学习笔记13:组合模式(Composite)
认识组合模式上一篇中,我们可以用迭代器来实现遍历一个集合(数组,ArrayList, Vector, HashTable等)。假设有这样一种集合结构i:餐厅里有一份菜单,菜单里面还有子菜单,其实就是一个树形的结构那么,之前的迭代器就不能用了。我们需要新的设计:1. 需要某种树形结构,可以容纳菜单,子菜单和菜单项2. 需要确定能够在每个菜单的各个项之间游走,而且至少要像现在用迭代器一样方便3. 我们也需要更有弹性地在菜单之间游走。比方说,可能只需要遍历甜点菜单,或者可以遍历餐厅的整个菜单
2013-08-20 00:13:43 2946 3
原创 hdu 1011 Starship Troopers (树形背包dp)
题意有n个洞穴编号为1~n,洞穴间有通道,形成了一个n-1条边的树, 洞穴的入口即根节点是1。每个洞穴有x只bugs,并有价值y的金子,全部消灭完一个洞穴的虫子,就可以获得这个洞穴的y个金子.现在要派m个战士去找金子,从入口进入。每次只有消灭完当前洞穴的所有虫子,才可以选择进入下一个洞穴。一个战士可以消灭20只虫子,如果要杀死x只虫子,那么要x/20向上取整即(x+19)/20个战士。如果要获得某个洞穴的金子,必须留下足够杀死所有虫子的战士数量, 即(x+19)/20个战士,然后这些留下战士就不
2013-08-20 00:11:12 3902 1
原创 poj 1155 TELE (树形背包dp)
题意 某收费有线电视网计划转播一场重要的足球比赛。他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点。 从转播站到转播站以及从转播站到所有用户终端的信号传输费用都是已知的,一场转播的总费用等于传输信号的费用总和。 现在每个用户都准备了一笔费用想观看这场精彩的足球比赛,有线电视网有权决定给哪些用户提供信号而不给哪些用户提供信号。 写一个程序找出一个方案使得有线电视网在不亏本的情况下使观看转播的用
2013-08-18 20:15:35 1685
原创 uva-1427 Parade (单调队列优化dp)
题意F城由n+1个横向路和m+1个竖向路组成。你的任务是从最南边的路走到最北边的路,使得走过的路上的高兴值和最大(注意,一段路上的高兴值可以是负数)。同一段路不能经过两次,且不能从北往南走。另外,在每条横向路上所花的时间不能超过k。思路这题在uva和LA上又是不能评测, 于是在hdu和poj上评测了这题这题状态比较容易想到, f(i, j)表示走到第i行第j点的最大价值对于每一点,可以从下一行的走上来,也可以从左边走过来,也可以从右边走过来设L(i, j)表示第i行从左边走到j点的最大价值
2013-08-18 00:14:30 2565
原创 uva 12260 - Free Goodies (dp,贪心 | 好题)
题意Petra和Jan分n个糖果,每个人轮流拿,一次只能拿一个,抽签决定谁先开始拿每个糖果有两个值x,y, 如果Petra拿了会获得值x, Jan拿了会获得值yPetra每次都选择对自己价值最大的(x最大)拿,如果有多个x相同大,选择y值最小的Jan选择的策略是,要让自己最终获得的总价值最大, 并且在这个的前提下,要让Petra的值也尽量大问最终他们获得的价值各是多少?
2013-08-18 00:10:39 2529
原创 CodeForces #196(Div. 2) 337D Book of Evil (树形dp)
题意给一棵n个结点的树,任意两个节点的距离是指连接两点的最短的边数在树上的某个结点有一个“恶魔之书”,这本书会让距离它d以内的节点都受到影响已知有m个节点收到了影响,问最多有几个结点可能放着“恶魔之书”?
2013-08-17 10:07:26 2047
原创 HDU 4679 Terrorist’s destroy(树形dp | 多校8)
题意给一棵树,每条边有个权值,要删掉一条边,删掉以后会变成两颗子树,设两个子树的直径分别为d1, d2,删掉的这条边权值为w问删掉哪一条边,使得w*max(d1, d2)的值最小?
2013-08-15 18:03:27 1520
原创 HDU 4681 String (dp, LCS | 多校8)
题意给出3个字符串A,B,C,要你找一个字符串D, 要满足下面规定a) D是A的子序列b) D是B的子序列c) C是D的子串求D的最大长度要注意子序列和子串的区别,子序列是不连续的,字串是连续的
2013-08-15 17:14:46 1539
原创 uva 1484 Alice and Bob's Trip (树形dp)
题意给一棵n个结点的树,结点编号为0~n-1,顶点是0每条边都有一个权值。Alice和Bob初始位置在顶点,要往下一直走到叶子结点。第一次是由Bob选择走向哪个子结点,第二次轮到Alice,依次轮流下去...每走过一条边就会获得相应的权值,Bob希望所走的路径总权值越大越好,而Alice希望越小越好每次他们都会选择最优解。最终总权值要在范围[L,R]之内。问最终Bob希望的最大权值是多少?
2013-08-15 00:47:35 1966
原创 【设计模式】学习笔记12:迭代器模式(Iterator)
走进迭代器模式迭代器几乎是最常用的一种设计模式,在各面向对象语言中都有实现。迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露出其内部的表示。迭代器模式能够让我们游走于聚合内的没一个元素,而又不暴露其内部的表示把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。
2013-08-14 20:35:26 1829
原创 【设计模式】学习笔记11:模板方法(Template Method)
—— 工厂方法是模板方法的一种特殊版本。——如果你只想掌握一种设计模式,那么它就是模板方法!走进模板方法我们知道泡咖啡和泡茶的步骤是很类似的:咖啡泡法:1. 把水煮沸2. 用沸水冲泡咖啡3.把咖啡倒进杯子4.加糖和咖啡泡茶方法:1.把水煮沸2.用沸水侵泡茶叶3.把茶倒进杯子4.加柠檬
2013-08-14 00:43:52 2478
原创 【设计模式】学习笔记10:外观模式(Facade)
上一次我们已经知道了适配器模式是如何将一个类的接口转换成另一个符合客户期望的接口了。Java中要做到这一点,必须将一个不兼容接口的对象包装起来,变成兼容的对象。这次要学的是外观模式.外观模式是将一个或数个类的复杂的一切都隐藏在背后,只显露出一个干净美好的外观。走近外观模式假设要用Java设计一个家庭影院,包括DVD播放器,投影仪,自动屏幕,环绕立体声,甚至还有爆米花机,你设计了一些类:
2013-08-13 00:42:12 3085 5
原创 【设计模式】学习笔记9:适配器模式(Adapter)
生活中的适配器在现实生活中,如果你需要在欧洲国家使用美国制造的笔记本电脑,那么你可能需要使用一个交流电的适配器。因为欧洲的插座和美国笔记本电脑的插头不一样,所以需要一个交流电适配器,通过这个美国笔记本插头就可以使用欧洲插座了。OO适配器和真实世界的适配器扮演着同样的角色:将一个接口转换成另一个接口,以符合客户的期望。
2013-08-13 00:19:57 1939
黑客与画家pdf
2013-08-02
Visual C++数据库开发典型模块与实例精讲pdf.part2
2013-01-30
Visual C++数据库开发典型模块与实例精讲pdf.part1
2013-01-30
系统分析与设计 中文版 第7版pdf part3
2013-01-30
系统分析与设计 中文版 第7版pdf part2
2013-01-30
系统分析与设计 中文版 第7版pdf part1
2013-01-28
Effective C++中文第三版.pdf
2013-01-28
C++编程思想(Thinking in C++)完美版pdf
2013-01-28
设计模式 可复用面向对象软件的基础
2013-01-19
图论算法理论、实现及应用 高清带书签pdf
2013-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人