首页 > 其他分享 >CF1411G No Game No Life

CF1411G No Game No Life

时间:2023-06-26 21:55:04浏览次数:49  
标签:Life frac CF1411G No 异或 Game fwt sg

猜它是一个 multi-sg,只用算出每个位置的 sg 值。不过注意到这是一个图,你要求 mex 肯定不会太大,毛咕咕一下不会超过 \(\sqrt{m}\)。并且根据均摊,你求 mex 的复杂度是 \(O(m)\) 的。接下来相当于你有一个数 \(v\) 每次选一个点异或上它的 sg 值,求最后是 \(0\) 的概率。枚举这个过程一共进行了 \(i\) 轮,每一轮相当于一个异或卷积,令 \(F\) 是 sg 值为 \(i\) 的概率的生成函数。有:

\[ans=1-[x^0]\frac{\sum_{n\ge 1}F(x)^{n}}{n+1} \]

注意到异或卷积是线性变换,你要求逆等价于 fwt 之后求逆再 ifwt 回去。于是有逆的充分必要条件即为 fwt 之后任意一位不是 \(0\)。下面来证明这道题符合条件。

思考 fwt 的本质,是在做一个容斥,每一项的系数是 \(\pm 1\),而所有的总和是 \(\frac{n}{n+1}\)。于是一个 \(F\) 在 fwt 之后的范围是 \([-\frac{n}{n+1},\frac{n}{n+1}]\)。而取反后加 \(1\) 的范围就是 \([1-\frac{n}{n+1},1+\frac{n}{n+1}]\) 一定不为 \(0\)。

标签:Life,frac,CF1411G,No,异或,Game,fwt,sg
From: https://www.cnblogs.com/zcr-blog/p/17506807.html

相关文章

  • xss漏洞攻击复现(xssgame靶场通关)
     这篇文章简单的介绍下xssgame的通关方法,从名字可以看出,xssgame就是针对xss攻击进行专门的漏洞复现,由易到难。 链接:https://pan.baidu.com/s/1F9I7iBdu7MPLLvegM5kAQg 提取码:469c 这是xssgame的安装包,将它放到phpstudy/WWW文件夹下访问即可 第一关 这一关没有任......
  • 【Node】node 报错:tagOffsetsMap[tag] ??= [];...SyntaxError: Unexpected token ,‘??=
    安装的node版本不支持空值赋值运算符(??=)更换合适的node版本就行更多支持请在node.green上查看各种语法支持的版本参考文章NodeJS中的空合并赋值运算符(??=)......
  • NodeJS系列(4)- ECMAScript 6 (ES6) 语法(二)
    在“NodeJS系列(3)-ECMAScript6(ES6)语法(一)”里,我们介绍并演示let、const、Symbol等ES6语法和概念。本文在“NodeJS系列(2)-NPM项目Import/ExportES6模块”的npmdemo 项目的基础上,继续介绍并演示函数扩展、类等ES6语法和概念。NodeJSES6:https://nodejs.org......
  • Linux ssh: Could not resolve hostname xxxx: Name or service not known
    linux(centos)在配置互信时,出现报错:ssh:Couldnotresolvehostnamexxxx:Nameorservicenotknown出现这种错误是因为系统/etc/hosts中配置的主机名与HOSTNAME的不一致造成。例如:/etc/hosts中这样配置baoyw-dbhostname中这样配置baoywdb......
  • node基础
    1、node本地化日志//本地化日志及按日期切割constwinston=require('winston');require('winston-daily-rotate-file');vartransport=newwinston.transports.DailyRotateFile({filename:'logs/console-%DATE%.log',datePattern:'YYYY-M......
  • mysql 将数据库所有表的存储引擎修改为InnoDB
    要将现有的MySQL数据库中的所有表设置为InnoDB存储引擎,可以使用以下步骤:运行以下SQL命令,将所有表格的存储引擎设置为InnoDB:SET@DATABASE_NAME=DATABASE();SELECTCONCAT('ALTERTABLE`',table_name,'`ENGINE=InnoDB;')ASsql_statementsFROMinformation_sc......
  • notepad++删除包含指定字符串的行(正则)
    比如要去掉所有含有test的行的操作Ctrl+H打开替换窗口。(方式一)正则删除字符后,notepad++批量删除空行查找目标:^.test.$替换为:(空)查找模式,选择“正则表达式”删除空行,可通过notepad++的编辑->行操作->移除空行,来操作。(方式二)正则匹配,删除对应的行查找目标:^.test.\r?\n替......
  • mockito5.4.0单元测试(11) --do when家族的方法们:doReturn()|doThrow()| doAnswer()|
    mockito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#do_family_methods_stubs//mock一个对象HashMapmockMap=mock(HashMap.class);  doCallRealMethod方法示例://当mock对象调用put和size方法时,都调用真实的方......
  • MAC安装多个版本node命令
    背景:在实际项目开发中,不同的项目我们往往需要用到不同版本的node做支持,并且需要根据项目需要切换,以下就是常用的命令行。Mac下使用n去安装多个指定版本的Node.js,并使用命令随时切换。1.全局安装nnpminstall-gn2.指定版本的Node安装sudo-En16.17.03.查看已经安装的Noden......
  • Nodepad ++ 运行JAVA代码
    前提:环境已经配置完毕(具体步骤可自行在必应,百度等平台搜索)jdk版本:jdk1.8.0_202notepad++已安装方法:notepad不添加插件,使用CMD终端命令运行1.使用notepad++,新建文本输入以下代码,并另存为HelloWorld.javapublicclassHelloWorld{ publicstaticvoidmain(String......