摘要: 分析:这道题实在是不好想,一个可以骗分的想法是假定要求的那个点在中心点上,可以骗得不少分.但是在边上的点要怎么确定呢?理论复杂度O(﹢无穷).答案一定是和端点有关的,涉及到最大值最小,考虑二分最大值,关键就是怎么check.如果有一条边x,还有一个点y,把y到x上的点的距离>mid的点给标记上,这样 阅读全文
posted @ 2017-10-24 22:06 zbtrs 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 分析:对于第一个点,答案为26^n - 25^n,这个很好想.另外30%的点因为n <= 5,所以可以直接暴力搜索. 数学方法不是很好处理,考虑dp,设f[i][j]为前i位匹配到危险串第j位的方案数,枚举第i+1位上的字母k,f[i][j]可以转移到f[i+1][危险串中下一个k出现的位置],危险 阅读全文
posted @ 2017-10-24 20:39 zbtrs 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 分析:比较难的一道题,看到要求方案数,又是在一棵树上,自然就想起了树形dp.状态该怎么表示呢?首先肯定有一维状态表示以i为根的子树,考虑到i有没有匹配对答案也是有影响的,自然而然状态就出来了:f[i][0/1]表示以i为根的子树中,i取或不取的最大匹配.因为要求方案数,再开一个数组g[i][0/1] 阅读全文
posted @ 2017-10-24 18:49 zbtrs 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目更正:输出的a<b. 分析:这是一道数学题,范围这么大肯定是有规律的,打个表可以发现f(a,b)=k,a+b最小的a,b是斐波那契数列的第k+1项和k+2项.矩阵快速幂搞一搞就好了. 阅读全文
posted @ 2017-10-24 14:07 zbtrs 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置。 为了减少骗分的情况,接下来还要输出子串的前缀数组next。 (如果你不知道这是什么意思也不要问,去百度搜[kmp算法]学习一下就知道了。) 输入输出格式 输入格式: 第一行为一个字符串,即为s1(仅包含 阅读全文
posted @ 2017-10-24 11:40 zbtrs 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 分析:体积最大的比较好处理,对于第(i,j)格的高度取min(a[i],b[j])就好了,保证让每个格子的高度最大.对于最小的情况,只要让第i列上有一个格子高度为a[i],其它全是0,第j行有一个高度为b[j],其它全是0就好了.如果a,b中有相同的元素,那么它们可以共用一个格子,因为最后每个高度都 阅读全文
posted @ 2017-10-24 09:43 zbtrs 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 3 分析:约瑟夫环问题,可以用链表模拟做,也可以套用公式,比较水. 阅读全文
posted @ 2017-10-24 08:35 zbtrs 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 分析:纯数学题.相离和包含关系的可以很容易算出来答案,相交的话要先求出两个圆的面积,然后减掉中间重叠的部分,这一部分并不能直接求出来,但是可以求出两个扇形的面积,和它们围成的一个四边形的面积,加加减减就出来了.利用到了acos函数,返回来的是弧度制! 阅读全文
posted @ 2017-10-24 08:30 zbtrs 阅读(139) 评论(0) 推荐(0) 编辑