传送门:http://poj.org/problem?id=2778 题目大意:基因序列仅含AGCT四个英语字母,有m个病毒,长度不超过10,现在要制造一个长度为n的基因序列,问有多少种方案,使得我的基因序列不含有病毒子串。 样例输入: 4 3 AT AC AG AA 首先对于所有病毒先跑AC自动机 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-14 01:39:03   
                                阅读次数:
49
                             
                    
                        
                            
                            
                                https://ac.nowcoder.com/acm/contest/5634/C 想一想就能发现这是一道质因素分解的模板题; 我们只要求出该数字由多少个质因素组成,然后判断即可; 1 #include<bits/stdc++.h> 2 using namespace std; 3 int mai ...
                            
                            
                                分类:
其他好文   时间:
2020-05-13 21:50:19   
                                阅读次数:
79
                             
                    
                        
                            
                            
                                    kruskal重构树 $\mathcal{O(nlogn)}$ 学习资料: "hwzzyr的博客" 定义?: 在kruskal算法的过程中,把最小生成树的边权改为点权而构建的二叉树。 抛开kruskal算法来讲,对原图(注意,不止对树,图也可以)的边集进行排序,然后将边当成节点建树。 性质: 是一个 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-13 20:15:19   
                                阅读次数:
46
                             
                    
                        
                            
                            
                                    地址:http://acm.hdu.edu.cn/showproblem.php?pid=1754 解析:先说update操作。c[]表示所管辖的区间范围里的最大值。 void update(int id,int x) { while(id<=n) { c[id]=x; for(int i=1;i< ...
                            
                            
                                分类:
编程语言   时间:
2020-05-12 18:43:37   
                                阅读次数:
55
                             
                    
                        
                            
                            
                                题目:传送门 题意 思路 对于 k <= n - 1 的情况,我们可以将全部的牌隔一个位存起来,也就是起初的时候,第 i 张牌,放在 b[ 2 * i - 1 ] 的位置。每次操作将第 i 张牌放到第 (i - 1) % (n - 1) + 2 = i + 1 的位置的下一位,即放到 b[ 2 *  ...
                            
                            
                                分类:
其他好文   时间:
2020-05-12 11:22:22   
                                阅读次数:
86
                             
                    
                        
                            
                            
                                    地址:https://ac.nowcoder.com/acm/contest/5477/F 解析:其实并不需要关心它具体是怎么构造的,那样的是很麻烦的。。。明确一点,某个位置出现的次数越多,就需要给它赋越大的值,既当前sum=出现次数*x。出现次数,可以通过差分数组或线段树维护一下,然后排个序,按顺 ...
                            
                            
                                分类:
编程语言   时间:
2020-05-11 00:50:32   
                                阅读次数:
76
                             
                    
                        
                            
                            
                                    题:https://ac.nowcoder.com/acm/contest/5477/C 分析:最少时间能走完的点一定是连线的[l,r],又n<=1000所以考虑区间dp,设dp[i][j][k],0<=k<=1,当k==0时代表最少时间跑完区间[i,j]且终点在l时的最少时间,k==1时则是终点在 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-10 23:28:25   
                                阅读次数:
113
                             
                    
                        
                            
                            
                                    dreamoon,知名中国台湾籍ACM选手,此为他的codeforces曲线: 关于中间突降的那段,还有个小故事: 当时dreamoon已经是世界上的顶级选手,甚至前一场的div1他排名第3!(当时cf的分制和现在不同,所以现在看起来只是个红名) 由于他没有拿到过div2的第一名,于是决定一直故意掉 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-10 21:39:21   
                                阅读次数:
98
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=6351 题目 给一个数字n,可以执行k次交换,每次交换都选择数字中的2位,并且交换后不能出现前导0,问能得到的最小值和最大值是多少。 T<=100,n,k<=10^9 题解 方法一 把交换看为对换,枚举排列,然后分 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-08 13:09:47   
                                阅读次数:
52
                             
                    
                        
                            
                            
                                http://acm.hdu.edu.cn/showproblem.php?pid=1272 题目链接 思路: 1.每输入一组数据,如果两个点的祖先都是相同的,那么说明他们已经是一个集合的了,如果再连接a,b两个点,就会构成回路,这里也就是要输出no. 2.并查集判断是否存在回路已经通过上述过程判断 ...
                            
                            
                                分类:
其他好文   时间:
2020-05-07 00:27:33   
                                阅读次数:
54