acm题解
文章平均质量分 71
张少锋的博客
Newer
展开
-
小白题解 Codeforces 794B Cutting Carrot
Codeforces 794B Cutting Carrot 题解:(水题)题目链接:点击打开链接题目大意:给定一个三角形,底始终为1,高h,用平行于底边的线将它分成面积相等的n份,分别求第i份的底边到大三角形定点的距离。分析:设第i份对应高为Y,由每份面积相等可以写出递推式:Yi^2 * k-Y(i-1)^2 * k=Y1^2 * k,进一步可以求出通项公式为Yi=pow(i*h^2/n , 0.5)。好啦,下面就是AC代码了。原创 2017-05-13 20:04:25 · 744 阅读 · 0 评论 -
小白题解 Codeforces 266A Stones on the Table
小白题解 Codeforces 266A Stones on the Table(LIS问题经典变形)题目链接:点击打开链接题目大意:给定一排只有三种颜色的n个石头,要求移除掉尽可能少的石头使两两相邻的石头颜色都不同。分析:这道题目可以从移除以后的结果进行分析,不难想象,最优解一定是原来排列的“最长不同子序列”。则可以用LIS模板进行编码。另外由于n只有50,则用最朴素的O(n*n)算法即可。好啦,下面是AC代码(另附上该种算法的LIS模板一份)。原创 2017-05-17 19:28:12 · 381 阅读 · 0 评论 -
小白题解 Codeforces 798B Mike and strings
Codeforces 798B Mike and strings 题解(模拟题,暴力求解) 题目链接:点击打开链接题目大意:给出一组长度相同的字符串,每次操作可以将一个字符串的首元素放到末尾,要使各字符串完全一致,需要多少次操作。分析:以第一个字符串顺序为依照,依次枚举最终字符串以s[0][i]开头的情况,对每种情况去分别计算每个字符串需要的操作数并求和,最终再找到cnt[i]最小值即为答案。复杂度是n^4,可过。下面是AC代码(用来好长时间debug)原创 2017-05-14 23:50:26 · 605 阅读 · 0 评论 -
小白题解 Codeforces 807B T-Shirt Hunt
Codeforces 807B T-Shirt Hunt 题解(暴力枚举)题目链接:点击打开链接题目大意:给定p,x,y。对于curx(实际得分)按照一定的运算生成i,如果i+26==p且curx>=y则视为满足条件。分析:由于数据范围很小且保证一定有解,那么直接暴力求解即可。下面是AC代码原创 2017-05-14 20:56:27 · 490 阅读 · 0 评论 -
小白题解 Codeforces 798A Mike and palindrome
Codeforces 798A Mike and palindrome 题解(水题)题目链接:点击打开链接题目大意:给定一个字符串,判断能否改且仅改变一个字母使之成为回文串。分析:只需要对该字符串统计对称位置上的字母不相同的个数x,如果x==1,则YES;如果x!=1,看字符串的长度是否为奇数且x=0,如果成立则YES,否则NO!下面是AC代码原创 2017-05-14 21:37:29 · 421 阅读 · 0 评论 -
小白题解 Codeforces 807A Is it rated?
Codeforces 807A Is it rated? 题解(水题)题目链接:点击打开链接题目大意:给出n个人的赛前赛后的分数,然后判断这场比赛rated or unrated。题目说明了判断依据,样例非常友好,分别是代表了三种情况。下面是AC代码原创 2017-05-14 19:38:10 · 590 阅读 · 0 评论 -
小白题解 Codeforces 805B 3-palindrome
Codeforces 805B 3-palindrome 题解:题目链接:点击打开链接题目大意:给定一个数n,要求输出不含长度为3的回文子列的字符串,只能使用a,b,c,且要尽可能少使用c。分析:对于一个长度为3的子列,它是否是回文子列只需看两边的字母是否相同即可,所以只需保证字符串中间隔为1的元素不相同即可。由此可以构造出我们的字符串:第一种:以aabb为循环节,如aabbaabbaabbaab...第二种:以abba为循环节,如abbaabbaabbaab...(当然这两种字符串中可以把a和b相应原创 2017-05-13 22:29:03 · 334 阅读 · 0 评论 -
小白题解 Codeforces 805A Fake NP
Codeforces 805A Fake NP题解(水题)题目链接:点击打开链接题目大意:给出两个整数l和r,写出l和r之间的整数(包括l和r)的所有因数,输出出现次数最多的因数,如果多个满足条件,输出任意一个。分析:不难看出,只要l和r不相等,2一定可以作为答案。另外,注意到输入数据l和r是可能相等的,这种情况下只需输出l(r)作为答案即可。下面是AC代码。原创 2017-05-13 21:42:54 · 159 阅读 · 0 评论 -
HDU 2203 亲和串 小白题解(字符串查找)
HDU 2203 亲和串 小白题解(字符串查找)题目分析:这道题目首先要理解字符串的循环移位是什么意思,我们假定s1为abcdefg,那么这个字符串循环左移1位的结果就是bcdefga(将每个字母左移1位,a这个字母到最后的位置),右移3位的结果就是defgabc,以此类推。下一步,题目要求用循环移位的方式变换s1,我们仍然假设s1为abcdefg,那么循环移位的结果是bcdefga,cdefgab,defgabc,efgabcd,fgabcde,gabcdef,abcdefg。我们将s1重复连接,得到s原创 2017-05-26 22:01:10 · 372 阅读 · 0 评论 -
小白题解 Codeforces 785B Anton and Classes
小白题解 Codeforces 785B Anton and Classes(贪心思想经典水题)题目链接:点击打开链接题目大意:给出chess的n个上课时间段,给出process的m个上课时间段,要求中间能够休息的最长时间间隔。如果中间没有时间间隔,输出0。分析:上课方式无非两种:先上chess后上process,那么由贪心思想,去找process的最晚开始时间(记为pl)和chess的最早结束时间(记为cr),这时的时间间隔为:pl-cr。同理,先上process后上chess,那么由贪心思想,去原创 2017-05-16 16:45:08 · 329 阅读 · 0 评论 -
小白题解 Codeforces 785A
小白题解 Codeforces 785A(水题)题目链接:点击打开链接题目大意:给定4种几何体,知道每一种几何体的面数,现给出n个这四种几何体,问一共有多少面。分析:读取每一个几何体,根据名称的首字母判定是哪种几何体,加上对应几何体的面数即可。下面是AC代码原创 2017-05-16 16:13:33 · 294 阅读 · 0 评论 -
小白题解 Codeforces 804A Find Amir
小白题解 Codeforces 804A Find Amir(水题)题目链接:点击打开链接题目大意:给定编号为1到n的点,一个人从一点出发走完这n个点,每段的花费为(i+j)mod(n+1),求最小花费分析:由于花费是要(i+j)mod(n+1),则尽可能使每段路程的i+j都接近n+1,通过样例中n=10的情况,不难发现解法。从1到n,花费为0;从n走到2,花费为1;从2到n-1,花费为0;从n-1到3,花费为1;从3到n-2...这样循环往复,每次向右走花费为零,向左走花费为1。据此不难写出通项公原创 2017-05-16 15:25:21 · 405 阅读 · 0 评论 -
小白题解 Codeforces 794A Bank Robbery
Codeforces 794A Bank Robbery题解:(大水题)题目链接:点击打开链接题目大意:给定一维坐标轴,有两个点b,c有人看守,一个人在b,c之间的某个点a,然后给出n个银行位置,问这个人最多可以抢劫多少银行。分析:由于数据保证b<a<c,所以实际上a点并没什么用;然后只需扫一下这n个点,看有多少个点在b,c之间即可(并不需要排序),O(n)复杂度直接解。下面是AC代码。原创 2017-05-13 19:50:44 · 136 阅读 · 0 评论 -
小白题解 Codeforces 1A Theatre Square
小白题解 Codeforces 1A Theatre Square(水题)题目链接:点击打开链接题目大意:给出一个n*m的矩形,用边长为a的正方形去覆盖它,问要完全覆盖需要多少个正方形(不能斜着放)。分析:不说什么了,注意用64位整数即可,虽然n,m,a都是int,但结果数据会需要64位整数。下面是AC代码。原创 2017-05-17 21:40:11 · 457 阅读 · 0 评论