NOIP2014模拟8.22

T1.临洮巨人

【题目大意】一个由A,B,C,....,Z组成的字符串,统计有多少个子串中字符A,B,C数量相同。

【数据范围】字符长度<=1000000

【解题思路】两种思路:1.维护SA,SB,SC表示到当前位置的A,B,C字符数量,设三个值的最小值为MIN,把SA-MIN,SB-MIN,SC-MIN压成一个数放进哈希中,则以这个位置做子串结尾的答案,就是之前这个压缩成的数出现过的次数。2.维护SA-SB,SB-SC,排序,套式子,计算答案。


T2.青蛙神

【题目大意】N个节点,M条有向边,构成一张有向无环图。在途中选择一条有向路径(可以只包含一个点),求有多少条这样的路径,满足路径上的点的点权积为平方数。

【数据范围】N<=90,M<=8000

【解题思路】显然分解质因数后,对于一个平方数,则它的每个质因子都出现了偶数次。我们可以想办法做状压DP,但是我们发现90以内有24个质数,显然做不了。真的是24吗?我们可以想一想,对于所有大于45的质数,它必定只会出现一次。所以我们只用记录45以内的质数的奇偶情况,显然用二进制01表示。然后只有14个,看来这是上天注定的。对于经过超过45的质数的标号的点,显然该路径无论如何也不可能变成一个完全平方数。


T3.败屩妖

【题目大意】N座城市,M条双向道路,每条道路有一个非负权值XI,有K个要求A[I],B[I],求一个最小的C,满足当所有XI<=C的边连通后,所有的A[I],B[I]仍旧不连通。

【数据范围】N,K<=100000,M<=300000

【解题思路】这种题目,显然很水,二分答案,把可以加的边,暴力加进来,用并查集维护联通性,暴力判断答案的可行性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值