题目//传说中的记忆化搜索,好吧,就是用深搜//多做题吧,,这个解法是搜来的,蛮好理解的//题目大意:给出两堆牌,只能从最上和最下取,然后两个人轮流取,都按照自己最优的策略,//问说第一个人对多的分值。//解题思路:记忆化搜索,状态出来就非常水,dp[fl][fr][sl][sr][flag],//...
分类:
其他好文 时间:
2014-07-01 12:55:43
阅读次数:
254
题目连接:uva 766 - Sum of powers
题目大意:将Sk(n)=∑i=1nik化简成Sk(n)=ak+1nk+1+aknk+?+a0M
解题思路:
已知幂k,并且有(n+1)k=C(kk)nk+C(k?1k)nk?1+?+C(0k)n0结论。
所以令 (n+1)k+1?nk+1=C(kk+1)nk+C(k?1k+1)nk?1+?+C(0k+1)n0
nk...
分类:
其他好文 时间:
2014-07-01 09:05:15
阅读次数:
261
题目连接:uva 11885 - Number
of Battlefields
题目大意:给出周长p,问多少种形状的周长为p的,并且该图形的最小包围矩阵的周长也是p,不包括矩形。
解题思路:矩阵快速幂,如果包含矩形的话,对应的则是斐波那契数列的偶数项,所以对应减去矩形的个数即可。
#include
#include
typedef long long ll;
const l...
分类:
其他好文 时间:
2014-07-01 06:21:33
阅读次数:
226
题目连接:Codeforces 442B Kolya and Tandem Repeat
题目大意:给出一个字符串,可以再添加n个字符,问说可以找到SS的子串形式,S尽量长。
解题思路:枚举长度和起点判断即可,超过len的可以作为任意值,但是超过len+n就不行了。
#include
#include
const int N = 205;
int n, len;
char s...
分类:
其他好文 时间:
2014-06-30 20:21:48
阅读次数:
220
题目链接:uva 1425 - Metal
题目大意:现在要用如图机器对一块钢板进行切割,给出切割路线经过的若干个点,问可以切割成多少种不同的形状,注意切割下的为一整块。
解题思路:
由图可以得知,两条切割线是不可以相交的由题目描述可知,所有点的x坐标是不会重复的机器不会回退,也就是说钢板是朝一个方向移动的,这样的切割路线是不会产生的
所以我们定义两条切割线分别为上...
分类:
其他好文 时间:
2014-06-30 17:43:43
阅读次数:
185
题目链接:Codeforces 443A Borya and Hanabi
题目大意:有若干个牌,每张牌有花色和数字两个值,现在问说至少询问多少次才能区分出所有的牌,每次询问可以确定一种花色牌的位置,或者是一种数字牌的位置。
解题思路:暴力枚举需要问的花色和数字,210,然后枚举两两判断是否可以被区分。
#include
#include
#include
using nam...
分类:
其他好文 时间:
2014-06-30 17:37:33
阅读次数:
188
题目连接:Codeforces 442C Artem and Array
题目大意:给出一个数组,每次删除一个数,删除一个数的得分为两边数的最小值,如果左右有一边不存在则算作0分。问最大得分是多少。
解题思路:首先将连续的a,b,c,a > b && c > b的情况将c掉,获得min(a,b)分,这样处理后数组变成一个递増再递减的序列,除了最大和第二大的取不到,其他数字均可以得分。
...
分类:
其他好文 时间:
2014-06-30 17:00:31
阅读次数:
222
题目链接:Codeforces 442B Andrey and Problem
题目大意:Andrey有一个问题,想要朋友们为自己出一道题,现在他有n个朋友,每个朋友想出题目的概率为pi,但是他可以同时向多个人寻求帮助,不过他只能要一道题,也就是如果他向两个人寻求帮助,如果两个人都成功出题,也是不可以的。
解题思路:贪心,从概率最大的人开始考虑,如果询问他使得概率变大,则要询问。
#...
分类:
其他好文 时间:
2014-06-30 16:36:58
阅读次数:
252
题目链接:uva 1436 - Counting heaps
题目大意:给出一个树的形状,现在为这棵树标号,保证根节点的标号值比子节点的标号值大,问有多少种标号树。
解题思路:和村名排队的思路是一只的uva11174,最后问题只和树德结构有直接关系,f(root)=(s(root)?1)!(s(1)?s(2)???s(n)
但是给定的取模数不是质数,所以不能用逆元做,只能将分子分...
分类:
其他好文 时间:
2014-06-30 09:17:52
阅读次数:
272
题目链接:uva 10623 - Thinking Backward
题目大意:就是给出N,表示要将平面分解成N份,问有哪些可选则的方案,m表示椭圆、n表示圆形、p表示三角形的个数,m、n、p分别给定范围。
解题思路:本来这题一点思路都没有,但是在论坛上看到一个公式N=2+2m(m?1)+n(n?1)+4mn+3p(p?1)+6mp+6np
这样只要枚举m和p,求解n,判断n...
分类:
其他好文 时间:
2014-06-30 08:56:14
阅读次数:
186