首页 > 其他分享 >Trick2:NPC 问题 (2^n) 的一个可能的 n=40 的解

Trick2:NPC 问题 (2^n) 的一个可能的 n=40 的解

时间:2022-12-18 13:55:47浏览次数:58  
标签:20 个点 Trick2 前半部 NPC 40 check

CF1767E 为典型例子。

不难发现可以转化为点数 \(40\) 的最大独立集。

以下算法:

分成前 \(20\) 个点和后 \(20\) 个点,分别状压处理。

后半部分:枚举一种状态,先 check,然后找到在前半部分里面不能取的,从状态 \(\text{sta} = 2^{20} - 1\)(就是初始均可选择) 里面抠掉这些不合法的,去查询前半部分预处理出来的一个表格。

前半部分:直接 check,然后 SOSDP 预处理。

总时间复杂度是 \(O(2^mm^2)\) 的。


如果看到数据范围是 \(35 \sim 50\) 的样子,可以考虑这个东西。

标签:20,个点,Trick2,前半部,NPC,40,check
From: https://www.cnblogs.com/BreakPlus/p/16990314.html

相关文章

  • 400行的象棋程序
    #include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<limits.h>namespaceabc{//abc:thebasicfactsaboutaparticulars......
  • Educational Codeforces Round 140 D
    D.Playoff题链我们观察样例或者自己想一想就可以知道这个答案一定是一段连续的数字那么我们考虑如何确定这个答案的上下界即可而且只要给出的字符串s有一个0那么我......
  • 40 个超棒的免费 Bootstrap HTML5 网站模板
     ​​​​Bootstrap是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网......
  • python40
    PythonNumber数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变Number数据类型的值,将重新分配内存空间。以下实例在变量赋值时Number对象将被创建......
  • 换工作?试试远程工作「GitHub 热点速览 v.22.40」
    近日,潜在某个技术交流群的我发现即将毕业的小伙伴在焦虑实习、校招,刚好本周GitHub热榜有个远程工作项目。不妨大家换个思路,“走”出去也许有更多的机会。当然,除了全球的远......
  • 400+条实用C/C++框架、库、工具整理 ,你能想到的都在这里了
    正文: 超级值得收藏的C/C++资料宝库,汇总了400+条C++框架、库和工具。内容包括C/C++各个领域:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代......
  • CF1408G 题解
    题意传送门给定\(n\)个点的带权无向完全图,点\(i,j\)之间的权值为\(a_{i,j}\),权值是一个\(1\sim\frac{n(n-1)}{2}\)的排列。计数把原图划分成\(k\)个组的方......
  • 每日食词—day040
    autowiren.自动装配determinev.确定、决定、决心、判定mockv. adj. n. adv.模拟品、模拟的、模拟实验、仿制品scenen.场面、场景、现场、景色dispatch......
  • 【221215-1】三角形ABC中,AB=BC,角C=40,延伸BC至D,令BD=AC。求:角ADC的角度?(一道辅助线很刁
    写在印度侵袭我藏南领土之际,希望印度能收敛士兵,不要继续蚕食。END......
  • 力扣---740. 删除并获得点数
    给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除所有等于 nums[i]-1和nums[i......