这一篇文章主要说说一些基础算法,这些算是很多其他算法的基石。 主要包括 模拟,暴力,枚举,递归,贪心,分治。 1,模拟: 顾名思义,模拟就是。。。饿,模拟,有一些题目就是给你一些步骤,然后你写代码一步步去模拟那些步骤就行。这类题目主要属于基础题,但是当然如果需要模拟的步骤足够恶心的话,...
分类:
编程语言 时间:
2015-10-16 23:07:57
阅读次数:
243
题目传送门题意:先给一棵树,然后有一条额外的边,问u走到v从现在最短的路走和原来不加边走的路节省了多少距离分析:首先跑不加边的树的LCA,这样能求出任意两点的距离,那么现在x和y多连了一条边,如果能节省路程那一定是走了xy这条边,那么暴力枚举组合,比如求u到v,新边xy,ans = min (ans...
分类:
其他好文 时间:
2015-10-08 18:20:28
阅读次数:
183
题意:有4×4个开关,每改变一个开关的状态,会同时改变同一行和同一列开关的状态,给出初始状态,求最少需要多少步能把所有开关都变成开,并输出方案。解法:枚举+剪枝。直接暴力枚举竟然T了……觉得不太科学……2^16*16的复杂度而已……只好加了一个剪枝,记录当前已经枚举过的最佳答案,后来就只枚举到最佳答...
分类:
其他好文 时间:
2015-10-07 20:11:55
阅读次数:
203
题意为抛n个骰子凑成的点数和大于或等于x的概率,刚开始用暴力枚举,虽然AC了,但时间为2.227s,然后百度了下别人的做法,交了一遍,靠,0.000s,然后看了下思路,原来是dp,在暴力的基础上记忆化搜索,把所有可能枚举出来再累加,然后自己也打了一遍,0.000sA了,做法是开一个二维数组,第一.....
题意:给你一百个点,找个以这些点为中心的最小的圆,使得这个圆恰好包含了n个点,而且这个圆的边界上并没有点解题思路:暴力枚举每个点,求出每个点到其他点的距离,取第n大的点,判断一下。 1 #include 2 #include 3 #include 4 #include 5 #include 6 us...
分类:
其他好文 时间:
2015-10-04 17:10:53
阅读次数:
165
题意:给定平面上的N个点,属性分别标记为0和1,然后找一条直线,直线上的点全部溶解,一侧的1溶解,另一侧的0溶解。求出最多能溶解的点的个数。思路:暴力枚举每个点,扫描线旋转。先做优化,如果一侧溶解0,则把属性为1的做关于当前枚举直线对称的点,这样统计一侧的点加上线上的点就是答案。O(n2). 1 #...
分类:
其他好文 时间:
2015-10-02 16:06:04
阅读次数:
180
Problem DescriptionLet L denote the number of 1s in integer D’s binary representation. Given two integers S1 and S2, we call D a WYH number if S1≤L≤S2...
分类:
其他好文 时间:
2015-10-01 19:07:20
阅读次数:
142
状压以后,直接暴力枚举,2^20约等于1e6,而且满足bitcount = m的状态很少,很稳#includeusing namespace std;const int maxn = 20+1;double x[maxn],y[maxn],z[maxn];double d[maxn][maxn];d...
分类:
其他好文 时间:
2015-10-01 18:01:24
阅读次数:
117
注意到f(n)不会超过1459,于是暴力枚举f(n),检验n=k*f(n)是否合法即可。#includelong long k,a,b,t;int i,j,ans;int main(){ scanf("%lld%lld%lld",&k,&a,&b); for(i=1;i<=1459&&k<=b/.....
分类:
其他好文 时间:
2015-09-30 20:51:17
阅读次数:
128
【1006】 FangFang (暴力枚举)
Fang Fang
Time Limit: 1500/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 871 Accepted Submission(s): 364
Problem Descr...
分类:
其他好文 时间:
2015-09-24 11:05:29
阅读次数:
222