宁波工程学院校赛解题报告

        这场比赛都不是很难,都是些水题和偏基础的算法,但是有很多Trick,比赛偏简单,不写比赛过程,只写各题解题思路。

        A题  人操作木偶,木偶操作木偶,人操作的那个木偶层次为1,那个木偶再操作另一个木偶,另一个木偶层次为2,以此类推。解题方法为先建图,然后搜索,保存答案,最后 对答案进行排序。

        B题  去掉最高分,去掉最低分,再算平均分。

        C题  一个n*m的矩阵,要从(1,1)走到(n,m),只能往右上,不能倒退,常规的走法要走每个格子的两边,但是有K个特殊的房间,可以横穿。最早白翔想的是贪心,之前没找到反例,这题就卡住了。后来我找到反例,推翻了贪心的做法。其实一想只能往上,无后效性,对k个房间的x进行排序,对y找严格的最长递增子序列。最后计算即可

        D题  非常规模拟题,考察的是对输入流的理解。给一组数据:a-a-\na-a-,输出的是SAME和SIMILAR,因为\n算后一个串的第一个字符,这也是一个Trick吧。

        E题  计算成绩,再进行三级排序,用sort一句话搞定。

        F题  全排列,由于排序完的数组是递增的,排列完的组合肯定也是相等或者递增,那么怎么把相等的去掉呢?可以让每个数乘以一个数,这样每个组合对应一个和,只有后 面一个组合的和大于前一个才算合法。我选的是16^8,16^7,16^6....1。

        G题  计算几何+Hash表,由于N、M、T <= 100,全暴力的话枚举每个点最少需要几把刀子,算需要几把刀子的复杂度是O(T^2),无疑会超时.而T^2是没必要的,因为这个枚举是把一条线上上的点算到一起算做一把刀子能射到,其实可以用O(N)的复杂度把这些点映射到某个地方,然后在O(N)来计算一共用过几个地方。具体实现见代码。

        H题  很裸的成段更新线段树,如果你没做过线段树去看下我的前几篇文章,然后再看这题就容易了。

        I题   算每个点周围有几个相机拍摄点,这不是很简单的,直接枚举每个点,然后判断周围有几个就好。题目实在恶心,n和m和平时的不一样,这题n是指列数,所以一直WA.           

        比赛如此简单,本来可以AK的比赛只做4道题,海,可悲可叹。

        以后碰到这些水题,应该先找到性质,再想Trick,最后敲代码,这样快准狠。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值