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 · 250 阅读 · 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 · 1970 阅读 · 0 评论 -
AcWing 状态压缩DP相关问题 327. 玉米田
''' 状态压缩DP求解 ''' M, N = map(int, input().split()) grid = [0] * M for 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 · 259 阅读 · 0 评论 -
AcWing 状态压缩DP相关问题 292. 炮兵阵地
import sys sys.stdin = open('data.txt', 'r') from functools import lru_cache N = 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 · 214 阅读 · 0 评论
分享