搜索优化
文章平均质量分 81
蒟蒻111
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uva11163 Jaguar King
这道题乍一看暴力都不知道怎么写,可是我们一旦把它由一列数转换为宽为4的二维图形时做法就明了了。 如:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转换为二维时就是 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 可以看出5可以跳到1,9,6原创 2013-12-22 15:47:54 · 839 阅读 · 0 评论 -
用二进制优化常数卡过Pku3074 Sudoku
这道题看起来用暴力搜索似乎不可能过,但是因为二进制的运行速度实在是太快了。我们可以用二进制运算来代替布尔型的for循环枚举。这样,我们便可以节省大量时间。 我是用了l[i],h[i],kuai[i]分别代表第i列,第i行,第i块的状态,0代表未出现过,1代表已出现。 我还每次找可以填的数字最少的格子进行搜索,便把这题卡过去了。 接下来上代码: const w:array[0..8,0..原创 2013-12-03 14:05:43 · 594 阅读 · 0 评论 -
Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers 爆搜+剪枝
原题链接:http://codeforces.com/contest/851/problem/D 大致题意:给出一个序列,有两种操作,第一种操作是删除某个元素,代价为x,第二种操作是令某个元素自增1,代价为y。第二种操作可以对某个元素重复多次。 问通过这两种操作使得序列的所有元素的gcd不为1的最小代价是多少。 显然,最终的序列所有元素的gcd一定是某个素数q的倍数,可以枚举这个素数q然后对原创 2017-09-05 09:53:01 · 326 阅读 · 0 评论 -
HDU6233 Infinite Fraction Path
题目链接:acm.hdu.edu.cn/showproblem.php?pid=6223 大致思路:nex[i][j]表示从第i个点跳2的次方步后到达的位置,a[ j ][ i ]表示从第i个点跳2的次方步后得到的小数是第几大。然后就有了一个简单的排序来从a[ i ][ j ]得到a[ j ][ i+1 ],最后找到a[ j ][18]里第一大是哪一个。但是,这样的log*log的算法会被卡掉。原创 2017-11-28 13:48:23 · 551 阅读 · 0 评论
分享