Codeforces Beta Round #65 (Div. 2)

        这场CF做了几天,主要是D题没看太清楚题(我以为王不在我选的矩阵中就不需要别的牌替代它),一直WA。。。      

      A题输入一个字符串,如果字符串长度大于10,则输出第一个字符,中间字符的个数,最后一个字符,否则输出原串。。。

      B题就是求一数组a[n],要求满足下式的同时满足a的前几项都是k,接着至多一项1至k的数,后面全是0.每次输入n,k,t,输出数组a.                                                      

      

        

     这题先算出k的项数,然后枚举那后面的一项1-k的数,使它满足上式即可。

  

      C题看了好久才看懂题意(看懂题意前试错了N次,bs下自己)。n个骑士围着圆桌吃饭(若将相邻的点连起来,将是正n边形),有些骑士脾气好,有些骑士脾气不好,问你是否存在一个m(>=3),使得能从圆桌中找出m个脾气好的骑士并且构成正m边形。输出YES or NO。

      先枚举m的大小,然后再枚举第一个骑士的位置,然后不断判断选出的正m边形的顶点是否都坐着脾气好的骑士。

      做完后,lc说这题数据不强,如果数据强可能超时。我仔细看了下,第一个for循环是找出n的约数m,第二个循环是枚举起始位置,第三个循环是判断每一个具体位置的骑士的脾气,第二个循环与第三个循环合起来就是n了(对于每一个m,所有的情况加起来就是将每一个骑士都判了一遍),现在主要就是n的约数的个数了,数据范围是n<=10^5,它的约数个数最多是128(我估计是128,没想到用程序一算还真是128).所以时间复杂度在10^7方,应该没问题。

      D题题意:现在有一副牌(54张,其中有一张大王,一张小王),已经选出了n*m张,排成了一个n*m的矩形,如果存在大王或小王,则可以从剩余的牌中任意选牌替换掉它们。给出一个m*n的矩阵,问是否存在两个不相交3*3的矩阵,每个矩阵要么同一花色,要么所有的牌的数字都不一样。。。这题开始我把题意理解错了,我以为只有王在我选的矩阵中才要替换,其实是先替换再管存不存在,以至WA了太久太久都找不到错,最后看到测试用例才发现错误。 

      E题问是否能用给出的n个原子合成k个原子。实质就是用n个数组合成另外k个数。这题我以为用搜索是一直会TLE的,没想到根据测试用例将程序改过了(这太无耻了)。

 

 

         这题应该是数据不强,用深搜应该会超时的。我看到有人用dp做,什么时候学习下,orz...http://www.cppblog.com/coreBugZJ/archive/2011/03/31/143150.aspx

       这似乎是我做的第一场完整的CF并写了解题报告,自我鼓励一下。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值