Day53力扣打卡

打卡记录

在这里插入图片描述


重新规划路线(dfs)

链接

class Solution:
    def dfs(self, x: int, parent: int, e: List[List[List[int]]]) -> int:
        res = 0
        for edge in e[x]:
            if edge[0] == parent:
                continue
            res += edge[1] + self.dfs(edge[0], x, e)
        return res

    def minReorder(self, n: int, connections: List[List[int]]) -> int:
        e = [[] for _ in range(n)]
        for edge in connections:
            e[edge[0]].append([edge[1], 1])
            e[edge[1]].append([edge[0], 0])
        return self.dfs(0, -1, e)

回路计数(DP状态压缩)

链接

import os
import sys
import math

n = 21
st = [[False] * n for _ in range(n)]
for i in range(0, n, 2):
    for j in range(i + 1, n):
        if math.gcd(i + 1, j + 1) == 1:
            st[i][j] = st[j][i] = True

f = [[0] * n for _ in range(1 << n)]
f[1][0] = 1

for i in range(1 << n):
    for j in range(n):
        if not (i >> j) & 1:
            continue
        for k in range(n):
            if (i >> k) & 1 and st[k][j]:
                f[i][j] += f[i - (1 << j)][k]

ans = 0
for i in range(n):
    ans += f[-1][i]
print(ans)

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 09:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 09:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 09:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 09:26:02       18 阅读

热门阅读

  1. vue项目中如何引入zip压缩包之解决方案

    2023-12-08 09:26:02       42 阅读
  2. Installing GDS

    2023-12-08 09:26:02       41 阅读
  3. 【1day】金和OA某接口存在未授权访问漏洞

    2023-12-08 09:26:02       31 阅读
  4. ARM虚拟化与车联网安全应用

    2023-12-08 09:26:02       39 阅读
  5. 【RabbitMQ高级功能详解以及常用插件实战】

    2023-12-08 09:26:02       37 阅读
  6. mysql的Altas读写分离(实战配置版)

    2023-12-08 09:26:02       36 阅读