首页 > 其他分享 >[dp 记录]agc016F Game on DAG

[dp 记录]agc016F Game on DAG

时间:2022-12-11 11:00:26浏览次数:70  
标签:连边 DAG 任意 agc016F Game 枚举 SG dp

博弈论好题,做完感觉加深了对 SG 函数的理解!

题意:

给定一张 DAG,问该 DAG 的 \(2^m\) 张导出子图中有多少张满足 \(SG[1]=SG[2]\)

注:此为转换后题意

\(n \leq 15\)

考虑推出 SG 的过程,执行一遍拓扑排序,取 \(\operatorname{mex}\)。

按 \(SG\) 函数值把点分层,则一个 \(x\) 层点需要连所有 \(y < x\) 层点各至少一个。

dp 中重要的是找到答案的一个递推式的形式,发现任意合法答案都能用这种子小形式表达出来。

对于 CSPS2022 T3,发现一个合法的连通块是从多点往上到共同 lca 的路径并,据此分开考虑空 / 全部连到 lca 处。

\(n\) 这么小,子集枚举是少不了了。那么需要 \(f_S\) 表示只考虑集合 \(S\) 中的点,且 \(1,2\) \(SG\) 值相同。然后会发现从后往前枚举是行不通了,因为 \(1,2\) 可能连向任意点,需要存任意点的 \(SG\),于是考虑从后往前,每次批量把 \(SG=0\) 的点加进来。

形式化地,假设现在枚举到 \(S\),钦定 \(S\) 的子集 \(U\) 的 \(SG=0\),\(T=S/U\),则以下条件应当被满足:

  • \(1,2\) 属于一个集合
  • \(U\) 集合内部不能连边
  • \(U \to T\) 任意连边,\(T\) 中任一点与 \(U\) 中有连边

预处理 \(c_{x,S}\) 表示 \(x\) 到 \(S\) 集合连边总数,则第三条件为 \(\displaystyle\prod_{t \in T} (2^{c_{t,U}}-1)\prod_{u \in U} 2^{c_{u,T}}\)。总复杂度 \(O(n 3^n)\)。

部分借鉴于 官方题解

标签:连边,DAG,任意,agc016F,Game,枚举,SG,dp
From: https://www.cnblogs.com/purplevine/p/16972571.html

相关文章

  • Game 2048
    Thegame2048isapuzzlegameplayedona4x4grid.Thegoalofthegameistoslidethetilesonthegridtocombinethemandcreateatilewiththenumber2......
  • UE Gameplay Learning Record
    UEGameplayLearningType:#LearnTags:#UnrealEngine#GameplayStatus:#DoingTime:2022-12-1011:20WrittenBy:yocichenSummary将我自己学习UE......
  • 基于Python pygame简易版斗兽棋小游戏源代码
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 偶遇 Trojan.PSW.Win32.OnlineGames.xym,Trojan.Win32.Agent.vvk等
    偶遇Trojan.PSW.Win32.OnlineGames.xym,Trojan.Win32.Agent.vvk等endurer原创2007-09-19 第1版刚才一位网友说他的电脑最近启动一个程序所需时间比较长。让偶通过QQ远程......
  • 抓获Backdoor.Gpigeon.voo和Trojan.PSW.OnlineGames.xd等盗号木马
    endurer原创2007-05-08第1版一位朋友,说他的电脑最近运行很慢,让偶帮忙检修。下载pe_xscan扫描log并分析,发现如下可疑项:/---pe_xscan07-04-12byPurpleEndurer2007-5......
  • 一位网友的电脑中了Trojan.PSW.OnlineGames.amc
    endurer原创2007-04-24第1版昨天,一位网友的电脑中了Trojan.PSW.OnlineGames.amc,虽然被瑞星查杀了,但他不太放心,让偶通过QQ远程协助帮忙检查。一看,瑞星实时监控居然没有开,不......
  • UVALive 2038 Strategic game--树形dp
    原题链接:​​http://vjudge.net/problem/UVALive-2038​​题意:一棵树,n个点,0为根,求最少的点可以覆盖所有边。分析:dp[u][0]表示u点不选;dp[u][1]表示该点选择。#defin......
  • hdu3622 Bomb Game--2-sat & 二分
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=3622​​题意:一个二维坐标系,n行数据,每行两个坐标算作一组,从n组跳出n点,画圆,半径一样,要求不能相交,可以相切,求最大半......
  • Python3+pygame实现飞机大战游戏(免费完整项目)
    版权声明:原创不易,本文禁止抄袭、转载,侵权必究! 一、开发环境开发环境:Windows10   Python3.6.4第三方库:Pygame1.9.6IDE    :PyCharm/SublimeText ......
  • 【UE架构】虚幻GamePlay架构
    一.Actor和Component1.1创建Actor的两种方式静态创建:直接在场景中编辑拖拽,创建由引擎构建场景时进行创建无需编码,更加直观简单但会影响游戏启动速度,增加场......