
ACM-暴力枚举
文章平均质量分 77
w20810
这个作者很懒,什么都没留下…
展开
-
hdu 5358 First One (尺取法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5358题意:分析:首先要知道[log2(x)]+1代表x的位数,而且根据题意不会超过35,那么枚举位数i:1~35。对于每一位i找到区间[x,y],使得S(x,y)的二进制表示的位数等于i,此时的贡献为i*(x+y)。那么对于每一个i,怎么找出所有符合条件的区间[x,y]?1~n枚举起点x,那么y会原创 2015-08-07 23:08:24 · 740 阅读 · 0 评论 -
poj 3320 Jessica's Reading Problem(尺取法+map/hash)
题目:http://poj.org/problem?id=3320题意:给定N个元素的数组,找出最短的一段区间使得区间里面的元素种类等于整个数组的元素种类。分析:暴力枚举区间的起点x,然后找到最小的y,使得区间[x,y]满足条件,x向有移位后变成x',现在的y'肯定不至于在y的左边。存状态的话map和hash都可以。map代码:#include #include #includ原创 2015-08-07 23:17:43 · 708 阅读 · 0 评论 -
hdu 5371 Hotaru's problem (Manacher算法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5371题意:在输入的串里面找的一个连续的串,这个串由三部分组成且长度相等,第一部分s1与第二部分s2组成的串回文,第一部分s1与第三部分s3相同。分析:由题可知,s1s2回文,s2s3回文。这里需要用Manacher算法处理出以每个位置为中心的最大回文半径。然后暴力枚举s1与s2交接处,判断是否存在原创 2015-08-12 20:03:39 · 729 阅读 · 0 评论 -
cf 320# "Or" Game (位运算)
题目:http://codeforces.com/problemset/problem/578/B题意:给定n、k、p,和n个数。你可以对某些或者某个数乘上一次或者少于k次的p(一个数可以乘多次,总共最多使用k次),求新数列‘|’起来的最大值。分析:注意到起决定性作用的是二进制的最高位。假如选择了一个数*p,那么剩下的k-1次也应该用在这个数上。直接暴力枚举哪个数就行了。代码:原创 2015-09-17 22:15:08 · 537 阅读 · 0 评论 -
codeforces 324# E. Anton and Ira (暴力枚举+贪心)
题目:http://codeforces.com/contest/584/problem/E题意:给定两个排列p1和p2。可以交换p1中的两个元素p1[i],p1[j],花费为|i-j|,求最小的话费使得p1变为p2。E. Anton and Iratime limit per test1 secondmemory limit per原创 2015-10-10 18:38:54 · 659 阅读 · 0 评论 -
cf #308 E. Vanya and Brackets (暴力枚举)
题目:http://codeforces.com/contest/552/problem/E题意:给你一个只有+和*的表达式,让你添加一对括号使得表达式的值最大。其中*号最多15个。分析:明显先+后*算出的结果更大,所以,用*把表达式分开,然后枚举相连的情况就好了。ps:回顾了一下stringstream的用法。代码:#include using namespace std;原创 2015-12-27 17:41:05 · 486 阅读 · 0 评论