摘要:
题意:输入N代表字符串长度,输入M代表喜欢的词语的个数,接下来是M个词语,然后是M个词语每个的价值。求字符串的最大价值。每个单词的价值就是单价*出现次数。单词可以重叠。如果不止一个答案,选择字典序最小的。 题解:AC自动机+dp。dp[i][j]表示在字符串长度i,在自动机的第j个状态。因为要字典序 阅读全文
摘要:
POJ2778 题意:只有四种字符的字符串(A, C, T and G),有M中字符串不能出现,为长度为n的字符串可以有多少种。 题解:在字符串上有L中状态,所以就有L*A(字符个数)中状态转移。这里自动机的build的hdu2222略有不同。 那一题中通过询问时循环来求she的he,但是如果he不 阅读全文
摘要:
看这数据结构的名字就必须学习一个啊~~ AC自动机就是Trie和kmp的结合。 kmp是查询一个字符串,而自动机用于多个字符串的查询,比如给一篇文章和许多字符串,问有多少字符串出现过等。 由于是一般是模板题,先上板啦,在kuangbin大大那里搬过来的。 是HDU2222 的AC代码 L就是AC自动 阅读全文
摘要:
如果我做不到… 我就不是人… 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。。 。。。 阅读全文
摘要:
题意:N个数,M个询问,每个询问为一个区间,求区间最长连续子序列,要求每个数都不同(perfect sequence,简称PS)。 题解:很容易求出以每个数为结尾的ps,也就是求区间的最大值。有一个不同就是长度可能会超出询问范围,所以先对PS的首位置二分,然后RMQ。注意一点,序列有可能出现负数,所 阅读全文
摘要:
题意:给n个数,m个询问。每个询问是一个区间,求区间内差的绝对值为1的数对数。 题解:先离散化,然后莫队算法。莫队是离线算法,先按按询问左端点排序,在按右端点排序。 ps:第一次写莫队,表示挺简单的,不过这题之前乱搞一气一直TLE,莫队还是很强大的。 代码: 阅读全文
摘要:
Number Game Alice and Bob are playing a game on a line of N squares. The line is initially populated with one of each of the numbers from 1 to N. Alic 阅读全文
摘要:
题意: 定义S(N) 为数字N每个位上数字的和。在给两个数a,b,求最小的正整数n,使得 a×S(n)=b×S(2n)。 官方题解: 构造题一般是找规律。找到了就恍然大悟了,找不到就……我靠这题怎么这么难! 做题要大胆,细心。 代码: 阅读全文
摘要:
A. Insomnia cure 哎 只能说英语太差,一眼题我看了三分钟。 题意:给5个数k, l, m, n 和 d,求1~d中能被k, l, m, n 至少一个整除的数的个数。 题解:…… 代码: B. Escape 题意:还是5个数,vp, vd, t, f and c,公主的速度是vp,龙的 阅读全文
摘要:
早就听过用字典树求异或最大值,然而没做过。发现一碰到异或的题就GG,而且因为以前做过的一道类似的题(事实上并不类似)限制了思路,蠢啊= =。 题意:一棵带权的树,求任意两点间路径异或的最大值。 题解:设xor(a,b)是求a,b间路径的异或值,那么xor(a,b)=xor(root,a)^xor(r 阅读全文
摘要:
对于一颗树,dfs遍历为每个节点标号,在进入一个树是标号和在遍历完这个树的子树后标号,那么子树所有的标号都在这两个数之间,是一个连续的区间。(好神奇~~~) 这样每次操作一个结点的子树时,在每个点的开始结束两个点标记一下就可以,用树状数组求前缀和就可知道每个点的值。 这道题虽然很麻烦(dep[y]- 阅读全文
摘要:
题意: 有N个队伍(1 <= N <= 100,000),每个队伍开始有ai个人[0 <= ai<= 100,000,000],有Q个操作[0<=Q<= 500,000] 操作分为三种,1 A:表示在第A个队列加一个人。 2 X:表示求长度大于等于X队列数量。3 Y:表示所有长度大于等于Y的队列减去 阅读全文
摘要:
选择排序 冒泡排序 插入排序 希尔排序 归并排序 堆排序 快速排序 基数排序 测试性能 阅读全文
摘要:
A.Parallelepiped 题意:给一个六面体三面的面积,求12条边的长度和。 题解:因为都是整数,设边长分别为a,b,c,面积为xyz,那么可设x=a*b,y=b*c,z=c*a,简单解方程就可以了。 B.Array 题意:给一个长度为N的数列,求一个连续子序列,包含K个不同的数。要求这个子 阅读全文
摘要:
http://www.cnblogs.com/wenruo/p/5387995.html 内部类 就是在类中嵌套的另一个类。 非静态内部类 创建内部类的方式就是把类定义在外部类里面。 class Out { class In { } } 内部类对于外部类是特殊的,内部类可以访问到外部类的所有成员,包 阅读全文