AcWing 状态压缩DP相关问题
皓首不倦
算法爱好者 码农一枚 欢迎志同道合 技术爱好者加微信CODER-GRH 非技术人员勿扰
展开
-
AcWing 状态压缩DP相关问题 1064. 小国王
'''原点加上任意两个点可以确定一条抛物线,先把所有抛物线全部算出来然后计算落到每条抛物线上的点信息,转换成一个区间覆盖问题求解用状态压缩DP解决'''# 计算点是否在抛物线上def is_match(x, y, a, b): val = a* x * x + b * x return abs(val - y) <= 1e-6# 1的数量def one_cnt(val): ans = 0 while val: ans += ..原创 2020-08-03 14:06:46 · 180 阅读 · 0 评论 -
AcWing 状态压缩DP相关问题 524. 愤怒的小鸟
'''原点加上任意两个点可以确定一条抛物线,先把所有抛物线全部算出来然后计算落到每条抛物线上的点信息,转换成一个区间覆盖问题求解用状态压缩DP解决'''# 计算点是否在抛物线上def is_match(x, y, a, b): val = a* x * x + b * x return abs(val - y) <= 1e-6# 1的数量def one_cnt(val): ans = 0 while val: ans += ..原创 2020-08-03 14:05:48 · 1880 阅读 · 0 评论 -
AcWing 状态压缩DP相关问题 327. 玉米田
'''状态压缩DP求解'''M, N = map(int, input().split())grid = [0] * Mfor line_idx in range(M): arr = list(map(int, input().split())) for i, val in enumerate(arr): if val == 1: grid[line_idx] |= (1 << i)# dp(i, j) 表示前i行进行放.原创 2020-08-03 14:04:32 · 196 阅读 · 0 评论 -
AcWing 状态压缩DP相关问题 292. 炮兵阵地
import syssys.stdin = open('data.txt', 'r')from functools import lru_cacheN = int(input())link = {}weight = {}parent = {}for _ in range(N): arr = list( map(int, input().split()) ) link[arr[0]] = arr[3:] weight[arr[0]] = arr[1] ..原创 2020-08-03 14:03:40 · 154 阅读 · 0 评论