zoukankan      html  css  js  c++  java
  • 第三周训练赛题解

    这次题目加强了搜索的练习,还有一些小技巧和基本方法,加了一道基础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)

  • 相关阅读:
    json
    [题解]luogu_P2151_HH去散步(矩阵floyd
    [题解]数字计数(数位dp(模板向
    【简单计数知识】JZOJ6395. 【NOIP2019模拟2019.10.28】消失的序列
    字符云例子
    JAVA FileUtils(文件读写以及操作工具类)
    AT2657 Mole and Abandoned Mine
    Problem: [Usaco2018 Open]Team Tic Tac Toe
    Problem: [USACO2018 Jan]Blocked Billboard II
    算法——星星树
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/6538814.html
Copyright © 2011-2022 走看看