首页 > 其他分享 >某场模拟赛的T2草稿纸

某场模拟赛的T2草稿纸

时间:2024-01-24 15:15:03浏览次数:28  
标签:pre frac 环上 某场 T2 草稿纸 转移 dp rightarrow

\(dp_{i, j}\) 表示第一个人走到 \(i\) ,第二个人走到 \(j\) 的方案数量。环上的情况先把每个点按照拓扑序排序,相同环上的点放在一起。

但是有可能在环上游走。

非常抱歉,昨天有很多东西是错的,以下内容感谢 \(\textrm{liuhangxin}\) 的帮助指正。

所以开一个辅助数组 \(g_{i, j}\) 用来记录 后面的人准备走出环上,前面的人刚走到新的环上的时候形成的局面 为 \((i, j)\) (如果两个人都在同一个环上那定义为两个人都刚刚走到新的环上),\(dp_{i, j}\) 用来记录 两个人准备走出环上的时候形成的局面 为 \((i, j)\) 。显然,\(dp\) 和 \(g\) 是互相转移的。容易把起点和终点的问题用建立虚点转化掉。

\(dp\) 向 \(g\) 的转移是容易的,所以关键的问题是 \(g\) 向 \(dp\) 的转移。

转移大概以下几类,以下默认 \(x\) 是在前面的那个:

\[\begin{aligned}\\& 如果 x 是单点 \\& g_{x, y} \rightarrow dp_{x, y} \\& \\& 如果 x 和 y 不在一个环上 \\& k * g_{x, y} \rightarrow dp_{pre_x, y} (环上的前一个点要特殊处理)\\& (k - 1) * g_{x, y} \rightarrow dp_{x', y} (otherwise)\\& \\& 如果 x 和 y 在一个环上,由于对称性哪个在前面无所谓 \\& \\& if(x = y) \\& \frac{k(k - 1)}{2}g_{x, x} \rightarrow dp_{x', y'} (x' = pre_x \lor y' = pre_x)\\& (\frac{k(k - 1)}{2} - 1)g_{x, x} \rightarrow dp_{x', y'} (otherwise,必须覆盖至少一次)\\& else \\& ① \frac{k(k + 1)}{2}g_{x, y} \rightarrow dp_{pre_y, pre_x} (刚好覆盖整个图一圈,注意上面那类没有这种情况)\\& ②(\frac{k(k + 1)}{2} - 1)g_{x, y} \rightarrow dp_{x', y'} (x' \in [x, pre_y], y' \in [y, pre_x] ,两个的路径不交,注意要排除掉前面那种情况。)\\& ③(\frac{k(k - 1)}{2} - 1)g_{x, y} \rightarrow dp_{x', y'} (x' \in [y, pre_x), y' \in [y, pre_x) ,两个的路径相交,但不覆盖整个圈)\\& ④(\frac{k(k - 1)}{2} - 1)g_{x, y} \rightarrow dp_{x', y'} (x' \in [x, pre_y), y' \in [x, pre_y) ,两个的路径相交,但不覆盖整个圈)\\& ⑤\frac{k(k - 1)}{2}g_{x, y} \rightarrow dp_{x', y'} (x' \in [y, pre_x), y' \in [pre_x, pre_y) ,两个的路径相交,覆盖整个圈)\\& ⑥\frac{k(k - 1)}{2}g_{x, y} \rightarrow dp_{x', y'} (x' \in [pre_y, pre_x), y' \in [x, pre_y) ,两个的路径相交,覆盖整个圈)\\& ⑦\frac{k(k - 1)}{2}g_{x, y} \rightarrow dp_{x', y'} (x' = pre_x \lor y' = pre_y) \end{aligned} \]

这其中要特别注意的是 \(③④\) 两种转移的区间可能为空,要进行特判。我调了一早上 \(⑤⑥\) 两个区间其实是有交集的,具体见下图。在 \(k = 1\) 时,只存在转移 \(①②\) 。当然, \(k = 0\) 时答案为 \(0\) 。

有一些具有对称性的情况没写应该知道吧((,题目很良心的保证没有自环,算是减少了一下讨论量?

我知道这个很毒瘤,所以我放了一张图

duliuduliuduliu

看到这张图,你肯定会这道题了。每个转移就是一个矩形加操作,非常的好写,非常的没有细节

标签:pre,frac,环上,某场,T2,草稿纸,转移,dp,rightarrow
From: https://www.cnblogs.com/miloHogwarts4ever/p/17984716/shen-bai-ming-lie

相关文章

  • Nuxt2——路由
    Nuxt内置了路由模块,无需自行编写路由文件Nuxt会根据pages/自行配置路由文件基础路由pages/--|user/-----|index.vue-----|one.vue--|index.vue得到路由配置router:{routes:[{name:'index',path:'/',component:'pages/index.vue'......
  • Nuxt2——构建文件
    nuxt2构建文件放在nuxt.config.js,使用cjs语法,暴露配置对象基本配置项mode 有spa和universal两种模式。spa没有使用到服务器渲染,但是使用路由。universal使用服务器渲染加客户端路由mode:'universal'head配置html的<head></head>内容head:{titleTemplate:'%s-Nuxt......
  • `cargo build`报错:`failed to run custom build command for libgit2-sys v0.13.2+1.4
    cargobuild报错:failedtoruncustombuildcommandforlibgit2-sysv0.13.2+1.4.21问题背景在使用cargo编译cargo-cache时出现报错:Thefollowingwarningswereemittedduringcompilation:warning:[email protected]+1.4.2:Infileincludedfromlibgit2/src/pack.......
  • spring boot2 bean和代理
    众所周知,我们可以从applicationContext根据name来获取bean,我曾一度以为bean就是bean自己,spring帮我们new出来的一个class对象,但当我读到下图这句话的时候,有点懵,getBean得到的为啥是代理对象??? 不过又一想,方法上有Transactional注解,Transactional会帮你做一些事务的commit,rollbac......
  • LY1087 [ 20230217 CQYC模拟赛VIII T2 ] 记忆
    我们来看这样一道题:请你维护一个序列\(a\)。1k将所有\(a_i\)变成\(|a_i-k|\)。2lr求\(\sum_{i=l}^{r}a_i\)。\(n,q\le10^5\)。首先我们不难写出一个\(naive\)的代码。#include<iostream>#include<algorithm>#include<cstdio>#include<arra......
  • 1.15模拟赛 T2题解
    简要题意多重背包但是乘法思路暴力就直接跑背包考虑乘法能否变为加法,可以找到模数的原根,将每个数映射一下,这样乘法就变成了加法,可以直接\(\text{bitset}\)优化,但是暴力这样做还是过不了于是我们考虑二进制分组优化背包,这样复杂度貌似就对了?code#pragmaGCCoptimize("Ofast......
  • [ 20230308 CQYC省选模拟赛 T2 ] 塑料内存条
    题意给定\(n\)个不可重集,初始每个集合\(i\)有元素\(c_i\)。请你以下\(3\)种操作:1xy在集合\(x\)插入\(y\)。2xy将\(y\)集合所有数插入\(x\),并删除\(y\)集合(不影响别的集合的下标)3xy求\(x\)集合与\(y\)集合的交之和。Sol可塑性记忆。注意到前......
  • 1.11模拟赛 T2题解
    简要题意每个点有一定概率向前面的点连边,求两点之间距离的期望思路推柿子code#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#defineN1000005intn,m,u,v;constintmod=1e9+7;inta[N],sum[N],c[N],dep[N],s[N],f[N],g[N],h[N];intksm(intx......
  • 关于REACT2024挑战赛
    关于REACT2024首先,挑战赛官网如下:https://sites.google.com/cam.ac.uk/react2024/home这个挑战赛的任务是:建立一个机器学习模型,在双人交互的背景下,通过说话者的视频、音频、表情等数据,生成听者的面部反应并要保证反应的合理性(FRDistandFRCorr)、多样性(FRVar,FRDiv,andFRD......
  • 8、SpringBoot2之打包及运行
    为了演示高级启动时动态配置参数的使用,本文在SpringBoot2之配置文件的基础上进行8.1、概述普通的web项目,会被打成一个war包,然后再将war包放到tomcat的webapps目录中;当tomcat启动时,在webapps目录中的war包会自动解压,此时便可访问该web项目的资源或服务;因为......