zoukankan      html  css  js  c++  java
  • [tour]2019HUST onsite签到

    先定一个小目标,从签到题开始讲清楚

    虽然因为我喜欢签到题的气球导致签到题并没有行使责任。。

      F.Mesh  和某CF题(我找不到了)完 全 一 致,由于某些玄学原因没有get到(orz谢罪)

        给出一个6*6的表格,给出一串由0123组成的数列,每个数字代表不同大小(1*3,2*3,3*1,3*2)的多米诺牌,不得旋转地放入表格中,排满一行/列就会自动消除,只要把所有的牌都放入就赢了,询问如何才能赢。

        可以发现两块相同的放在一起就会直接消除,也就是考虑如何固定地放入第一块,在放入第二块之后直接清除,并且第一块不互相影响;

        又可以发现,后两块就是前两块旋转九十度,也就是放的位置也旋转九十度就可以了,如果前两块的位置找到了的话;

        那么来寻找前两块应该放在哪里。要两块相同的才能消除,所以我们可以把第一第二块摞起来看(叠起来看),好吧显然顶着最上面一行或者最下面一行,因为放中间的话就没法放第三第四块了(比如上面空出两行放不下第三第四块,右边(假设12靠左)放下第三/四之后就无法放第一/二的第二块)

        于是前两块顶格之后,对角线区域放三四块就可以了。

        实现就是用8个数组4对xy存下各种牌第一第二块的坐标,然后数放的第几块再mod2,输出对应坐标,签到完毕。(全场似乎只有三个队签到?

      J.Mex  排序求和

        给出n个数,其子集(包括空集)的元素求和,输出最小不能组成的数。

        因为包含空集所以从零开始,然后就要从1开始,这条东西可以否决掉2,3,5的疑问(可能只有我有这种疑问吧)

        将输入的数从小到大排序后,依次相加,因为小数组成大数,所以只要能获得下一个数的上一个小数就可以一直构成下去

        然后我就提出了235问题。

    话说WHU的onsite也没补还有各种网赛训练(血

    可能真的应该少补水题(可是水题我也切不掉啊

  • 相关阅读:
    【转】linux root用户ifconfig报command not found
    xp系统word2007升级到2010.若失败,可向以下几个方向考虑
    ORACLE 检查数据库表中是否存在不规范字 段的语句参考.sql
    oracle关于分区相关操作
    表大小查看
    【收藏】表分区
    【收藏】Linux下tomcat内存配置
    oracle分页
    首测!阿里云盘终于来了,扫码获取邀请码
    MYSQL 删除表中重复数据
  • 原文地址:https://www.cnblogs.com/non-/p/10747198.html
Copyright © 2011-2022 走看看