- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 Codeforces Round #293 (Div. 2)
A. Vitaly and Strings 题意: 判断两个相同长度的字符串字典序之间是否还有其他字符串。 思路: 直接求出s的下个字典序的字符串, 然后判断是不是和t相等。 #include #include #include #include #include #include #include #include #include #include #include
2015-02-27 17:26:41 475
原创 Codeforces Round #292 (Div. 1)
A. Drazil and Factorial 题意: F(x)定义为x各个位阶乘的乘积,给定一个数x要求求出F(x)=F(y)的最大的数y, 其中y的各个位不能包含0和1. 思路: 对于x的各个位, 先把阶乘分解质因子, 然后有多少个质因子7就弄成多少个7个阶乘, 5,3和2也类似。 #include #include #include #include #include #
2015-02-22 13:35:30 786
原创 UVALive 6590 Digraphs
题意: 有n个只包含两个字母的字符串, 要求构造一个m*m的字母矩阵, 使得矩阵的每行每列都不包含所给的字符串, m要尽量大, 如果大于20的话构造20*20的矩阵就行了。 思路: 对每个字符串第一个字母连向第二个字母一条有向边, 然后取它的补图。 在补图上,如果有环的话, 取环上的字母就一定可以构造上20*20的矩阵, 如果没环的话矩阵一定是用最长路来构造,假设最长路长度为len, 则矩
2015-02-09 10:32:21 572
原创 UVALive 6582 Magical GCD
题意: 有一个n个数的序列, 定义magic gcd为一个连续子序列的gcd乘上子序列长度, 求magic gcd的最大值。 思路: 对于以i为右端点的子序列,左端点从i到1,gcd肯定是越来越小的, 并且gcd是分段的,也就是说,对于一段连续的左端点[a,b], gcd(a,a+1,... i) = gcd(b, b + 1,... i), 由于gcd减小一次最少除以2,所以对于每个右端点
2015-02-09 10:22:12 682
原创 hdu 5172 GTY's gay friends 线段树
题意: 有n个元素的序列,和m个询问, 每次询问[l,r]的区间是不是1~r-l+1的一个排列。 思路: 对于一个长度为len的区间, 如果最大值为len,最小值为1,并且区间元素没有重复的话就说明它是一个1~len的排列, 最值可以用线段树来求, 对于区间重复的话可以先预处理每个元素的下一个出现位置nxt[i], 如果区间里面所有元素的下一个出现位置都大于r的话, 就表示这个区间没
2015-02-08 14:32:21 1211 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人