联合省选2025 tj

d1 t2

实际上只需要把\(x\)能到的点集\(S_x\)和\(Sa_{[l,r]}\)交起来得到\(S\),再找到最大的\(v\)满足\(S\)和\(Sb_{[v,n]}\)的交不空即可

可以分块+手写\(bitset\)维护

复杂度\(O(\frac{NQ}w+Q\sqrt N)\)

d1 t3

遗憾\(\times1\)

考虑树/森林的部分分

显然对于每棵树,可以用该联通块内点值最小的那个点作为根,且给它放到序列的第一位

考虑后面怎么做,发现此时根\(rt\)的所有子树对应在序列上都是一段连续的区间,也即可以递归下去,以儿子\(x\)对应的子树为例,但是注意到有连边\((rt,x)\),也就以为着,在\(x\)子树对应的区间\([l,r]\)中,设\(x\)在位置\(p\),那么要满足,\(x\)的子树,要么是在\([l,p)\)中的连续区间,要么是\((p,r]\)中的连续区间

那么树就解决了,森林的话,考虑俩序列 AB,要么是 AB的形式,要么是 ABA,即把 B整个的插入到 A中间

注意到如果我们求出了所有联通块的序列,然后也可以这样合并

现在考虑联通块咋整,发现联通块其实就是树上加了点环嘛,考虑咋处理这个环

大概画一个环 1,2,3,4,...,n,1,定义环边为我们这个环最外面那圈边(\((i,i\%n+1)\)),其余称做横叉边

显然我们必须得是把他们放成 1,2,3,...,n,任意一个数开头都行,总之要沿着环边绕一圈,否则一定会有边相交的

那么可以发现,所有的横叉边也不能相交,否则一定无解,而题目是保证有解的

那么问题就解决了,只需要对环特殊处理(即必须是按顺序放入序列),剩下的操作和树的操作差不多

这个找到环的过程就对啥各种\(scc\)乱搞就可以得到了啊

复杂度\(O(NlogN)\),瓶颈在排序

d2 t2

先考虑\(C\)性质,此时就是只要有一个点能走到其它所有点即可

若钦定就是\(1\)节点,那么可以设\(dp[S]\)表示\(1\)节点能通过只走\(S\)集合中的数就走到\(S\)集合中所有数的概率,\(1\in S\),转移有\(dp[S]=1-\sum_{T\subset S}dp[T]\times 2^{-edge(T,S-T)}\)

其中\(edge(A,B)\)表示集合\(A,B\)间的边数

现在考虑如果钦定的是集合\(P\)内的点都要到达所有点,怎么办,首先集合\(P\)得是一个强联通的联通块,这个可以类似这种\(dp\)的得到概率,考虑\(dp\)过程中的限制,就是要满足\(P\subset S\)

那么直接\(dp\)复杂度太高,考虑连边\(T\rightarrow S\),满足\(T\subset S\),边权为\(-2^{-edge(T,S_T)}\)

那么\(P\)对应的\(dp\)值就是所有\(P\subset S\)的\(S\)走到全集\(U\)的所有路径的权值和,一条路径的权值定义为所有边的乘积

复杂度\(O(3^N)\)

考虑没有\(C\)性质

首先有一个重要的性质,发现一个随机的图\(G'\)合法,当且仅当\(\forall v\),只取出权值\(\leq v\)的边后,\(G'\)的弱联通块和\(G\)的弱联通块都相同,且\(G'\)的每个弱联通块中都要有一个点能到达该弱联通块的所有点

考虑从\(v\rightarrow v+1\)的过程,实际上就是在合并所有弱联通块的\(P\)

枚举\(v\),现在取边权\(\leq v-1\)的所有边后的图,考虑加上权值为\(v\)的边后的影响

设\(f[S]\)表示\(S\)中的点恰为它们所处弱联通块的\(P\)的概率,且它们在加入\(v\)后存在\(S\)中某些点能到达\(S\)中所有点,\(g[S]\)表示\(S\)中的点都在同一弱联通块中且\(S\)就是该联通块的\(P\)的概率

转移过程类似\(C\)性质的

因为每次只需要重新计算会发生改变的部分,所以复杂度\(O(3^N)\)

d2 t3

遗憾\(\times2\)

考虑把原序列循环个\(m\)次,且每次把所有元素都\(-1\)

那么最终得到的序列就等同于,找到一个序列\(0<p_1<p_2<...<p_k\),满足\(p_1+n=p_k\),且\(a_{p_i}>a_{p_{i-1}+1\sim p_i-1}\),若\(p_i<n\)则\(p_{i+1}=p_i+1\)

然后如果你想得到复杂度大点的做法就是没想到循环多次,后面解法差不多,就是很多优雅的优化做不到了,为啥我知道,因为我考场就还没来得及上这个优化

然后你得到的就是\(a_{p_2\sim p_k}\),这里可以发现\(p_k=n\)得不到啊,这个反正暴力处理一下就好了嘛,然后还有第一轮就有数被杀了的那些特殊情况,总之好弄的啊

然后发现有很多\(\{p_i\}\)其实本质相同,就是满足\(\forall i\leq k\),\(p_i=p'_i+ne\),其中\(e\)对于一对\(\{p_i\}\)和\(\{p'_i\}\)是一个固定的非零整数

我们称之为等价类

对于同一等价类的,显然可以放到那个\(p_1\)最小的上面去处理,然后这个\(\{p_i\}\)对答案的贡献就是\(\min a_{p_i}\),且此时满足\(p_1\in[1,n]\)

显然可以\(dp\)了

如果把\(\min\)值放进\(dp\)位里复杂度太高了,于是考虑固定\(u\)满足\(u\in\{p_i\}\)且\(u\)是满足\(a_u=\min\)且最小的点,那么就是说,\(<u\)的只能选\(>a_u\)的,大于\(u\)的可以选\(\geq a_u\)的

\(dp\)转移显然两侧独立,且其中一侧的转移有单调性

复杂度\(O(N^2)\)

联合省选2025 tj的更多相关文章

  1. 【NOI2019十二省联合省选】部分题简要题解

    Day 1 T1 异或粽子 题意:给出一个长为n的序列,选择K个不完全重合的区间使得每个区间的异或值的总和最大. 题解:先做一个前缀异或和,对于每一个右端点我们记录三元组(l,r,x)表示在左端点在\ ...

  2. JSOI(联合省选)2021 划水记

    流水账. Day 0 18:10 去本部拿准考证,结果发现已经没有人了./ruo 敲了几份板子,很早就去睡觉了. Day 1 7:30 到 NFLS 拿到准考证,几乎没有人来.于是做起了政治作业. 然 ...

  3. 多条件查询(php+mysql) 租房子例子

    <body> <?php //多条件 $tiaojian2= " 2=2 "; $attr2 = ""; //判断区域 if(!empty($ ...

  4. 九省联考 2018 Day 1 复现

    前言 今年省选还有 15 天.每天针对性刷题学知识点有点枯燥,想到真题还没刷,就对着 pdf 做了一遍. A. 一双木棋 去年省选得了 25,应该是 \(n=2,m=2\) 的贪心和 \(m=1\) ...

  5. sb 错误

    数组开小.很容易 \(2 \times 10^5\) 或 \(10^6\) 就开成 \(10^5\),或者各种变量的数据范围混用,\(m \leq 5\times 10^5\),结果只开到了 \(n\ ...

  6. 背水一战——CSP2021/NOIP2021 游记

    洛谷 version 转载本文章的其他链接: 1(S00021 提供) 2(Ew_Cors 提供) \[\texttt{2021.9.10} \] 终于开坑了. 笑死,初赛根本还没开始复习,反正初赛也 ...

  7. LGP6667题解

    既然看到了这道"板子",那还是来写一下题解吧... 如果有机会希望能推一下 载谈binominial sum 的做法. \[\sum_{k=0}^nf(k)\binom n kx^ ...

  8. [CF1515F] Phoenix and Earthquake(图论推导,构造)

    题面 在紧张又忙碌地准备联合省选时,发生了大地震,把原本要参赛的 n n n 个城市之间的全部 m m m 条道路震垮了,使得原本互相都能到达的这 n n n 个城市无法交通了.现在,需要紧急恢复 n ...

  9. 【Note】倍增

    真的不会.QAQ 目录 简介 大家都见过的应用:倍增求 \(\text{LCA}\) 倍增求 \(\text{LCA}\) ,但是动态加点,但是不会 \(lct\) 例题:[ZJOI2012]灾难(D ...

  10. 题解 nflsoj550 【六校联合训练 省选 #9】序列

    题目链接 以下把值域(题面里的\(lim\))记做\(m\). 考虑求\(k\)的答案.考虑每个位置对答案的贡献,枚举位置\(i\),再枚举\(a[i]\)的值\(x\).设: \[ F(k)=\su ...

随机推荐

  1. 【SpringCloud】zuul路由网关

    zuul路由网关 概述描述 路由基本配置 路由访问映射规则 查看路由信息 过滤器 太老旧了,就不做了解了

  2. Cobalt Strike基础

    Cobalt Strike基础 Staged(有阶段) 在有阶段的执行方式中,分为Stager和Stage两个阶段 Stager(初始执行载荷): ​ 定义:Stager是Stage 1,是一个较小的 ...

  3. vue3在构建时,使用魔法糖语法时defineProps和defineEmits的注意事项

    在 Vue 3.2+ 版本中,可以使用 <script setup> 替代传统的 script标签来编写组件,它提供了更简洁的语法来编写 Composition API 代码. 在 < ...

  4. symfony快速构建restfull api--api-platform初体验(快速上手笔记)

    初识api-platform: 都0202年了,整天还在用php一遍又一遍的写crud api吗?还在为构建restfull风格api而烦恼吗?那么,symfony的衍生框架api-platform你 ...

  5. 腾讯CodeBuddy,一款自带MCP市场的编程助手

    今天我发现了一个非常实用的腾讯云编程助手--CodeBuddy.之前它的名称是腾讯云代码助手,但现在已经正式更名为CodeBuddy,并且在更名的同时,其功能也得到了显著增强.今天,我们将详细了解一下 ...

  6. 【记录】SMB|Windows下修改SMB端口并挂载

    环境:Window11 使用背景:勒索病毒导致445端口不安全,故而该端口在服务器端被全面禁用了,如需使用SMB服务需要换个SMB服务端口. 方法1:端口转发 win+x点开管理员权限的终端: 输入如 ...

  7. 那些神奇的CSS特性,你都有用过么?

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  8. TVM:PACKFUNC机制

    转载:https://www.cnblogs.com/wanger-sjtu/p/15063948.html 为实现多种语言支持,需要满足以下几点: 部署:编译结果可以从python/javascri ...

  9. C++ 容器(STL容器)

    容器(container)用于存放数据的类模板.可变长数组.链表.平衡二叉树等数据结构在STL中都被实现为容器. 在使用容器时,即将容器类模型实例化为容器类,会指明容器中存放的元素是什么类型. 容器可 ...

  10. 把iview的table做成更适合展现大量数据的样式(字体变小、去除多余的padding等)

    <style> .ivu-table { font-size: 12px !important; } .ivu-table-header thead tr th { padding: 0p ...