上一页 1 ··· 14 15 16 17 18
摘要: 这个题目虽然在比赛的时候苦思无果,但是赛后再做就真的是个水题,赤果果的水题。题目的意思是给n个数构成的环,两只兔子从任一点开始分别顺逆时针跳,每次可以调到任意一个数(最多不会跳过一圈)。求最多能跳多少步。这个题目是个dp,两个不同的方向开始跳跃,而且跳过的数字相同,那么就是要你求回文子串啦,可以这样考虑,用dp的方法求出从一个位置到另一个位置的最长回文子串的长度,这样等于把【1-n】个数分成两个区间【1-x】和【x+1,n】, 而答案就是两个区间最长回文串之和。(仔细理解这里,这是关键)。后面的就不多说了,dp也没什么好写的了。直接上代码:#include #include #inclu... 阅读全文
posted @ 2013-09-17 10:59 092000 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 今天做的比赛,和队友都有轻微被虐的赶脚。诶,我做的题就是这个题目了。题目描述就是对于一个十进制数数位上的每一位当做一个二进制位来求出这个数,这个定义为G(x)。题目给定你A和B,求在0-B范围内有多少个数x满足G(x)#include #define ll long long#define maxn 10000using namespace std;ll a[64],b[64],c[64],A,B,t,na,nb,f[15][maxn],ans,sum[15][maxn],cas=0;int main(){ for (ll i=0; i>t; while (t--) { ... 阅读全文
posted @ 2013-09-14 22:06 092000 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 题目的意思是给你两个数字(多达10^6位)做加法,但是有一点,没有进位(进位不算,相当于这一位相加后对10取模)你可以任意排列两个数字中的每一位,但是不能是0开头。现在题目要求以这种不进位的算法计算得到的最大值是多少?看完题目就会知道,这个题目一定不是dp,或者说根本不是什么高端的算法,那是什么呢?对,你没有猜错——贪心。为什么可以用贪心呢?我们比较一个数,都是从高位的先比较,所以只要高位的大,这个数就大;于是我们要得到最大的和,就要先统计能够构成多少个9,多少个8……(有大的就先构成大的!)。但是考虑到首位不能是0这个特殊条件,我们需要对首位进行精心的选择。怎么选?首先看能够用两位废0数构成 阅读全文
posted @ 2013-09-12 00:05 092000 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 今天比赛做得一个数位dp。首先声明这个题目在数位dp中间绝对是赤裸裸的水题。毫无技巧可言。题目的意思是个你a和b,要求出在a和b中间有多少个数满足数位上各个数字的和为10的倍数。显然定义一个二维数组f,f[i][j]表示i位任意的数组合所有数位对10取模后余数为j的种类。这样直接枚举1-10就可以得出i和i+1的递推关系了呢。简单了吧。在求答案的时候不是直接求的,用的是数位dp最最经典的答案求法: 那就是定义一个count(x)函数表示不大于x满足的个数,这样,所求的答案就等于count(b)-count(a)了下面的问题就是如何求得count这个函数值了。首先我们把数x进行分解,用数组中的. 阅读全文
posted @ 2013-09-11 23:47 092000 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 今天比赛的时候做的一个题目。感觉这个题目不错。题目描述:DescriptionIn a laboratory, an assistant, Nathan Wada, is measuring weight differences between sample pieces pair by pair. He is using a balance because it can more precisely measure the weight difference between two samples than a spring scale when the samples have nearl 阅读全文
posted @ 2013-09-07 20:04 092000 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 这个题目初看上去是一个排列组合题,而实际上……也是一个排列组合题。题目描述是:DescriptionThe Stirling number of the second kind S(n, m) stands for the number of ways to partition a set of n things into m nonempty subsets. For example, there are seven ways to split a four-element set into two parts:{1, 2, 3} U {4}, {1, 2, 4} U {3}, {1, 3, 阅读全文
posted @ 2013-09-07 09:53 092000 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 今天做到的一个题目,题目的解法依据Lucas定理。题目描述:DescriptionFigure1showstheYangHuiTriangle.Wenumbertherowfromtoptobottom0,1,2,…andthecolumnfromlefttoright0,1,2,….IfusingC(n,k)representsthenumberofrown,columnk.TheYangHuiTrianglehasaregularpatternasfollows.C(n,0)=C(n,n)=1(n≥0)C(n,k)=C(n-1,k-1)+C(n-1,k)(0#include#include 阅读全文
posted @ 2013-09-07 09:15 092000 阅读(560) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18