
动态规划
yangs_s
这个作者很懒,什么都没留下…
展开
-
过河卒的悲惨历程
过河卒(gh.pas) 题目描述 Description 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C)。卒不能通过对方马的控制点。 棋盘用坐标表示,A 点(0原创 2015-06-20 19:27:15 · 653 阅读 · 0 评论 -
挖地雷
题目描述 在一个地图上有N个地窖(N),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径,并规定路径都是单向的,也不存在可以从一个地窖出发经过若干地窖后又回到原来地窖的路径。某人可以从任一处开始挖地雷,然后沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使他能挖到最多的地雷。 输入 第一行一个整数n表示有n个地窖 第二行有原创 2015-06-08 16:45:31 · 1204 阅读 · 0 评论 -
拦截导弹
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数,导弹数不超过1000),计算这套系统最多能原创 2015-06-08 16:47:00 · 815 阅读 · 0 评论 -
最长子序列
动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法。 【问题】 求两字符序列的最长公共字符子序列原创 2015-06-08 16:47:46 · 424 阅读 · 0 评论 -
NOIP2009最优贸易——史上最详细解析
C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1 条。 C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。原创 2015-08-07 11:59:40 · 7396 阅读 · 2 评论 -
NOIP复习-004——排列组合+快速幂
NUM.ONE——排列组合var m,n,i,j,k,p,q:longint; function f(x:longint):longint; var t:longint; begin t:=1; for i:=1 to x do t:=t*i; exit(t); end; begin read(m,n); writeln(f(m)div(f(m-n)*f(n)原创 2015-11-01 16:46:19 · 516 阅读 · 0 评论 -
NOIP复习-006——最小生成树
NUM.ONE——PRIMvar a:array[1..1000,1..1000]of longint; i,j,k,l,m,n,p,min,minp:longint; v:array[1..1000]of boolean; d:array[1..1000]of longint; begin readln(n); for i:=1 to n do for j:原创 2015-11-02 10:58:37 · 559 阅读 · 0 评论