省选模拟13

A. 同桌的你

  考试的时候大概一上来就会了,然而感觉非常麻烦,不想打。等到最后剩1个半小时的时候开始打,到最后也没调出来,非常自闭。

  不难发现将关系连边得到的是一棵基环树,所以可以考虑断掉环上任意一条边,然后分选择这条边和不选这条边分别做一次树形dp即可。

  对于输出方案,考虑记录转移的前驱,之后再dfs一遍输出答案。

B. 大水题

  考虑枚举每一种颜色方案,将所有颜色的数量与第一种颜色的数量做差,那么区间[i,j]合法的条件是[1,i]和[1,j]差分之后相同,可以使用hash来完成这个过程。

  然而暴力的复杂度是$O(n*2^8)$,听上去就很不对。

  所以考虑优化。

  对于一个确定的右端点,可能有贡献的方案只有8种,所以考虑只维护这8种方案。

  枚举右端点,在右端点右移的时候,找到当前右端点颜色的前驱,只需要修改这一段即可。

  复杂度均摊$O(8n)$

C. 佛罗里达

  考场上大概想到了40分的暴力做法,可是没有想到2-sat,以为并查集也能实现这些操作。

  考虑枚举其中一个集合的权值大小,对于另外一个集合权值显然可以二分,考虑如何检验是否存在合法解。

  将边按照与两个集合权值大小的关系分类,分别对应随便选,不同时选,选一个,是显然的2-sat模型,tarjan判断即可。

  考虑如何优化这个东西。

  求出来一棵最大生成树,那么生成树上的边一定可以作为集合的权值。

  否则,将树黑白染色,若某一条非树边连接了两个颜色不同的点,那么必然不是最大的。

  所以,集合的权值只能是树边或者全部为颜色相同的点时的贡献。

  枚举即可,$O(n^3logn)$

原文地址:https://www.cnblogs.com/hzoi-cbx/p/12244097.html

时间: 2024-08-30 18:01:56

省选模拟13的相关文章

[考试反思]0130省选模拟13:悔恨

0+30+20=50.rk8 关键在于: T1写错个变量名挂了100分 kxkxkxkx(激动的语无伦次) 考试过程?上来看T1,一个比较裸的基环树dp,断开环上一条边之后大概就是一个稍加改动的最大独立集. 思路不难想,细节倒是有一点,考场上调啊调啊过了样例又手模了各种数据都过了两个半小时之后很开心就扔了. 然后看T2/3啥都不会,写了俩随机化就走了. 然而T3随机化+贪心是可以AC的.正确性不知道...没写... 最后还有5分钟回T1,突然发现T1可以不是基环树而是基环树森林??? 啊修锅修锅

省选模拟13 题解

A. 同桌的你 每个人渴望与一个人当同桌. 容易发现这个关系形成内向基环树森林. 问题转化为求基环树森林的最大匹配. 任意选一条环上的边,分别尝试该边为匹配边.非匹配边即可. B. 大水题 一个常用的但想不到的东西:将每种颜色出现次数的差值为定值,转化为对颜色序列差分后相等. 然后暴力的做法是枚举2^8,表示答案出现在指定的颜色集合中,分别将差分数组插入.查询哈希表即可. 下面是一个优化: 容易发现可行的颜色集合对于同一个时刻只有不超过8种. 对于每一个左端点,随着右端点的右移,区间颜色集合改变

「考试」省选模拟13

在家的又一场. 状态还是一般吧. 自己扔了30分. T1 比较厉害的\(dp\),考场上想到了,结果因为细节太多就没有写(真的是多). 他其实就是个基环树dp. 我们首先断掉环上某个边,然后进行一次最大匹配的\(dp\),然后这样要求这个边必然不选. 另一种情况是这个必然选,那么这条边终点的出边必然不选,再次断那个出边 再\(dp\)一次得到答案. 考虑如何输出方案. 对于一个位置我们记录这个点的最大值出现在\(0/1\)上. 然后根据这个找到最佳方案所依赖的子节点方案. 即可输出方案了. T2

省选模拟(61~65)

省选模拟61 1.GTM \(BIT\) 把所有点按照下标排序后,考虑消灭一个点会给多少个点消灭掉 发现左边速度比它大的和右边速度比它小的都能够通过接触它消灭 继续分情况,考虑左边速度比它小的一些点 如果速度比右边速度的最小值要大的话就可以通过接触右边的点消灭 同理对于右边速度比它大的点只要比左边最大值小就照样可以消灭掉 所以每个点能够消灭的,是速度一段区间内的点\([min,max]\) 然后就是线段覆盖问题了 2.字符串游戏 ? 考虑已经知道答案是多少了,然后就是有一个\(ans*n\)的网

省选模拟(66~70)

省选模拟66 1.有限空间跳跃理论 \(FWT\) 给定一个无向图,要求给每条边定向后成为有向无环图,求方案 考虑那个\(dp\) \[dp[S]=\sum_{W\in S}(-1)^{|W|-1}dp[S-W] \] 发现就是一个子集卷积的形式,所以开第二维再卷积就好了 省选模拟67 1.链 模拟 发现如果度数都小于3就可以根据有无环出答案 否则假如第一个度数等于3的点为\(x\),那么为了使\(x\)最后度数小于3,最终消掉的点就只能是\(x\)或它相邻的3个点这四种选择 所以把去掉这4个点

2018.3.10 省选模拟赛

从这里开始 概况 Problem A 三元组 Problem B 攻略 Problem C 迂回 概况 这是省选T1合集?还是欢乐AK赛? 全班一半以上的人三道题都会做qwq. Doggu还剩一小时时以为自己AK了,然后玩了一小时.虽然最终被卡了20分的常数. ZJC 1个半小时AK?Excuse me? 我这条大咸鱼到最后10分钟才敲完了T1,然后发现线段树要T掉. 发自内心鄙视垃圾出题人卡常数,本来的欢乐AK变成280. 教练给我们考4个小时的试,题面上也这么写的,看题解,woc,考试时间3

[考试反思]0113省选模拟6:过载

真累啊...离上次放假也挺久,离下次放假也挺久,离上次放出去玩也挺久,离下次放出去玩还不知道有多久... 好累啊...大脑基本成天在挂机了.什么也不想干了... 持续状态不佳.但是今天运气好,所以考试排名看起来还可以. T1没认真读题也没看数据范围,以为是送分题,17分钟写完交了...然后我就把分送出去了 像个弱智一样...但是现在的精神状态的确不太能支持好好做题 幸亏T2是个比较简单的SAM+dp,思维量不大,脑子宕机的时候也能写一写. (归功于当时给大家讲课时稍微有一点理解,要是其它的板子我

[考试反思]0114省选模拟7:迷离

这次考得相对不错,但是没什么水准. 只不过记得T1这道原题而已.虽说我忘了怎么做,而且数据范围不一样...差不多是从头想的. 但是并没有AC,像个弱智一样,有两个细节写的完全不对还有80分运气也是真好. 其实挂了不止两个细节...以为是原题于是上来就写20分钟写完,然后过一会出一个锅... 然后看T2,感觉$O(nk^2)$也许差不多?常数很大...但也不会别的.挺好想但是不是很好写. 于是乎强烈谴责cbx没素质暴力水题考后还不改正解的无脸行径 于是就开始写,写了一个半小时. 看T3,绝对大神题

2018.2.12 省选模拟赛

题目大意 (题目很简洁了,不需要大意) 其实显而易见地可以发现,当被卡一次后后面的路程都是固定了的. 可以用类似动态规划的思想来进行预处理.现在的问题就是怎么知道在某个位置刚等完红灯然后出发会在哪个路口再次被卡. 尝试画一画图: 其中横轴表示位置,纵轴表示时间,长方体表示红灯时段.有用的部分长度只有$r + g$,所以在模意义下弄一下就可以减少很多重复和无用状态: 但是这样仍然不好处理上面提到的问题,考虑让线段横着走,第一个撞着的长方形就是答案.为了实现这个目标,就每个长方形向下移动一段(移动的