• 7.1总结


    7.1总结

    比赛链接

    得分情况

    比赛的时候和zsh讲话被xc抓了,罚站30min,zsh换了位置

    估分:100+100+30=230

    实际:100+92+98=290

    Rank 4

    ???

    第三题$n^2$50000有98分??

    第二题少了8分?

    又是一套欺诈题

    T1

    一眼逆序对,没了。

    差点忘开long long

    T2

    被c++的奇妙函数坑了。

    错误的上取整方法:

    x=ceil(x)
    
    double up(double s)
    {
    	if (floor(s)==s) return s;
    	else return (floor(s)+1);
    }
    

    正确的上取整方法:

    double up(double s)
    {
    	long long ss=(long long)(s*1000000);
    	if (ss%1000000==0) return s;
    	else return (floor(s)+1);
    }
    

    T3

    奇妙数据

    (n^2)dp做法显然,水了98分

    正解

    正解在比赛的时候没想到

    居然是二分答案之后再dp。

    比赛的时候觉得二分之后不能贪心,就以为二分是错的,结果被打脸了。

    先二分出一个mid表示最长空格的长度小于等于mid

    设f[i]=0/1表示以i结尾可不可行

    这样我们只用找可行解,不用找最优解,大大降低了难度。

    f[i]由f[j]转移过来的条件有:

    1. sum[i]-sum[j]+i-j-1<=w

    2. sum[i]-sum[j]+mid(i-j-1)>=w

    那我们就可以用队列来做,队列里存能更新i的决策点,记录队列里的决策点有多少个1就好了。

    T4

    比完赛新加的题目,刚开始没人切,标程都TLE了,然后xzb一遍过,切掉了它。

    把人赶回家之后,那人似乎会有很大进步——XC

    xzbtql%%%

    你被困在一个密室里。经过一轮摸索,你在密室里有所发现:1.密室是一个呈m×n网格的长方形,地面有六个格子被上了色;2.密室地面部分格子可能有障碍物;3.密室的某一格有一个六面都没上色的立方体;4.当立方体滚动到相邻无障碍物的格子,如果立方体接触地面的一面没有颜色而地面有颜色,则该颜色会从地面转移到立方体上;如果立方体接触地面的一面有颜色而地面没有颜色,则该颜色会从立方体转移到地面上;如果立方体接触地面的一面和地面都有颜色,则两者的颜色都不会转移。5.当立方体滚动到密室的指定地点,如果立方体六面都被涂上了颜色,则传送门就会开启,让你逃离这个密室。由于时间紧迫,你必须借助计算机的力量,算出立方体最少滚动几次就可以让你逃离这个密室。

    整个密室保证正好有6个格子是‘P’,1个格子是‘C’,1个格子是‘G’,‘.’的格子不超过12个。

    2<=m<=20,2<=n<=20

    一开始以为是一道神仙题,后来注意到了“‘.’的格子不超过12个。”的条件。

    所有方案只有(C_{26}^6*20)个,可以爆搜解决。

    小结:

    1. long long!!
    2. 上取整函数不要打ceil,下取整不要打floor,转成long long来判断。
    3. 最大(小)的最小(大)值想到二分转判定性问题。
    4. 水法真神奇,暴力出奇迹!!
  • 相关阅读:
    react-flux的使用(2018/12/16)
    react-redux 的使用*(2018/12/17)
    小程序推送消息(Template)
    小程序富文本照片左右滚动
    前端自动化工具
    拾色器前端工具
    微信小程序 摇一摇
    小程序在线阅读文档
    配置JDK环境变量
    小程序 获取前几名加样式
  • 原文地址:https://www.cnblogs.com/leason-lyx/p/11148293.html
Copyright © 2020-2023  润新知