欢迎访问我的个人网站==》 jiashubing.cn
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 39 下一页
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114题目大意:根据储钱罐的重量,求出里面钱最少有多少。给定储钱罐的初始重量,装硬币后重量,和每个对应面值硬币的重量。Sample Input310 11021 130 5010 11021 150 301 6210 320 4Sample OutputThe minimum amount of money in the piggy-bank is 60.The minimum amount of money in the piggy-bank is 100.This is impossible.分 阅读全文
posted @ 2013-08-24 21:39 贾树丙 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 1. 为何状态压缩: 棋盘规模为n*m,且m≤10,如果用一个int表示一行上棋子的状态,足以表示m≤10所要求的范围。故想到用int s[num]。至于开多大的数组,可以自己用DFS搜索试试看;也可以遍历0~2^m-1,对每个数值的二进制表示进行检查;也可以用数学方法(?)2. 如何构造状态: 当然,在此之前首先要想到用DP(?)。之后,才考虑去构造状态函数f(...)。 这里有一个链式的限制:某行上的某个棋子的攻击范围是2。即,第r行的状态s[i],决定第r-1行只能取部分状态s[p];同时,第r行的状态s[i],第r-1行状态s[p],共同决定第r-2行只能取更少的状态s[q]。当然,最 阅读全文
posted @ 2013-08-24 03:55 贾树丙 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074题目大意:学生要完成各科作业, 给出各科老师给出交作业的期限和学生完成该科所需时间, 如果逾期一天则扣掉一单位学分, 要你求出完成所有作业而被扣最小的学分, 并将完成作业的顺序输出.Sample Input23Computer 3 3English 20 1Math 3 23Computer 3 3English 6 3Math 6 3Sample Output2ComputerMathEnglish3ComputerEnglishMath分析:(转)刚开始以为是背包, 但背包难以记录输出顺序 阅读全文
posted @ 2013-08-24 03:47 贾树丙 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 炮兵阵地Description司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响。现在,将军们规划如何部署炮兵部队,在防止误 阅读全文
posted @ 2013-08-23 19:27 贾树丙 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=423Sample Input3(A-B + C) - (A+(B - C)) - (C-(D- E) )((A)-( (B)))A-(B+C)Sample OutputA-B+C-(A+B-C)-(C-(D-E))A-BA-(B+C)题目大意:给出加减代数表达式,仅由变量(大写字母表示),圆括号,加号 '+', 减号'-'组成,要求去掉多余的括号,但是不能改变表达式中的加号和减号,也就是说如果括号外面是减号,那就不能去掉分析: 对于每 阅读全文
posted @ 2013-08-22 18:52 贾树丙 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681题目大意:给定三个字符串A,B,C 求最长的串D,要求(1)D是A的字序列 (2)D是B的子序列 (3)C是D的连续子序列Sample Input2aaaaaaaaaaaabcdefacebdfcfSample OutputCase #1: 4Case #2: 3HintFor test one, D is "aaaa", and for test two, D is "acf".分析:求A和B的LCS,正反各求一次得到dp1和dp2,然后枚举C在A,B 阅读全文
posted @ 2013-08-21 19:53 贾树丙 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5048Sample Input4 3 Sample Output3题目大意:n个格子排成一条直线,可以选择涂成红色或蓝色,问最少m个连续为红色的方案数。分析:递推法dp[i]表示前i个最少m个连续为红色的方案数。转移时,分类讨论:1、前i-1个已经满足这个性质,那么,第i个随意涂色,方案数为dp[i-1]*2。2、前i-1个不满足这个性质,那么,要想成为方案,区间[i-m+1,i]必须涂成红色。并且,下标为i-m这个点必须是蓝色,否则就与情况1重复了。而且正是由于这 阅读全文
posted @ 2013-08-21 18:07 贾树丙 阅读(303) 评论(0) 推荐(0) 编辑
摘要: Hackers’ CrackdownMiracle Corporations has a number of system services running in a distributed computer system which is a prime target for hackers. The system is basically a set ofNcomputer nodes with each of them running a set ofNservices. Note that, the set of services running on every node is sa 阅读全文
posted @ 2013-08-21 16:11 贾树丙 阅读(966) 评论(2) 推荐(0) 编辑
摘要: 胜利大逃亡(续)Problem DescriptionIgnatius再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方。刚开始Ignatius被关在(sx,sy)的位置,离开地牢的门在(ex,ey)的位置。Ignatius每分钟只能从一个坐标走到相邻四个坐标中的其中一个。魔王每t分钟回地牢视察一次,若发现Ignatius不在原位置便把他拎回去。经过若干次的尝试,Ignatius已画出整个地牢的地图。现在请你帮他计算能否再次成功逃亡。只要在魔王下次视察之前走到出口就算离 阅读全文
posted @ 2013-08-20 06:11 贾树丙 阅读(352) 评论(0) 推荐(0) 编辑
摘要: STL中map用法详解 说明:如果你具备一定的C++ template知识,即使你没有接触过STL,这个文章你也应该可能较轻易的看懂。本人水平有限,不当之处,望大家辅正。 一.Map概述 Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可 阅读全文
posted @ 2013-08-20 04:45 贾树丙 阅读(312) 评论(0) 推荐(0) 编辑
摘要: Bridging signalsDescription'Oh no, they've done it again', cries the chief designer at the Waferland chip factory. Once more the routing designers have screwed up completely, making the signals on the chip connecting the ports of two functional blocks cross each other all over the place. 阅读全文
posted @ 2013-08-17 22:13 贾树丙 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 头文件 函数简介 lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个大于等于value 的值。 阅读全文
posted @ 2013-08-17 21:41 贾树丙 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。不过经常还是用在DP题目中,因为DP题目是一个自下而上的扩展过程,我们常常用到是连续的解,前面的解往往舍弃!所以用滚动数组可以说是很有必要的。 滚动数组 举个简单的例子: int i, d[100]; d[0] = 1; d[1] = 1; f 阅读全文
posted @ 2013-08-17 17:31 贾树丙 阅读(782) 评论(0) 推荐(3) 编辑
摘要: 题目链接:http://poj.org/problem?id=1159题目大意:给定一串字符,添加最少的字符,使之成为回文串。Sample Input5Ab3bdSample Output2分析:这道题目之前有做过,就是将原字符串逆序得到另一个字符串,求它们的最长公共子序列,这样就能求得它的可以构成回文的最长字符数,用n减去即为添加最少可使之成为回文的数目。可恨的是之前一直超内存,看了别人的解题报告,原来定义dp[MAX][MAX]时,不用int型,而是short型,内存只占int的一半(见上一篇日志)另外逆序字符串可以不用新开一个数组,也可以直接在原数组上从后往前循环。代码如下: 1 # i 阅读全文
posted @ 2013-08-17 16:48 贾树丙 阅读(249) 评论(0) 推荐(0) 编辑
摘要: short和int等一样,是C或C++的一种内部数据类型。用于表示有符号整数。不同的是,他们在内存中所占的空间大小不同,short通常为int所占一半,也有一些实现为和int一样,但不会比int大。所占内存空间不同,那么可用表示的整数范围也就不同。至于具体能表示什么范围,这个问题是体系结构和编译环境 阅读全文
posted @ 2013-08-17 16:40 贾树丙 阅读(2660) 评论(0) 推荐(0) 编辑
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 39 下一页