当前位置 : 主页 > 编程语言 > java >

【省选模拟】20/03/04

来源:互联网 收集:自由互联 发布时间:2022-07-07
​ ​ 显然可以发现,出题人用了很多奇怪的方法包括增长题面,使题面晦涩难懂,定义新的位运算,输入一堆奇怪的式子来增加题面难度 题意,你有 个变元 ,分别可以取真或假,有

【省选模拟】20/03/04_状压

  • 显然可以发现,出题人用了很多奇怪的方法包括增长题面,使题面晦涩难懂,定义新的位运算,输入一堆奇怪的式子来增加题面难度
  • 题意,你有【省选模拟】20/03/04_括号匹配_02 个变元 【省选模拟】20/03/04_括号匹配_03,分别可以取真或假,有两种运算 【省选模拟】20/03/04_括号匹配_04,表示取反和 【省选模拟】20/03/04_括号匹配_05,输入一个含变元和 【省选模拟】20/03/04_复杂度_06 的表达式,其中 【省选模拟】20/03/04_复杂度_06 为一串变元通过上述两种符号串成的表达式,并且 【省选模拟】20/03/04_复杂度_06 中包涵 【省选模拟】20/03/04_状压_09 个符号,我们需要确定有多少个 【省选模拟】20/03/04_复杂度_06 满足无论 【省选模拟】20/03/04_状压_11 怎么去结果都为真
    【省选模拟】20/03/04_复杂度_12
  • 暴力:枚举【省选模拟】20/03/04_复杂度_06【省选模拟】20/03/04_括号匹配_14 种变元
  • 优化,将【省选模拟】20/03/04_括号匹配_14 种变元排成一列状压每一种变元是真是假,枚举当前符号是 【省选模拟】20/03/04_状压_16 还是 【省选模拟】20/03/04_括号匹配_17 转移,即:
    【省选模拟】20/03/04_括号匹配_18
    后面用 【省选模拟】20/03/04_括号匹配_19 转移,只需要做 【省选模拟】20/03/04_状压_09【省选模拟】20/03/04_括号匹配_19, 剩余点乘,复杂度 【省选模拟】20/03/04_复杂度_22
    现在有了初始表达式的限制,我们枚举每一种变元看 【省选模拟】20/03/04_复杂度_06 是必须为 【省选模拟】20/03/04_复杂度_24 还是均可均不可
    这个可以直接用栈搞一个括号匹配模拟,复杂度 【省选模拟】20/03/04_状压_25
    【省选模拟】20/03/04_状压_26

【省选模拟】20/03/04_复杂度_27

  • 【省选模拟】20/03/04_状压_28
    维护后面的前缀和,复杂度【省选模拟】20/03/04_复杂度_29
    ​​【省选模拟】20/03/04_括号匹配_30

【省选模拟】20/03/04_括号匹配_31

  • 题意:3 棵树,求出以下 3 者的【省选模拟】20/03/04_括号匹配_32
  • 第一棵树的两两距离和
  • 第一棵树和第二棵树连一条边后两两距离和
  • 第一棵和第二棵树连一条边,第二课树和第三棵连一条边后两两距离和

题解:

  • 第一个是定值,假设三棵树的大小分别是【省选模拟】20/03/04_括号匹配_33,第二个选到点分别是【省选模拟】20/03/04_状压_34,所有点到【省选模拟】20/03/04_状压_34的距离和是【省选模拟】20/03/04_复杂度_36,那么新增贡献是【省选模拟】20/03/04_复杂度_37,分别取【省选模拟】20/03/04_复杂度_38的最大最小
  • 第三个,讨论【省选模拟】20/03/04_复杂度_39的新增贡献,把常数项抛开
    【省选模拟】20/03/04_括号匹配_40
    【省选模拟】20/03/04_复杂度_41分别取最大最小,那么还剩【省选模拟】20/03/04_复杂度_42,最小化就是【省选模拟】20/03/04_括号匹配_43均取最小,最大化可以用点分治 树形【省选模拟】20/03/04_状压_44,枚举【省选模拟】20/03/04_括号匹配_45,维护【省选模拟】20/03/04_状压_46的最大值即可
    ​​【省选模拟】20/03/04_括号匹配_30


上一篇:万能欧几里得
下一篇:没有了
网友评论