首页 > 其他分享 >Solution Set - CSP2022

Solution Set - CSP2022

时间:2022-10-30 11:57:42浏览次数:60  
标签:Set 最大值 CSP2022 Solution 枚举 即可 权值 考虑 出度

妈的,我考的跟狗屎一样,按道理稳定发挥差不多有 \(350\),不济也是 \(326\),可惜没有如果。

假期计划

首先先预处理出两点之间是否可达,这个可以使用 \(n\) 次 bfs 在最多 \(O(n(n+m))\) 的时间复杂度内求出。

预处理出对于每一个点 \(x\) 满足 \(x\to y\to 1\) 的 \(y\) 的权值最大值,然后枚举 \(b,c\) meet-in-middle 一下,但是这样是错的,原因是没有考虑 \(a,b,c,d\) 互不相同这个限制。

考虑如何规避 \(a,b,c,d\) 存在相同的情况,不妨考虑存 \(k\) 个最大值,然后枚举 \(b,c\) 的时候暴力枚举 \(k^2\) 种情况,下文感性证明取 \(k=3\) 即可通过。

构造什么时候需要三个值,也就是说:\(b\) 的前 \(3\) 大分别为 \(c,x,y\),\(c\) 的前三大为 \(b,x,y\),此时取 \(x,y\) 满足条件而维护前两大不可行。

策略游戏

若先手取正数,则后手一定取最小值,若先手取负数,则后手一定取最大值。

考虑先手的取法,无非是取最大,取最小,取最大的负数,取最小的正数,对这四种情况分类讨论即可。

求最大最小之类的可以使用线段树或者 ST 表搞定。

星战

首先你得先读懂题,题目问的等价于问图是不是基环树森林,换句话说就是问每个点出度是不是均为 \(1\)。

有一个 naive 的思路是加和然后判断,这显然很假,考虑一点乱搞,我们为每个点随机一个权值 \(v\),这个点有多少个出度加多少个权值。

你发现这个东西可以做到单次操作 \(O(1)\),没了。

数据传输

考虑矩阵乘法刻画 DP。

先考虑序列上面怎么做,这个东西很好刻画,只要考虑从 \(f_{i-1},f_{i-2},f_{i-3}\) 转移即可,DP 上面记这几个就可以刻画出矩阵,也很好转移到树上。

然后你写写写,发现 \(k=3\) 挂了,冷静一下,发现当 \(k=3\) 的时候,当两个点距离为 \(4\) 的时候,可以从中间的某个点周转,考虑这种情况怎么处理,发现其实只需要让 \(f_{i-2}\) 可以转移到自身且代价为 \(i\) 这个节点兄弟的最小值即可。

时间复杂度 \(O(3^3n\log n)\)。

标签:Set,最大值,CSP2022,Solution,枚举,即可,权值,考虑,出度
From: https://www.cnblogs.com/cnyzz/p/16840859.html

相关文章

  • CSP2022-J组题解
    最后一次j组了,写篇题解纪念一下A假如\(a=1\),\(a^b=1\)假如\(a>1\),可以发现当\(b>30\)时\(a^b\)必然大于\(10^9\)于是我们可以暴力计算,如果计算的过程中大于\(1......
  • $set 加数据
    varallArray=JSON.parse(JSON.stringify(copy_data))//原数组allArray.forEach((value,index)=>{that.$set(value,'goodProductNum','12')//给数......
  • SET DECIMAL_V2=FALSE及UDF ERROR: Cannot divide decimal by zero及Incompatible ret
    概述最近在全职负责一款数据产品的升级改造。因旧版平台的代码写得太乱,简直惨不忍睹;别说增加功能,已有问题的定位与修复都无从下手。用户提交的,在旧版平台能执行的SQL语句,在......
  • CSP2022 游记。
    作为第一次以高中生身份参加csp,虽然有了一定的经验,但还是有点小慌。14:20基本进完场了,考场内回忆了一下tarjan,然后眯眼休息。14:27开考,解压。T1一道图论题,找几个最......
  • CSP2022
    希望别伏笔小插曲:考前2天说取消了,但是过了1天又说恢复。Day0鉴于去年吃了不会网络流的亏,这次把各种算法都看了一遍,但是不想看LCT,如果考了我只能问候出题人的家人。......
  • CSP2022 游记
    Day0吃了个KFCJ组:赛前:J组总得AK掉吧?!赛时:T1,切了。T2,这不解方程吗,不过做得有些复杂,还手写了int128和sqrt,但还是很快切了。T3,大模拟先放一会儿。T4,好水,还不......
  • Building a ASP.NET solution from command-line?从命令行构建 ASP.NET 解决方案?
    【问题标题】:BuildingaASP.NETsolutionfromcommand-line?从命令行构建ASP.NET解决方案?【发布时间】:2011-01-1406:43:06【问题描述】:如何从命令行构建ASP.NETWe......
  • JAVA___HashSet底层原理
    HashCode和equalsHashSet通过hashCode确定元素存储的位置,如果该位置没有元素就直接放入,有元素的话需要利用equals方法比较两个元素是否相同,如果不相同利用链表将两个元素......
  • CSP2022 梦游记
    同步发表于luogu前情提要:csp前完全一天也没有停课,模拟赛自然更加不用说了,因此代码能力直线下降(大概是线段树2都打不出来233)。所以前面几天的也没啥好讲的了qwq。Day-1......
  • 63-ES11-Promise_allSettled方法
     ......