21.2.22习题

Underground Lab

CodeForces - 781C
考虑 k = 1 k=1 k=1时,随便找一个生成树,跑欧拉序,点数刚好2n。拓展到一般情况就把欧拉序平分成 k k k


Axel and Marston in Bitland

CodeForces - 781D
先预处理出要用到的矩阵: P , B , P B , B P , P B B P , B P P B ⋯ P,B,PB,BP,PBBP,BPPB\cdots P,B,PB,BP,PBBP,BPPB
那么最终路径一定可以按二进制拆分成几段 { P ⋯ ( 2 a ) } { B ⋯ ( 2 b ) } { P ⋯ ( 2 c ) } ⋯ \{P\cdots(2^a)\}\{B\cdots(2^b)\}\{ P\cdots(2^c)\}\cdots {P(2a)}{B(2b)}{P(2c)},倒着枚举,然后看 a n s ⋅ f [ 0 / 1 ] [ i ] ans \cdot f[0/1][i] ansf[0/1][i]是否为空矩阵,为空则说明不行

然后发现矩阵乘法可以用bitset优化,复杂度 O ( 61 n 3 w ) ( 61 = l o g 2 1 0 18 ) O(\frac{61n^3}w)(61=log_210^{18}) O(w61n3)(61=log21018)


Fox and Perfect Sets

CodeForces - 388D
把一个集合看成一个线性空间,那么每个集合都对应着一个线性基,而把线性基高斯消元成上三角矩阵后,与所求的集合一一对应(即不会有两个线性基对应同一个集合)

简易证明:若基的个数或某个基的最高位不同,则一定对应不同集合;否则找到第一个不同的基,用另一个线性基的元素无法表示出这个基

所以转化为求有多少个线性基。注意到要满足 m a x ≤ k max\leq k maxk,而一个消元后的线性基的 m a x max max就是异或和,即满足异或和 ≤ k \leq k k

类似数位dp,设 d p [ i ] [ j ] [ 0 / 1 ] dp[i][j][0/1] dp[i][j][0/1]表示当前在第 i i i位(二进制),有 j j j个基,是否顶着上限

  • 没有顶着上限
    • 不新增线性基,那么当前这位 0 / 1 0/1 0/1随便选, 2 j 2^j 2j种方案
    • 新增线性基,那么其他基当前位为 0 0 0 1 1 1种方案
  • 顶着上限
    • k k k这位为 1 1 1
      • 让异或和这位为 1 1 1,方案数有 2 j − 1 2^{j-1} 2j1(后 j − 1 j-1 j1个任意 0 / 1 0/1 0/1,用第1个控制异或和),特判 j = 0 j=0 j=0时方案为0
      • 让异或和这位为 0 0 0,方案数 2 j − 1 2^{j-1} 2j1,特判 j = 0 j=0 j=0方案为1
      • 新增一个基,方案为1
    • k k k这位为 0 0 0,那么异或和这位只能为 0 0 0,方案数 2 j − 1 2^{j-1} 2j1

Andryusha and Nervous Barriers

CodeForces - 781E
考虑暴力,用线段树+set维护区间内球的信息,遇到一个屏障时把撞上的球一个一个删掉,再加入两个新的球。复杂度用势能分析,初始有n个球,每个屏障增加2个球,复杂度为 O ( ( n + m ) l o g 2 n ) O((n+m)log^2n) O((n+m)log2n)

优化一下,既然是将球一个一个删掉,就没必要把所有球都存起来,用类似链表的方式,每个球指向它上面的球,然后线段树维护区间内最低的球,也是将球一个一个删掉,复杂度 O ( ( n + m ) l o g n ) O((n+m)logn) O((n+m)logn)


Prime Flip

AtCoder - arc080_d
先差分,对于一对关键点 ( i , j ) (i,j) (i,j)

  • j − i j-i ji为奇质数,则代价为1
  • j − i j-i ji为偶数,由哥德巴赫猜想,代价为2
  • j − i j-i ji为奇合数,则先用3转化为偶数,代价为3

于是有贪心,先用二分图匹配处理第一种情况,然后把同奇偶的用第二种处理,最后如果还剩一堆就用第三种处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DevExpress是一家软件开发工具公司,他们提供了各种用于创建高性能、交互性及数据驱动的应用程序的开发工具。其中,DevExpress Universal是他们的主要产品之一。 在提到devexpress.universal.21.2.6时,它指的是DevExpress在2021年第2个季度发布的软件版本号为21.2.6的Universal套件。 这个版本的Universal套件包含了各种用于开发Windows、Web、移动和云平台应用程序的工具。它提供了丰富的控件、组件和库,可以简化开发人员的工作并提高应用程序的质量和性能。 devexpress.universal.21.2.6具有许多新的功能和改进,以及修复了之前版本中的一些问题。开发人员可以通过使用这个版本的Universal套件,来构建现代化的应用程序,实现自定义界面、数据可视化、数据分析、报表生成等功能。 除了功能上的改进,DevExpress还为开发人员提供了一流的技术支持和文档,以帮助他们更好地使用Universal套件。开发人员可以通过DevExpress的官方网站和论坛,获取到最新的教程、示例代码和技术文档,以便更好地利用devexpress.universal.21.2.6来开发自己的应用程序。 总而言之,devexpress.universal.21.2.6是DevExpress公司发布的一个基于21.2.6版本的Universal套件,它提供了丰富的开发工具和功能,帮助开发人员构建高性能和易于维护的应用程序。无论是Windows、Web、移动还是云平台,都可以使用这个版本的Universal套件来创建现代化的应用程序。 ### 回答2: devexpress.universal.21.2.6是DevExpress公司所提供的一款软件开发工具包。DevExpress是一家专注于开发软件开发工具和应用解决方案的国际知名公司,该公司提供了许多面向不同平台的开发工具。 devexpress.universal.21.2.6是该公司的一款全球通用的开发工具包,适用于各种不同的开发环境和平台,包括Windows、Web和移动应用等。该工具包提供了丰富的控件库和解决方案,可以帮助开发人员快速构建功能强大、界面美观的应用程序。 devexpress.universal.21.2.6具有很多优点。首先,它可以与不同的开发环境和编程语言集成,如C#、VB.NET等,方便开发人员使用。其次,该工具包拥有丰富的控件库,包括图表、报表、网格和文本编辑等控件,可以满足开发人员在不同项目中的需要。此外,devexpress.universal.21.2.6还提供了许多高效的功能和工具,如数据绑定、布局管理和样式定制等,可以提高开发效率和应用质量。 总而言之,devexpress.universal.21.2.6是一款功能强大、易于使用的开发工具包,适用于各种开发项目。它能够帮助开发人员快速构建出高质量、用户友好的应用程序,提升开发效率和开发质量。 ### 回答3: DevExpress Universal 21.2.6 是DevExpress公司为.NET开发人员提供的一套综合性开发工具包。它提供了丰富而强大的功能,帮助开发人员快速构建高性能、现代化的跨平台应用程序。 DevExpress Universal 21.2.6 提供了一个全面的控件库,包括数据展示控件、数据输入控件、布局和导航控件、报表和分析控件等等。这些控件具有高度的可定制性和灵活性,开发人员可以根据自己的需求进行定制。控件库支持多种UI技术,包括Windows Forms、WPF、ASP.NET、ASP.NET Core等,以及跨平台开发框架Blazor。 除了控件库,DevExpress Universal 21.2.6 还提供了许多其他的工具和组件,帮助开发人员提高生产效率。其中包括代码编辑器、调试器、性能分析工具、报表设计器等等。这些工具能够简化开发过程,提供更好的开发体验。 DevExpress Universal 21.2.6 还提供了丰富的文档和示例代码,帮助开发人员更好地了解和使用各种功能。开发人员可以通过官方网站获得相关文档和示例代码,也可以参加官方举办的培训和研讨会,与其他开发人员进行交流和分享经验。 总之,DevExpress Universal 21.2.6 是一套功能强大、易于使用的开发工具包,能够帮助开发人员快速构建高质量的跨平台应用程序。无论是初学者还是经验丰富的开发人员,都可以从中受益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值