大白书

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大白书相关的知识,希望对你有一定的参考价值。

UVA 11292 (简单贪心)

题意:

  n条恶龙,m个勇士,用勇士来杀恶龙。一个勇士只能杀一个恶龙。而且勇士只能杀直径不超过自己能力值的恶龙。每个勇士需要支付能力值一样的金币。问杀掉所有恶龙需要的最少金币。

思路:

  贪心,均从小到大排序。为每一条龙找一个恰好能杀他的骑士。简单贪心。

 

UVA 11729 (经典贪心问题)

题意:

  n个任务,需要交代B分钟,执行J分钟,让你合理选择交代任务的次序,求得n个任务完成的最小总时长。

思路:

  经典贪心,通过比较俩俩的关系,得到整个序列的贪心排序方法。这个不明白可以问啊,虽然寒假讲过0 0.贪心套路。需要稍微理解一下sort函数

 

UVA 11300 (数学题)

题意:

  n个人围成一圈,每个人都有一些硬币,,每个人只能给左右相邻的人硬币,问最少交换几个硬币,使每个人硬币一样多;

思路:

  大白书上的例题我就不写题解了吧,不懂群里问,我给你po照片。

 

 

UVA 10881 (思维题)

题意:

  有很多只蚂蚁在一条直线上,每个蚂蚁移动速度都是1,并且有一个初始方向。并且当相邻两个蚂蚁相撞时转向。现在问t时间后各个蚂蚁的位置,及状态。

思路:

  需要理解:因为两只蚂蚁碰撞以后一起回头,所以结束以后和发生以前的蚂蚁之间的相对顺序是不变的。

 

UVA 11464(经典翻转问题)

题意:
        给你一个 n * n 的 01 矩阵,现在你的任务是将这个矩阵中尽量少的 0 转化为 1 ,使得每个数的上下左右四个相邻的数加起来是偶数。求最少的转化个数。n <= 15.

思路:

  经典的翻转问题。枚举第一行的状态,2^15。递推即可。

 

UVA 11384 (思维/分治思想+递归)

题意:
        用最少的操作数使得所有数字都变成0。操作:选择所有或者几个整数同时减去一个正整数。1<=N<=1000000000。

思路:
        就是看一下...你能/2几次呗,因为每次规模为n的问题可看做是两个n/2规模的问题做一次相同操作。递归即可。

 

UVA 10795 (思维+递归)

题意:

  汉诺塔问题。有n个盘子,放在3个盘子上,给你一个初始状态和一个结束状态,问你从初始状态转移到结束状态的最小步数。

思路:

 

UVA 11520 (搜索+贪心)

题意:
        给你一个n*n的格子,有些里面有大写字母,用大写字母填满格子,相邻的格子中字母不相同,并且使得从上到下,从左到右的字母字典序最小。n<=15。
思路:
        先肯定一定有解,然后贪心着暴力枚举,就可以了。

 

 

 

UVA 11636 (水贪心?)

题意:

  经过复制/粘贴可以变成原来的两倍,求最小复制/粘贴次数。

 

 

 

 

UVA 11039(贪心)

题意:

  n个绝对值各不相同的非0整数,选出尽量多的数,排成一个序列,使得正负号交替且绝对值递增。

思路:

  按绝对值排序,然后间次输出正负数即可。

 

 

UVA 10970(思维)

题意:

  给你一块M*N的巧克力,问把它切成最小单元需要最少切几刀,分开的就不能一起切了。

思路:

  每次下刀,只能多增加一块,一共需要切成m*n块,所以显然答案。

 

UVA  10340(经典问题)

题意:

  从字符串s中删除一些字符,能否得到字符串t。

 

 

UVA 10382 (经典贪心问题)

题意:

 

思路:

  洒水器洒水区域是圆形,草地是矩形,勾股定理求出洒水器所撒横向范围然后贪心就好了。也就是把圆这种二维的模型,降到线段上,成为一维的模型。当我们一开始选择了一个右端点最靠右的,左端点能满足左边界的洒水器的时候,我们会得到右端点R。那么接下来就是在洒水器中找,左端点<=R的,最远的右边界,然后选定这个洒水器。同理贪心贪下去就行了。

 

UVA 10905 (经典贪心问题)

题意:

  给你n个数字,让你用这n个数组组成一个最大的数字并输出来。

思路:

  两两比较排序。经典贪心方式。

 

UVA 11627 ()

 

UVA 11134 (经典上下界贪心)

题意:

  在一个n*n(1<=n<=5000)的棋盘上放置n个车,每个车都只能在给定的一个矩形里放置,使其n个车两两不在同一行和同一列,判断并给出解决方案。 

思路:    

  首先我们思考一个简单的问题,如果把题目里的二维的改成一维的,你会不会做,就是有一行,让你放,每个车可以放一个区间[li,ri],问你能不能找到一种方案,使得每个车不在同一个格子里。    

  针对这个问题是不是,这样贪心:枚举每个格子,记为i,那么是不是所有满足左端点li <= i的里头,挑一个右端点尽可能小的来放在这一个格子里面?,因为右端点越大,它后面可能可以放的格子越多,越小,可放的格子越小,所以我们这样贪心的来放。    

  如果上一个一维的问题会做了,我们再来想,其实长和宽这两个维度是无关的对不对,比如说我们解决了长这个方向上的摆放,那么对于第i个棋子我们知道他放的列是第k列好了。此时它仍然能选择它自己矩形中的任意一行,对于解决宽这一维度是没有任何影响的,也就是两个维度是相互独立的。

  转换!这个问题可以分解成x方向上的问题,和相似的y方向上的问题。然后这个问题就解决了。

 

UVA 11100 (water)

思路:

  大白书上题意有误,看懂题意以后水题。

 

UVA 11389 (water)

思路:

  水题。

 

uva 10825

 

 

uva 10639

 

以上是关于大白书的主要内容,如果未能解决你的问题,请参考以下文章

大白书

wenbao与数论(大白书)

大白书第一章

大白鱼备考云笔记冲刺周期第一天

大白话讲述分布式系统中的CAP理论

CardView 不在披萨片段中显示图片