• 第三周训练赛题解


    这次题目加强了搜索的练习,还有一些小技巧和基本方法,加了一道基础DP居然没人A确实是意料之外,C题的裸DFS也是很迷。蓝桥杯以爆搜为主,近期会加强搜索训练,做好准备。

    A:

    给定一个整数n,将1~n排列成环使两两之间互质。

    DFS搜索所有可能的排列,输出。

    B:

    问能否在恰好的时间从S->D

    题目运用到了奇偶剪枝的方法,

    根据题目,doggie必须在第t秒到达门口。也就是需要走t-1步。设doggie开始的位置为(sx,sy),目标位置为(ex,ey).如果abs(ex-x)+abs(ey-y)为偶数,则abs(ex-x)和abs(ey-y)奇偶性相同,所以需要走偶数步; 

    当abs(ex-x)+abs(ey-y)为奇数时,则abs(ex-x)和abs(ey-y)奇偶性不同,到达目标位置就需要走奇数步。先判断奇偶性再搜索可以节省很多时间,不然的话容易超时。t-sum为到达目标位置还需要多少步。因为题目要求doggie必须在第t秒到达门的位置,所以(t-step)和abs(ex-x)+abs(ey-y)的奇偶性必然相同。因此temp=(t-step)-abs(ex-x)+abs(ey-y)必然为偶数。
     
    C:
    简单的搜索题,为什么都没做出来??

    共有n个题目,最少取2个使得难度和在l和r之间且极值差不小于x。

    套用DFS可解。

    D:

    这是一道续命题,你用在这道题上的时间越多,就...[滑稽

    E:

    进制转换一定要了解原理,进制转换的代码越熟练越好。

    F:

    F题是一道表达式模拟的题目,需要识别符号和数值后运算

    戳这里

    G:

    判断奇偶

    H:

    你有一个炸弹,可以放在任意位置并炸掉该位置所在的行和列上的墙“*”,求一颗炸弹是否能炸掉所有的墙。

    我们可以将每行和每列的墙数分别存入数组x[]和y[]。每当a[i][j]的位置是"*"时,x[i]++,y[j]++;最后再将x[i]+y[j]与总墙数sum比较。

    注意:当炸弹所在点为“*”时,需x[i]+y[j]-1;

    I:

    I是一道典型DP题,每个猴子都有自己的时间,而且朋友的朋友也是朋友

    状态转移方程:dp[i][j]=min(dp[i][k]+dp[k+1][j]+sum[i][j]    i<k<j)

  • 相关阅读:
    58到家数据库30条军规解读
    mysql那些事(6) WHERE条件 字符串的引号
    按照ID倒序查出某个字段不重复的集合
    mysql那些事(5)建表存储引擎的选择
    mysql那些事(4)建库建表编码的选择
    mysql那些事(3)小数如何存储
    mysql那些事(2)时间类型数据如何存储
    Failed to install apk on device timeout
    daemon not running. starting it now on port 5037 ADB server didn't ACK
    webview
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/6538814.html
Copyright © 2020-2023  润新知