实小社团练习赛14


本文总阅读量

7264,7261,7191,7638

T1

模拟
向右走到N,算出代价
向左走到0,算出代价
然后取最小代价即可

T2

枚举
N必定是52的倍数,所以先求出1星期的存款。
因为X要尽可能的大,在总数不变的情况下,X尽可能的大,K就会尽可能的小。
所以枚举X(从大到小),如果扣除7X后,剩下的钱是21的倍数,就找到答案了。

T3

DFS(排列问题)
1固定在第一个位置,然后剩下的每一位都从2~n范围内搜索,满足两个条件进入下一个数的搜索:
(1)该数未被使用过
(2)该数与之前确定的数之和为素数
终止条件:n个数排列完且满足首尾两数之和为素数

T4

线性DP
“接龙”显然是线性的,所以位置就是阶段
状态就是以i结尾的最优解。
转移方程
1.dp[i]=dp[i1],要考虑可能没有相同花色
2.如果花色相同,则dp[i]=max(dp[i],dp[j1]+f[i]f[j1]),计算得分可以用前缀和,即f数组为前缀和数组.
那么为了找到以i结尾的最优解,需要寻找i之前的所有花色,即枚举之前的花色。

for(int i = 1; i <= n; i++){  //阶段
    dp[i]=...   //初始化;
    for(int j = 1; j < i; j++) //状态枚举
        if 花色相同 那么进行状态转移;
}

本站总访问量