题目链接:11529 - Strange Tax Calculation
题意:平面上n个建筑物,3个建筑物可以组成一个三角形,计算平均每个三角形内有多少个点
思路:问题等价于,求凹四边形的占所有四边形的比例,用O(n^2)的算法,跟
HDU 3629 Convex
这题是一个道理
代码:
#include
#include
#include
#include
using...
分类:
其他好文 时间:
2014-05-23 08:00:18
阅读次数:
192
题目连接:uva 11174 - Stand in a Line
题目大意:村子里有n个村名民,现在他们要排成一列,处于对长辈的尊敬,他们不能排在自己父亲的前面,有些人的父亲不一定在村子了。问有多少种列的顺序。
解题思路:【算法竞赛入门经典-训练指南】的例题,主要还用到了欧几里得拓展定理求逆元。
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2014-05-22 13:24:44
阅读次数:
179
The Falling Leaves
Each year, fall in the North Central region is accompanied by the brilliant colors of the leaves on the trees, followed quickly by the falling leaves accumulating under the trees....
分类:
其他好文 时间:
2014-05-22 13:21:30
阅读次数:
286
素数表在算法中经常会用到,所以掌握一种高效求解素数表的算法是很有必要的。
这里介绍一种算法:筛法。筛法的时间复杂度我不太清楚,但我知道是接近于 O(n) 的,比一般的求解素数的算法效率要高很多,其基本思想如下:
1、要得到 2 — n 之间的所有素数,先记录下 2 — n 之间的所有整数,用集合表示 A = { 2 , 3 , 4 , 5 , 6 …… n }
2、创建一张素数表 P...
分类:
其他好文 时间:
2014-05-22 12:21:52
阅读次数:
201
问题:写一个函数,计算4 000 000 000 以内的最大的那个f(n)=n的值,函数f的功能是统计所有0到n之间所有含有数字1的数字和。比如:f(13)= 6,因为“1”在“1,2,3,4,5,6,7,8,9,10,11,12,13”中的总数是6(1,10,11,12,13)。传统枚举方法效率低、求解时间长,本文介绍如何采样剪枝操作提高算法效率、降低求解时间。...
分类:
编程语言 时间:
2014-05-22 09:10:59
阅读次数:
336
基础练习 分解质因数
时间限制:1.0s 内存限制:512.0MB
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1*a2*a3...(a1
样例输入
3 10
样例输出
3=3
4=2*2
5=5
6=2*3
...
分类:
其他好文 时间:
2014-05-22 09:10:15
阅读次数:
558
题目:
链接:点击打开链接
题意:
给出N种设备的价值和数量,怎样尽可能的平分。
算法:
多重背包。
思路:
1.转化为01背包解决。2.使用单调队列优化O(VN)算法。
代码:
法一:
#include
#include
#include
using namespace std;
int n;
int v[55],m[55];
int...
分类:
其他好文 时间:
2014-05-22 09:09:38
阅读次数:
205
一、算法思想描述 归并排序:先递归分解序列,然后在合并有序序列。其过程描述如下:每次输出A、B这两个有序序列中的最小的一个。 二、算法分析 时间复杂度:最差、平均、最好的时间复杂度都是O(nlgn); 空间复杂度:O(n) 稳定性: 稳定三、算法实现 /*
* mergesort.cpp
*
* Created on: 2014年5月18日...
分类:
其他好文 时间:
2014-05-22 07:29:44
阅读次数:
250
经典排序算法:希尔排序法 让算法会说话,让程序自己告诉我们怎么回事......
分类:
其他好文 时间:
2014-05-22 07:29:06
阅读次数:
203
一、算法思想描述1)令i = L,j = R,将基准数挖出形成第一个坑(基准数可以选择第一个位置上的数作为基准数,也可以选择其他位置上的数作为基准数)。2)j-- 。从后往前扫,找到第一个比基准数小的数。并将其“挖出”,填到上一个形成的坑中arr[i]3)i++ 。 从前往后扫,找到第一个比基准数大的数。并将其“挖出”,填到上一个形成的坑中arr[j]4)不断地重复2)、3)直到i == j,...
分类:
其他好文 时间:
2014-05-22 06:48:32
阅读次数:
208