联合省选2025 tj
联合省选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]\)中的连续区间
那么树就解决了,森林的话,考虑俩序列 A和 B,要么是 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的更多相关文章
- 【NOI2019十二省联合省选】部分题简要题解
Day 1 T1 异或粽子 题意:给出一个长为n的序列,选择K个不完全重合的区间使得每个区间的异或值的总和最大. 题解:先做一个前缀异或和,对于每一个右端点我们记录三元组(l,r,x)表示在左端点在\ ...
- JSOI(联合省选)2021 划水记
流水账. Day 0 18:10 去本部拿准考证,结果发现已经没有人了./ruo 敲了几份板子,很早就去睡觉了. Day 1 7:30 到 NFLS 拿到准考证,几乎没有人来.于是做起了政治作业. 然 ...
- 多条件查询(php+mysql) 租房子例子
<body> <?php //多条件 $tiaojian2= " 2=2 "; $attr2 = ""; //判断区域 if(!empty($ ...
- 九省联考 2018 Day 1 复现
前言 今年省选还有 15 天.每天针对性刷题学知识点有点枯燥,想到真题还没刷,就对着 pdf 做了一遍. A. 一双木棋 去年省选得了 25,应该是 \(n=2,m=2\) 的贪心和 \(m=1\) ...
- sb 错误
数组开小.很容易 \(2 \times 10^5\) 或 \(10^6\) 就开成 \(10^5\),或者各种变量的数据范围混用,\(m \leq 5\times 10^5\),结果只开到了 \(n\ ...
- 背水一战——CSP2021/NOIP2021 游记
洛谷 version 转载本文章的其他链接: 1(S00021 提供) 2(Ew_Cors 提供) \[\texttt{2021.9.10} \] 终于开坑了. 笑死,初赛根本还没开始复习,反正初赛也 ...
- LGP6667题解
既然看到了这道"板子",那还是来写一下题解吧... 如果有机会希望能推一下 载谈binominial sum 的做法. \[\sum_{k=0}^nf(k)\binom n kx^ ...
- [CF1515F] Phoenix and Earthquake(图论推导,构造)
题面 在紧张又忙碌地准备联合省选时,发生了大地震,把原本要参赛的 n n n 个城市之间的全部 m m m 条道路震垮了,使得原本互相都能到达的这 n n n 个城市无法交通了.现在,需要紧急恢复 n ...
- 【Note】倍增
真的不会.QAQ 目录 简介 大家都见过的应用:倍增求 \(\text{LCA}\) 倍增求 \(\text{LCA}\) ,但是动态加点,但是不会 \(lct\) 例题:[ZJOI2012]灾难(D ...
- 题解 nflsoj550 【六校联合训练 省选 #9】序列
题目链接 以下把值域(题面里的\(lim\))记做\(m\). 考虑求\(k\)的答案.考虑每个位置对答案的贡献,枚举位置\(i\),再枚举\(a[i]\)的值\(x\).设: \[ F(k)=\su ...
随机推荐
- 【Pandas】concat方法使用注意点
使用pandas库的concat做数据拼接需要注意,应该先对原始数据设置列名,如果没有设置列名,在拼接时只会保留第一个文件的第一行(以列名形式),由于剩下的文件在读取时会自动将第一行作为列名,这样就会 ...
- 当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系
<当Kafka化身抽水马桶:论组件并发提升与系统可用性的量子纠缠关系> 引言:一场OOM引发的血案 某个月黑风高的夜晚,监控系统突然发出刺耳的警报--我们的数据发现流水线集体扑街.事后复盘 ...
- 【Linux】3.10 进程管理(重点)
进程管理 1. 进程管理基础 在Linux中,每个执行的程序(代码)都称为一个进程.每个进程都分配一个ID号 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程.例如www服务器. 每个进 ...
- Java的IO模型、Netty原理详解
1.什么是IO 虽然作为Java开发程序员,很多都听过IO.NIO这些,但是很多人都没深入去了解这些内容. Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的 ...
- Python简单数据分析
1.分析思路 以贵族价格表为例 a.使用Python连接MySQL数据库 b.从noble_right表查询贵族名称,开通价格 c.将这两组值作为XY轴绘制直方图 2.编写代码: # -*- codi ...
- SpringAI版本更新:向量数据库不可用的解决方案!
Spring AI 前两天(4.10 日)更新了 1.0.0-M7 版本后,原来的 SimpleVectorStore 内存级别的向量数据库就不能用了,Spring AI 将其全部源码删除了. 此时我 ...
- MySQL 参考资料
官方文档:https://dev.mysql.com/doc/refman/5.7/en/ 书: 1.<高性能MySQL> 2.<MySQL是怎样运行的:从根儿上理解MySQL> ...
- FastAPI与Tortoise-ORM实现关系型数据库关联
title: FastAPI与Tortoise-ORM实现关系型数据库关联 date: 2025/04/21 10:51:41 updated: 2025/04/21 10:51:41 author: ...
- PHP连MYSQL查询结果中文乱码的完美解决方法
问题背景:近日接手同事的一个项目(wampserver环境),配置好环境,导库完毕,打开页面一看中文全是问号.打开network看了下请求,请求结果里的中文也一样乱码了.懵逼... 解决方法:打开My ...
- SpringMVC的注解
@RequestMapping 指定请求的路径 value :用于指定请求的url.它和path属性的作用是一样的. path :路径 method :请求的方法.RequestMethod.GET, ...