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