ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

省选模拟二十九 题解

2020-02-23 21:00:09  阅读:225  来源: 互联网

标签:省选 题解 Top 白点 pos 二十九 last0 序列 ++


T1

考场上只想到了枚举拆三元环,拿到60pts

发现其实有一个性质没有用到:

保证将这  个点移除后,剩余的图将不存在环。

假设黑点为没有被钦定的点,白点反之

三白的情况无解

那么一个三元环只能由二黑一白/二白一黑组成,

后者已经固定了,直接选,而前者并不是很好处理

首先对黑白点分别求出子图的Top序(由于是竞赛图,所以Top序是严格的)

接着对于每个黑点处理出它到白点的一个序列(设W->B=1,B->W=0)

把序列按照白点Top序排序

考虑什么样的x才是不合法的

当且仅当存在一个0在1的前面

所以选择的序列一定是1111111111000000的

设f[x]代表最小的0的下标,pos[x]代表x的Top序

那么对于任意两个点x,y(pos[x]<pos[y])

只有在满足f[x]<=f[y]时他们才能够共存

求个LIS即可

T2

转化一下题意那么问题就是每次新加一个字符求所有的后缀的出现次数

直接建出SAM后树剖即可

T3

轮数的限制有点恶心,问的又不是轮数

所以考虑枚举位数i(1,2...i-1都已经是0/1了)

假如a[i]>=2则去操作它

发现若干轮后变成了a[i+1]++,a[i]--,a[last0]++,a[last0+1]--

对所有的0维护一个栈

直接模拟即可

标签:省选,题解,Top,白点,pos,二十九,last0,序列,++
来源: https://www.cnblogs.com/AthosD/p/12354217.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有