ACM.暴力
slowlight93
这个作者很懒,什么都没留下…
展开
-
SRM 649 div2 1000
题意: 给一个整数序列。 选择一个整数B,将序列中所有数XOR上B后得到另一个序列。。 顺序对:a[i]原创 2015-02-12 18:31:42 · 713 阅读 · 1 评论 -
codeforces 525E Anya and Cubes(暴力,meet-in-the-middle)
题意: 有n个方块,上面写着一些自然数,还有k个感叹号可用。k<=nk<=n 你可以选任意个方块,然后选一些贴上感叹号使上面的数值变成阶乘,然后把方块上的值加起来会得到一个和。 求和等于S的选择方法数。 n<=26n <= 26 思路: 每个方块可以选,不选,选了且变成阶乘这三种状态。 所以总的状态是3263^{26} 题目中提到了meet-in-the-middle的思想 就是把原创 2015-03-28 02:03:44 · 984 阅读 · 0 评论 -
codechef COINS
题目: 硬币面值为n的硬币,可以将它换成⌊n/2⌋+⌊n/3⌋+⌊n/4⌋\lfloor{n/2}\rfloor+\lfloor{n/3}\rfloor+\lfloor{n/4}\rfloor。 给你一枚硬币,求可以换得的最大价值。 思路: 第一次做cc,貌似上面很多OI的。。 这道题可以打表,我们注意到,只需要记录(2的因子数,3的因子数)。。 因此表的大小为不超过[40][40]…(原创 2015-03-12 09:19:54 · 424 阅读 · 0 评论 -
srm 302 div2 1000(简单题,bfs,dp)
题意: 对于一个大于等于4的数K,可以加上它的一个因子(1,K除外)得到另一个数。 给N和M(N小于等于M),求从N到M的最小操作次数。 思路: 因为M<=100000M <= 100000,枚举因子是sqrt(K)sqrt(K) 所以怎么搞都好啦~~class DivisorInc { public: int countOperations(int N,原创 2015-03-29 16:53:52 · 447 阅读 · 0 评论 -
srm 303 div2 1000 (简单暴力,分解素因子)
题意: 把一个数分解素因子,比如12 - {2, 2, 3} 然后把这些素因子进行排列 223, 232, 322 如果可以得到一个回文串,则称其为素回文数 求一个区间内的素回文数的个数。 思路: 区间上界不超过10000 所以一个个检查 对于每个数,求出素因子列表,然后生成排列 实际要检查的排列数很小int prime[101], used[30]; char buf[20];c原创 2015-03-29 18:02:27 · 510 阅读 · 0 评论 -
srm 307 div2 1000(数论,枚举)
题意: 有4正整数因子的自然数被称为preprime数。 求第n个preprime数。 思路: 可以得出结论,仅当某个数是两个素数的乘积或者是某个素数的3次方时为preprime。于是可以用类似素数筛法的方式,得到关于某数素因子数目的表(除自身外)。。 其实还可以更暴力,直接从2开始枚举,然后每个包含其作为因子的数的计数器加1。。。const int MAX = 6000000; int原创 2015-04-08 21:56:42 · 505 阅读 · 0 评论