ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ak日记 831 dxm

2022-08-31 20:02:14  阅读:308  来源: 互联网

标签:831 ak range sys dxm vs ans line dp


import sys
from math import inf
line = sys.stdin.readline().strip()
vs = list(map(int, line.split()))
n, k = vs[0], vs[1]
line = sys.stdin.readline().strip()
vs = list(map(int, line.split()))
dp = [[0]*n for _ in range(n)]
ans = 0
for i in range(n-1, -1, -1):
    dp[i][i] = (vs[i], vs[i])
    if k==1: ans+=1
    for j in range(i+1, n):
        minv, maxv = dp[i+1][j]
        minv = min(minv, vs[i])
        maxv = max(maxv, vs[i])
        dp[i][j] = (minv, maxv)
        if minv*k == maxv:ans += 1
print(ans)
        
        
import sys
from math import inf
from functools import lru_cache


class Solution:
    def slove(self, n, m, k, x, grid):
        @lru_cache(None)
        def dfs(i=0, j=0, total=0):
            ans = False
            if i == n - 1 and j == m - 1 and total + grid[i][j] == x:
                ans = True
            if i < n and j < m:
                ans = ans or dfs(i + 1, j, total + grid[i][j])
                ans = ans or dfs(i, j + 1, total + grid[i][j])
            return ans

        return dfs()


sol = Solution()
T = int(sys.stdin.readline().strip())
for _ in range(T):
    line = sys.stdin.readline().strip()
    vs = list(map(int, line.split()))
    n, m, k, x = vs[0], vs[1], vs[2], vs[3]
    grid = []
    for _ in range(n):
        line = sys.stdin.readline().strip()
        vs = list(map(int, line.split()))
        grid.append(vs)
    if (sol.slove(n, m, k, x, grid)):
        print("yes")
    else:
        print("no")
import sys
from math import inf
MOD = 10**9+7
n = int(sys.stdin.readline().strip())
dp = [[[0]*2 for _ in range(2)] for _ in range(n+1)]
#dp[i][j][k] i位以 j k=0非1 j k=1 1结尾的最大个数 00 01 10 11
dp[1] = [[8, 1], [0, 0]]
for i in range(2, n+1):
    dp[i][0][0] = ((dp[i-1][0][0] + dp[i-1][1][0])*8)%MOD
    dp[i][0][1] = (dp[i-1][0][0])%MOD
    dp[i][1][0] = (dp[i-1][0][1]*8)%MOD
    dp[i][1][1] = 0
ans = sum([sum(dp[-1][i]) for i in range(2)])%MOD
print(ans)

比较简单 不到一小时选择+算法就做完了~

标签:831,ak,range,sys,dxm,vs,ans,line,dp
来源: https://www.cnblogs.com/yuelien/p/16644354.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有