2015年3月10日

hdu 1029(hash)

摘要: 传送门:Ignatius and the Princess IV题意:给n个数,找出出现次数大于等于(n+1)/2的那个数。分析:大水题,排个序输出中间那个即可,这里随便写个HASHMAP找出次数最大那个。#include #include #include #define N 1000010#de... 阅读全文

posted @ 2015-03-10 23:50 lienus 阅读(178) 评论(0) 推荐(0)

hdu 1024(dp)

摘要: 传送门:Max Sum Plus Plus题意:从n个数中选出m段不相交的连续子段,求这个和最大。分析:经典dp,dp[i][j][0]表示不取第i个数且前i个数分成j段达到的最优值,dp[i][j][1]表示取了第i个数且前i个数分成j段达到的最优值。那么有:dp[i][j][0]=max(dp[... 阅读全文

posted @ 2015-03-10 23:24 lienus 阅读(161) 评论(0) 推荐(0)

SPOJ DISUBSTR(字符串hash)

摘要: 传送门:DISUBSTR题意:给定一个字符串,求不同子串个数。分析:由于数据较小,直接枚举长度为1,2...n的所有子串进行hash即可,复杂度(O(n^2)),后缀数组才是正解(O(nlogn)。#include #include #include #include #include #inclu... 阅读全文

posted @ 2015-03-10 19:27 lienus 阅读(166) 评论(0) 推荐(0)

SPOJ DISUBSTR(后缀数组)

摘要: 传送门:DISUBSTR题意:给定一个字符串,求不相同的子串。分析:对于每个sa[i]贡献n-a[i]个后缀,然后减去a[i]与a[i-1]的公共前缀height[i],则每个a[i]贡献n-sa[i]-height[i]个不同子串。#include #include #include #inclu... 阅读全文

posted @ 2015-03-10 19:12 lienus 阅读(190) 评论(0) 推荐(0)

hdu 1536(博弈)

摘要: 传送门:S-Nim题意:给n个数的集合s, 再给m 组数据,每组表示 k 堆石子,每次可以取的个数只能是集合s中的数量。问先手胜还是输?分析:sg函数的经典运用,先预处理出所有数量为0~10000的石子的sg值,然后判断k堆石子的sg值异或和是否为0来判断先手的输赢。#include #includ... 阅读全文

posted @ 2015-03-10 18:46 lienus 阅读(300) 评论(0) 推荐(0)

SCU 3133(博弈)

摘要: 传送门:windy和水星 -- 水星游戏 2题意:在一张由 n*m 的格子组成的棋盘上放着 k 个骑士每个骑士的位置为(xi,yi),表示第xi行,第yi列骑士如果当前位置为(x,y),一步可以走的位置为(x-2,y-1)(x-2,y+1)(x-1,y-2)(x+1,y-2)两人对弈,每次移动至少一... 阅读全文

posted @ 2015-03-10 16:48 lienus 阅读(172) 评论(0) 推荐(0)

SCU 3132(博弈)

摘要: 传送门:windy和水星 -- 水星游戏 1题意:在一张由 n*m 的格子组成的棋盘上放着 k 个骑士每个骑士的位置为(xi,yi),表示第xi行,第yi列骑士如果当前位置为(x,y),一步可以走的位置为(x-2,y-1)(x-2,y+1)(x-1,y-2)(x+1,y-2)两人对弈,每次移动一个骑... 阅读全文

posted @ 2015-03-10 16:34 lienus 阅读(170) 评论(0) 推荐(0)

导航