随笔分类 - 暴力求解
数据结构 娱乐中心选址 (Floyd+暴力)
摘要:Description 有n个地点编号1~n,在其中一个地点建立娱乐中心,要求该点距其它各地点的最长往返路程最短,相同条件下总的往返路程和越短越好,如果仍相同,取编号最小的地点,问娱乐中心应选址何处? Input 第一行输入测试数据组数。每组数据第一行输入地点数n(2≤n≤300),路径数m(0≤m
阅读全文
数据结构 八皇后问题 (暴力,回溯)
摘要:Description 设计程序完成如下要求:在8×8的国际象棋棋盘上,放置8个皇后,使得这8个棋子不能互相被对方吃掉。要求:依次输出各种成功的放置方法。(按照字典序输出) Input 输入包含多组数据,第一行为数据组数,以后每行一个整数k,代表需要输出的字典序第k大的摆放方法。 Output 每组
阅读全文
数据结构 马的遍历问题 (暴力回溯)
摘要:Description 在n*n棋盘上,对任一位置上放置的一个马,均能选择一个合适的路线,使得该棋子能按象棋的规则不重复地走过棋盘上的每一位置。 Input 输入第一行为测试数据组数。从第二行开始每行3个整数n(3<n<10)、x、y,代表棋盘的大小,和初始坐标。 Output 输出字典序最小的可行
阅读全文
数据结构 最优字符串编码 (哈夫曼编码)
摘要:Description 基于任给一串大写英文字母序列(例如MNOPPPOPMMPOPOPPOPNP),编程实现求解一套二进制编码,使得上述正文的编码最短。 Input 有多组输入数据,每组一串字符串,每个字符串长度不超过1000且只包含大写英文字母。 Output 每组数据输出两行,第一行输出组数,
阅读全文
POJ 2452 Sticks Problem (暴力或者rmq+二分)
摘要:题意:给你一组数a[n],求满足a[i] < a[k] < a[j] (i <= k <= j)的最大的 j - i 。 析:在比赛时,我是暴力做的,虽然错了好多次,后来说理解是rmq,我又用rmq写了一次,发现rmq还没有我暴力快,rwq 2000多,暴力才700. 暴力中加了一个优化条件就是前枚
阅读全文
CodeForces 446A DZY Loves Sequences (DP+暴力)
摘要:题意:给定一个序列,让你找出一个最长的序列,使得最多改其中的一个数,使其变成严格上升序列。 析:f[i] 表示以 i 结尾的最长上升长度,g[i] 表示以 i 为开始的最长上升长度,这两个很容易就求得,最后枚举中间值即可。 代码如下:
阅读全文
CodeForces 731F Video Cards (数论+暴力)
摘要:题意:给定 n 个数,可以对所有的数进行缩小,问你找出和最大的数,使得这些数都能整除这些数中最小的那个数。 析:用前缀和来做,先统计前 i 个数中有有多少数,然后再进行暴力去找最大值,每次都遍历这一段就好。 代码如下:
阅读全文
CodeForces 723D Lakes in Berland (dfs搜索)
摘要:题意:给定一个n*m的矩阵,*表示陆地, . 表示水,一些连通的水且不在边界表示湖,让你填最少的陆地使得图中湖剩下恰好为k。 析:很简单的一个搜索题,搜两次,第一次把每个湖的位置和连通块的数量记下来,第二次去填陆地,选少的进行填。 代码如下:
阅读全文
CodeForces 723C Polycarp at the Radio (题意题+暴力)
摘要:题意:给定 n 个数,让把某一些变成 1-m之间的数,要改变最少,使得1-m中每个数中出现次数最少的尽量大。 析:这个题差不多读了一个小时吧,实在看不懂什么意思,其实并不难,直接暴力就好,n m不大。很明显最后1-m中次数最长的应该是n/m, 所以我们把大于n/m的都变成小于等于的,把这 n 个数中
阅读全文
HDU 5908 Abelian Period (暴力)
摘要:题意:给定对于一个数字串S和一个正整数k,如果S可以分成若干个长度为k的连续子串,且这些子串两两匹配,那么我们称k是串S的一个完全阿贝尔周期。 给定一个数字串S,请找出它所有的完全阿贝尔周期。匹配就是含有相同的数字。 析:枚举k,首先k必须是 n 的约数,然后就能算出每个数字应该出现多少次。 代码如
阅读全文
UVa 12718 Dromicpalin Substrings (暴力)
摘要:题意:给定一个序列,问你它有多少上连续的子串,能够重排后是一个回文串。 析:直接暴力,n 比较小不会超时。 代码如下:
阅读全文
UVaLive 6585 && Gym 100299F Draughts (暴力+回溯)
摘要:题意:给定一个 10*10的矩阵,每一个W可以跳过一个B向对角走到#并把B吃掉,并且可以一直跳直到不能动为止,现在是W走的时候,问你最多吃几个B。 析:直接暴力+回溯,深搜就好。 代码如下:
阅读全文
UVaLive 6950 && Gym 100299K Digraphs (DFS找环或者是找最长链)
摘要:题意:有n个只包含两个字母的字符串, 要求构造一个m*m的字母矩阵, 使得矩阵的每行每列都不包含所给的字符串, m要尽量大, 如果大于20的话构造20*20的矩阵就行了。 析:开始吧,并没有读对题意,后来才看懂什么意思,然后主要思想就是如果有环,那么一定是可以构造成20*20的,只要环一直重复就好,
阅读全文
Gym 100299C && UVaLive 6582 Magical GCD (暴力+数论)
摘要:题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12。求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大。 析:暴力枚举右端点,然后在枚举左端点时,我们对gcd相同的只保留一个,那就是左端点最小的那个,只有这样才能保证是最大,然后删掉没用的。
阅读全文
UVa 1642 Magical GCD (暴力+数论)
摘要:题意:给出一个长度在 100 000 以内的正整数序列,大小不超过 10^ 12。求一个连续子序列,使得在所有的连续子序列中, 它们的GCD值乘以它们的长度最大。 析:暴力枚举右端点,然后在枚举左端点时,我们对gcd相同的只保留一个,那就是左端点最小的那个,只有这样才能保证是最大,然后删掉没用的。
阅读全文
CodeForces 712B Memory and Trident (水题,暴力)
摘要:题意:给定一个序列表示飞机要向哪个方向飞一个单位,让你改最少的方向,使得回到原点。 析:一个很简单的题,把最后的位置记录一下,然后要改的就是横坐标和纵坐标绝对值之和的一半。 代码如下:
阅读全文
HDU 5878 I Count Two Three (预处理+二分查找)
摘要:题意:给出一个整数nnn, 找出一个大于等于nnn的最小整数mmm, 使得mmm可以表示为2a3b5c7d2^a3^b5^c7^d2a3b5c7d. 析:预处理出所有形为2a3b5c7d2^a3^b5^c7^d2a3b5c7d即可, 大概只有5000左
阅读全文
UVaLive 7461 Separating Pebbles (暴力)
摘要:题意:给出平面上的两类点,判断是否能画一条直线将两类点完全分割开来. 析:用暴力去枚举任意两点当作直线即可。 代码如下:
阅读全文
UVaLive 7457 Discrete Logarithm Problem (暴力)
摘要:题意:求一个x使得 a^x%p = b p为素数; 析:从1开始扫一下就好,扫到p-1就可以了,关键是这个题为什么要用文件尾结束,明明说是0,但是不写就WA。。。 代码如下:
阅读全文
UVaLive 7456 Least Crucial Node (并查集+暴力 或者 求割点)
摘要:题意:求标号最小的最大割点.(删除该点后,指定点#sink能到达的点数减少最多). 析:由于不知道要去掉哪个结点,又因为只有100个结点,所以我们考虑用一个暴力,把所有的结点都去一次,然后用并查集去判断。 当然也可以用割点和桥的模板,最后再判断一下,哪个点后面的点有多少就好。 代码如下: 并查集+暴
阅读全文