题意:有5个集合,集合的大小是n,每一个集合出一个数,问能不能找到五个数的和为0。数据范围:T
分析:
暴力枚举是n^5*T,超时,那么就要用一些技巧了。
这里有一个指针的妙用:如何在O(n)的复杂度找A,B,使得A+B==C(A,B分别属于一个数列a,b)。做法是先把a,b分别按升序排序,然后一个指针i指向a的首,指针j指向b的尾,判定指针指向的数的和是否==C,若等于则结束查找,若小于,...
分类:
其他好文 时间:
2015-08-02 01:04:46
阅读次数:
131
题意:有n个点,求以这n个点中的某一点为起点,到各点的曼哈顿距离和最小是多少
分析:
暴力枚举又要超时,这种题一般都是考思维了,多半都是用技巧找到一个高效的方法。个人觉得这题跟上一篇文章的题是一个类型。
这题也是用“分治”,虽说题目要求的是曼哈顿距离,但是我们为什么真的就要一步到位的求呢,可以横纵坐标分开求,先x排序,然后遍历一遍,求出横坐标的距离,然后y排序,遍历一遍求出坐标的距离加在刚才...
分类:
编程语言 时间:
2015-08-02 01:03:18
阅读次数:
203
题意:给出一个布满数字的网格,可以上下左右走,若下一个格子的数字比当前格子要大或者小或者一样,分别都要付出代价。给出一个期望代价,问当要求顺时针走出一个长宽均大于3的矩形的四条边后,最接近期望代价的情况。
做法:由于长宽大于3,直接暴力枚举即可。
#include
#include
#include
#include
#include
#include
#include
#in...
分类:
其他好文 时间:
2015-07-30 21:26:38
阅读次数:
191
题目:给出一个只有ab组成的串,求其中半回文串的第k大。思路:暴力枚举出所有半回文串,然后暴力插到trie里查询第k大,原先写trie是抄模板的,这次自己写了一下。#include #include #include #include #include #include #include #incl...
分类:
其他好文 时间:
2015-07-30 10:47:06
阅读次数:
115
题意给你一个井字棋的棋谱,判断井字棋的状态
first, 第一个人走
second 第二个人走
illegal 不合法
the first player won 第一个人赢
the second player won 第二个人赢
draw 平局思路暴力枚举每种赢的状态
答案中没有这种样例 (思考一下)X0X
00X
0XX代码/* *************************...
分类:
其他好文 时间:
2015-07-29 17:17:48
阅读次数:
158
LeetCode 之 Subsets,本文给出基于图的深度优先检索的算法思想与C++ STL源码实现。...
分类:
其他好文 时间:
2015-07-29 12:17:24
阅读次数:
115
求满足n=i*j+i+j(0<i<=j)的i、j的种数。
第一种方法:首先这个等式可以化成(n+1)=(i+1)*(j+1),所以只要求出(n+1)的约数的种数即可。同时注意到i与j呈负相关,同时i小于等于j,所以只需要从2到sqrt(n+1)枚举(从2开始是因为i最小为1,我们枚举的是(i+1))。但是,好暴力啊。所以我们可以用筛法先保存1e5以内的素数,再通过质因子分解求出约数数量。
第二种方法:观察等式n=i*j+i+j,可以转化成n-i=(i+1)*j,发现暴力枚举i,判断(n-i)%(n+1)==...
分类:
其他好文 时间:
2015-07-29 01:03:37
阅读次数:
140
题目描述:
求连续子序列,使乘积最大
解题思路:暴力枚举,枚举所有可能的序列
#include
#define MAXN 20
using namespace std;
int d[MAXN];
int main()
{
int t=0;
int n;
while(scanf("%d",&n)==1)
{
t++;
...
分类:
其他好文 时间:
2015-07-28 10:47:40
阅读次数:
111
题目描述:
abcde / fghij =N
a,b···j 为0~9任意一个数,且互相不同
任意给一个n(2
思路1:10!只有不到400w,直接暴力枚举即可
#include
#include
#include
#include
using namespace std;
int a[]= {1,0,2,3,4,5,6,7,8,9};
int ansx[40000...
分类:
其他好文 时间:
2015-07-27 23:06:39
阅读次数:
99
【比赛链接】:click here~~
uva 12435 C. Consistent Verdicts
【题目大意】:给你二维平面一些人的坐标,每个人手上都有一把枪,求全部人同时开枪后所有人听到枪声的次数的可能数目。
【解题思路】:O(n^2)暴力枚举+unique 函数去重相邻元素。居然只跑了3ms,~~
代码:
// C
#ifndef _GLIBCXX_NO_ASSERT...
分类:
其他好文 时间:
2015-07-27 23:01:38
阅读次数:
194