
基础算法
fisty
hi
展开
-
康托和逆康托展开
1.康托展开的解释康托展开就是一种特殊的哈希函数 把一个整数X展开成如下形式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[2]*1!+a[1]*0! 其中,a为整数,并且0 {1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231转载 2014-02-16 12:04:37 · 529 阅读 · 0 评论 -
uva10755 - Garbage Heap (最大子立方体)
/*********************************************** * Author: fisty * Created Time: 2015/1/25 15:49:25 * File Name : uva.cpp *********************************************** */#include #include #原创 2015-01-25 20:51:53 · 724 阅读 · 0 评论 -
蓝桥杯 2的次幂
//注意2 不要写成 2(2(0))#include#includeint sh[15]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384};void f(int n){ if(n == 1) {printf("2(0)"); return ;} if(n == 2) {printf("2"); return原创 2015-02-20 20:00:09 · 517 阅读 · 0 评论 -
uva11520 Fill the Square
/********************** * Author:fisty * Data:2014-12-11 * uva11520 * 字典序最小 * *********************/#include #include #include using namespace std;#define MAX_N 20int n;char G[MAX_N][MAX_N原创 2014-12-11 19:46:49 · 426 阅读 · 0 评论 -
uva 11462 更快的基数排序
/***************** * Author:fisty * Data:2014-12-12 * uva11462 * 基数排序 * *****************/#include #include #include #include using namespace std;#define MAX_N 101int a,n;int c[MAX_N];in原创 2014-12-12 22:44:57 · 523 阅读 · 0 评论 -
uva 11078 开放至系统
对于每个固定的j,我们应该选择的是小于j且a[i]最大的i,而且和a[j]的具体数值无关,这样从小到大枚举j顺便维护a[i]的最大值即可/* ***********************************************Author :fistyCreated Time :2014/12/23 20:01:05File Name :uva11078原创 2014-12-23 22:58:35 · 433 阅读 · 0 评论 -
uva1398 线性扫描
/* ***********************************************Author :fistyCreated Time :2014/12/23 21:56:54File Name :uva1398.cpp************************************************ */#include #in原创 2014-12-23 22:54:59 · 492 阅读 · 0 评论 -
05-2. Saving James Bond - Easy Version
需要注意的是1.能否从中心岛跳到其他顶点,需要计算(0,0)到顶点的距离再减去小岛半径 2.顶点到地点先把所有顶点转到到第一象限再判断方便一些/* ***********************************************Author :fistyCreated Time :2015/1/1 22:21原创 2015-01-11 21:51:02 · 533 阅读 · 0 评论 -
03-2. List Leaves (25) 树的层次遍历
首先,根据输入的信息建树,然后寻找根节点。寻找根节点的方法:用一个数组来标记每一个节点是否是其他节点的孩子节点,在输入中出现过得肯定不是根节点,因为输入的为节点左右孩子编号。之后从根开始层次遍历,将叶子节点保存在数组中,再按格式输出即可。/*********************************************** * Author: fisty * Create原创 2015-01-11 21:42:49 · 1736 阅读 · 0 评论 -
uva11549 老式计算器 (Floyd判圈 )
用神奇的Floyd判圈算法。如果两个小孩在直线跑道上跑同时出发,第二个小孩的速度是第一个小孩的两倍,那第二个小孩永远在前面。但如果在环形跑道上的话,第二个小孩将会“追上”第一个小孩。/* ***********************************************Author :fistyCreated Time :2014/12/21原创 2014-12-21 23:00:24 · 854 阅读 · 0 评论 -
codeforces 489A
/****************** * AUTHOR:fisty * data:2014-11-29 * cf489A * ****************/#include using namespace std;int a[4000];int main(){ int n; cin >> n; for (int i=0;i> a[i]; pair原创 2014-11-29 15:43:59 · 624 阅读 · 0 评论 -
uva11464Even Parity
/********************* * Author:fisty * Data:2014-10-29 * uva11464 * ******************/#include #include #include using namespace std;#define MAX_N 20const int INF = 1000000000;int n, A[MA原创 2014-10-29 21:55:55 · 460 阅读 · 0 评论 -
uva10881 ants
#include #include #include using namespace std;#define MAX_N 10010struct ant{ int id;//记录输入顺序 int p; //每只蚂蚁位置 int d; //每只蚂蚁方向,-1左,0正在碰撞,1右; bool operator原创 2014-10-27 22:08:21 · 477 阅读 · 0 评论 -
#257 A.B
A. Jzzhu and Childrentime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere are n children in Jzzhu's school. Jzzhu is原创 2014-07-30 23:36:35 · 481 阅读 · 0 评论 -
qsort 七种排序
七种qsort排序方法 一、对int类型数组排序 int num[100]; //Sample: int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp);原创 2014-02-17 23:17:21 · 991 阅读 · 0 评论 -
计算几何初步模板
1//计算几何模板 ~ alpc02 2const double PRECISION = 1e-8; 3struct Point { 4 double x, y; 5}; 6int dblcmp(double d) { 7 return (fabs(d) PRECISION) ? 0:(d>0 ? 1:-1); 8} //三叉口函数,避免精度误差 9d转载 2014-02-16 15:51:51 · 1336 阅读 · 0 评论 -
计算几何初步(一)
一、点。l 点的坐标A(x1, y1),B(x2, y2)二、向量。l 向量AB = (x2-x1, y2-y1) = (x3,y3) ,CD = (x4, y4)。l 向量的模|AB| = sqrt(x3*x3 + y3*y3) 即向量的长度。三、点积。l 点积的结果为一个数值。l 数值计算方法AB原创 2014-02-16 12:57:20 · 1315 阅读 · 0 评论 -
uva10125 (中途相遇法)
a + b = d - c;枚举a + b 加入哈希表,再枚举 d - c 在哈希表中查找,并且四个数字不能重复/*********************************************** * Author: fisty * Created Time: 2015/3/17 22:36:27 * File Name : uva10125.cpp ******原创 2015-03-22 16:24:25 · 1094 阅读 · 0 评论