题目链接:uva 616 - Coconuts, Revisited
题目大意:题目背景和uva 10726是一样的,只是这道题目是给出n,表示椰子的个数,并且猴子的个数为1,问说是否能找到满足的人数,并且要求人数尽量大。
解题思路:枚举人数,然后根据uva 10726推出的公式去求出最后剩下的椰子是否满足平分等判断。
#include
#include
#inc...
分类:
其他好文 时间:
2014-07-22 23:05:55
阅读次数:
320
题目链接:1484 - Alice and Bob's Trip
题意:BOB和ALICE这对狗男女在一颗树上走,BOB先走,BOB要尽量使得总路径权和大,ALICE要小,但是有个条件,就是路径权值总和必须在[L,R]之间,求最终这条路径的权值。
思路:树形dp,dp[u]表示在u结点的权值,往下dfs的时候顺带记录下到根节点的权值总和,然后如果dp[v] + w + sum 在[l,r]内,...
分类:
其他好文 时间:
2014-07-22 23:05:33
阅读次数:
486
题目链接:10981 - String Morphing
题意:给定开始的字符串,要求根据表格变化成一个字符串,问变化的顺序(注意,不一定要最少步数)
思路:记忆化搜索,用map来存字符串的状态,一开始按最少步数去做TLE,其实只要找到一个符合的就可以了
代码:
#include
#include
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-07-22 23:03:54
阅读次数:
293
题目链接:uva 278 - Chess
题目大意:给出一个n*m的棋盘,并且给出棋子的种类,问说在这个大小的棋盘上最多能放几个给定的棋子,棋子之间不能互相攻击。
解题思路:总共有4种棋子,那么就分类讨论。
马(骑士):
n或m为1的时候,肯定可以摆满,因为肯定不能互相攻击
n或者m为2时,这样放是最优的。
其他情况的或就是间隔放最优。
车:因为车的攻...
分类:
其他好文 时间:
2014-07-22 23:03:52
阅读次数:
290
题意:给你一个正方形棋盘。每个棋子可以直线攻击,除非隔着石头。现在要求所有棋子都不互相攻击,问最多可以放多少个棋子。这个题可以用搜索来做。每个棋子考虑放与不放两种情况,然后再判断是否能互相攻击来剪枝。最后取可以放置的最大值。这里我转化成求最大独立集来做。首先将每个空地编号,对于每个空地,与该位置可以...
分类:
Web程序 时间:
2014-05-01 22:33:24
阅读次数:
471
英文太差了, 这个题目愣是半天没看懂 , 后面看别人翻译才看懂 , 英语是硬伤啊
题目大意:给 n 对夫妇安排座位 , 0h , 0w表示新郎新娘 , 新娘只能看到坐在她对面那一排的人 , 要求:
1、同一对新郎新娘不能做在同一侧
2、有m对人互为通奸(可以男男、女女、男女) , 新娘不能同时看到互为通奸的两个人。
注意:新郎也有可能和其他人通奸
做法:...
分类:
其他好文 时间:
2014-05-01 21:55:45
阅读次数:
447
题目链接:12105 - Bigger is Better
题意:一些火柴,问你能组成整除m最大的数字是多少。
思路:dp[i][j]表示用i根火柴,组成%m余数为j的最大数字,末尾多一个数字k的状态就是dp[i + num[k]][(j * 10 + k) % m],由于最多可能50位数,所以要用高精度。
注意一个优化点,由于高精度的计算上只需要乘10+k,常规的高精度乘法复杂度还是有点高...
分类:
其他好文 时间:
2014-05-01 18:22:36
阅读次数:
350
题目链接:uva 11314 - Hardly Hard
题目大意:给出A,B两点,然后分别在y轴和x轴找一个D点和C点,使得A,B,C和D组成的四边形的周长最小。
解题思路:两点之间直线最短,将A'为A关于y轴的对称点,B'为B关于x轴的对称点,连接A‘B'即为另外三条边的最短距离,然后AB的距离又是固定的。
#include
#include
#inc...
分类:
其他好文 时间:
2014-05-01 18:16:46
阅读次数:
320
题目链接:11806 - Cheerleaders
题意:在一个棋盘上,要求四周的四行必须有旗子,问有几种摆法。
思路:直接算很容易乱掉,利用容斥原理,可知AUBUCUD = |A| + |B| + |C| + |D| - |AB| - |BC| - |AC| - |AD| - |BD| - |CD| + |ABC| + |ABD| + |ACD| + |BCD| - |ABCD|
由此利用...
分类:
其他好文 时间:
2014-05-01 18:00:13
阅读次数:
380
题目链接:11401 - Triangle Counting
题意:有1,2,3....n的边,求最多能组成的三角形个数。
思路:利用三角形不等式,设最大边为x,那么y + z > x 得 x - y
然后y取取值,可以从1取到x - 1,y为n时候,有n - 1个解,那么总和为0 + 1 + 2 +...+ (x - 2) = (x - 1) * ( x- 2) / 2;
然后扣除掉重...
分类:
其他好文 时间:
2014-05-01 17:16:56
阅读次数:
284