
暴力
Noooooorth
能够放弃的东西从来都不叫梦想
展开
-
Gym 100712I Bahosain and Digits(枚举)
题目大意就是给一个序列,每次可以转动一个区间,使这个区间的值加1,9则变成0,目标是是这个序列的值最终一样,求每次转动的区间的最大长度。 可以先从大到小枚举区间长度ans,同时枚举最终整个序列的值k,在循环体内计算每一位要转动的次数,同时对后(ans-1)位进行特殊判断,如果当前情况合法,则后(ans-1)位需要转动的次数都为0。循环体内不能每次修改ans个值,会造成超时,所以循环体内的时间复杂度要是O(n)。因此我们可以定义一个数组change,change[i]表示经过前i-1次转动第i个位置要转动为k原创 2015-07-21 00:28:39 · 1123 阅读 · 0 评论 -
POJ 1068 Parencodings(暴力枚举)
题目大意:对于一个由左括号'('和右括号')'组成的字符串S,给出其P序列,输出对应的W序列(P序列中P[i]表示在第i个右括号有P[i]个左括号,W序列中W[i]表示由第i个右括号组成的括号对内有W[i]-1对括号,详见样例)。 基本思路是先由P序列还原出每个右括号在S串中的位置。最后循环每次从后往前扫描到与第i个右括号对应的左括号,输出区间内的左括号数。因为n最大为20,所以暴力也不会超时。原创 2015-07-22 00:19:17 · 1598 阅读 · 0 评论 -
CodeForces 200C Football Championship(暴力枚举)
每场每队的进球数在0-9之间,那么暴力枚举即可。关键的是枚举的顺序。首先我们要保证B队获胜,那么X-Y一定大于0,所以我们可以枚举B队净胜球数(即X-Y),再枚举B队失球数(即Y),每次枚举后排序,若B队在前2名则更新答案,这样两层循环之后就可以得出使得(X-Y)最小,同时Y最小的答案。 另外:除了B队外的3支队伍的队名是没有规律的,不要被样例迷惑。原创 2015-08-06 16:53:52 · 1987 阅读 · 0 评论 -
Gym 100712B Rock-Paper-Scissors (前缀和维护)
题意很简单,就是给出A出石头剪刀布的顺序,同时B是先出X个布,Y个石头,Z个剪刀,每局胜者得一分,求进行N轮游戏后B的分数比A多的种数。 首先维护6个前缀和,比如Rwin[i]代表前i个都出石头时B赢的总局数,以此类推。N最大是1000,所以可以双重循环暴力求解。原创 2015-07-19 23:57:22 · 1250 阅读 · 0 评论 -
HDU 1796 How many integers can you find(容斥原理+二进制/DFS)
求n以内能够被所给的集合中的数整除的数的个数。原创 2015-08-17 23:58:38 · 2159 阅读 · 0 评论