- 博客(62)
- 资源 (28)
- 收藏
- 关注
原创 ACM在线模版-f-zyj
试图打造最为完善最为工整的ACM竞赛模版!!!By-f-zyj在线速查!赛前整理打印,为比赛做足准备-_-#
2016-06-06 13:26:50 114831 62
原创 POJ-2689-Prime Distance
ACM模版题目链接POJ 2689 Prime Distance题解素数排查问题,问题的关键在于如何找出给定区间中的所有素数,涉及到一个预处理。代码#include <iostream>using namespace std;const int MAXN = 100010;int prime[MAXN + 1];// 预处理void getPrime(){ memset(prime,
2016-06-30 23:18:16 801
原创 素数相关
ACM模版判断小于MAXN的数是不是素数/* * 素数筛选,判断小于MAXN的数是不是素数 * notprime是一张表,false表示是素数,true表示不是 */const int MAXN = 1000010;bool notprime[MAXN];void init(){ memset(notprime, false, sizeof(notprime)); no
2016-06-30 21:16:22 3051 2
原创 线性方程组(高斯消元)
ACM模版列主元/* * 列主元gauss消去求解a[][] * x[] = b[] * 返回是否有唯一解,若有解在b[]中 */#define fabs(x) ((x) > 0 ? (x) : (-x))#define eps 1e-10const int MAXN = 100;int gaussCpivot(int n, double a[][MAXN], double b[])
2016-06-29 17:55:48 2629
原创 模线性方程(组)
ACM模版公共部分(扩展GCD)int extgcd(int a, int b, int &x, int &y){ if (b == 0) { x = 1; y = 0; return a; } int d = extgcd(b, a % b, x, y); int t = x; x = y;
2016-06-29 15:48:02 1925
原创 NYOJ-739-笨蛋难题四
描述这些日子笨蛋一直研究股票,经过调研,终于发现xxx公司股票规律,更可喜的是 笨蛋推算出这家公司每天的股价,为了防止别人发现他的秘密。他决定对于这家公司的 股票最多买一次,现在笨蛋已经将股票价格列了出来。(这已经不是笨蛋的难题了,他已经解决 呵 呵)。只想难为难为你呀,从股票价格表上,你能算出笨蛋的每股股票最多能赚多少钱吗?输入 第一行一个n,表示n天(小于100000) 第二行 给出n天每股
2016-06-29 13:29:19 646 8
原创 NYOJ-116-士兵杀敌(二)
描述描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。输入 只有一组测试数据。 第一行是两个整数N,M,其中N表示士兵的个数(1< N <1000000),M表示指令的条数。(1
2016-06-28 22:39:52 482
原创 GCD
ACM模版GCD最大公约数int gcd(int x, int y){ if (!x || !y) { return x > y ? x : y; } for (int t; t = x % y, t; x = y, y = t); return y;}快速GCDint kgcd(int a, int b){ if (a == 0
2016-06-28 15:38:57 3600
原创 欧拉函数PHI
ACM模版递推求解using namespace std;const int MAXN = 100;int phi[MAXN + 2];int main(int argc, const char * argv[]){ for (int i = 1; i <= MAXN; i++) { phi[i] = i; } for (int i = 2; i
2016-06-28 15:15:37 5091 6
原创 计算分数的精确值-高精度除法
描述计算分数的精确值。使用数组精确计算M / N(0 < M < N ≤ 100)的值。如果M / N是无限小数或小数部分超过20位,则精度要求小数点后20位,并输出。说明由于计算机内字长有限,常规的浮点数运算都有精度限制,为了得到高精度的计算结果,就必须自行设计算法,这里涉及到的算法是高精度算法中的除法。提示可以将商存放在一维数组中,进行除法运算,可模拟人的手工操作,即每次求出商的一位后,将余数乘
2016-06-28 11:33:46 4825
原创 学年总结(2015-2016学年回顾)
一不小心,又是一年,当然,这里说的是学年。依稀记得,上一年的今天(也许不是),知道了高考成绩,结果有些意外,原本可以考重本的底子,因为高三的分心,放弃了对大学的选择权。想着撑死了上个三本了事,可是成绩下来却上了二本线。颇多原因,导致原本铁了心要上三本的我阴差阳错的上了二本……高考报志愿时,我想,大学四年我学的东西不见得出来后能对口,何不过好眼下?于是乎,任性的将所有志愿都填成了计算机相关专业,因为我
2016-06-27 05:19:38 2885 24
原创 集合类(并集、交集、差集操作)
昨日,朋友拿来一份有些问题的源代码,是一个集合类和几个集合操作函数(并集、交集、差集),帮忙改了一下,刚转C++不到半个月,因为只是为了算法竞赛而学C++,所以只好好学了C++偏向算法层的知识,类只是过了一遍,没有自己尝试写过,刚好拿来练练手,于是大刀阔斧的修改了起来,变动不是太大,都是细节有所改动(因为他的代码细节问题很多),大的体系没有变。代码C++:#include <iostream>#
2016-06-26 04:24:18 5565 3
原创 vim C++配置
vim .cpp文件初始化配置set nuset history=1000000set tabstop=4set shiftwidth=4set smarttabset cindentcolo eveningset nobackupset noswapfileset mouse=amap <F6> :call CR()<CR>func! CR()exec "w"exec "!g++
2016-06-25 06:56:12 701 4
原创 ACM/ICPC竞赛之STL--algorithm
ACM模版algorithm<algorithm>无疑是STL中最大的一个头文件,它是由一大堆模板函数组成的。以下列举出<algorithm>中的模版函数: A adjacent_findB binary_searchC copy / copy_backward / count / count_ifE equal / equal_rangeF fill / fill_n
2016-06-25 05:23:20 3117
原创 ACM/ICPC竞赛之STL--map
ACM模版map在STL的头文件中<map>中定义了模版类map和multimap,用有序二叉树表存储类型为pair<const Key, T>的元素对序列。序列中的元素以const Key部分作为标识,map中所有元素的Key值必须是唯一的,multimap则允许有重复的Key值。可以将map看作是由Key标识元素的元素集合,这类容器也被称为“关联容器”,可以通过一个Key值来快速决定一个元素,因
2016-06-25 04:20:59 4278
原创 ACM/ICPC竞赛之STL--queue
ACM模版stack(栈)和queue(队列)是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)和queue(队列)的实现。准确的说,STL中的stack和queue不同于vector、list等容器,而是对这些容器进行了重新的包装。这里我们不去深入讨论STL的stack和queue的实现细节,而是来了解一些他们的基本使用。queuequeue模版类的定义在<queue>头
2016-06-25 03:42:19 2671
原创 ACM/ICPC竞赛之STL--stack
ACM模版stack(栈)和queue(队列)是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)和queue(队列)的实现。准确的说,STL中的stack和queue不同于vector、list等容器,而是对这些容器进行了重新的包装。这里我们不去深入讨论STL的stack和queue的实现细节,而是来了解一些他们的基本使用。stackstack模版类的定义在<stack>头
2016-06-25 02:52:06 2164
原创 ACM/ICPC竞赛之STL--string
ACM模版string字符串是程序中经常要表达和处理的数据,我们通常是采用字符数组或字符指针表示字符串。STL为我们提供了另一种使用起来更为便捷的字符串的表达方式:string。string类的定义在头文件<string>中。string类其实可以看作是一个字符的vector,vector上的各种操作都可以适用于string,另外,string类对对象还支持字符串的拼合、转换等操作。 Exampl
2016-06-25 02:30:05 2442
原创 ACM/ICPC竞赛之STL--iterator简介
ACM模版iterator简介iterator(迭代器)是用于访问容器中元素的指示器,从这个意义上说,iterator(迭代器)相当于数据结构中所说的“遍历指针”,也可以把iterator(迭代器)看作是一种泛化的指针。STL中关于iterator(迭代器)的实现和使用时相当复杂的,这里我们暂时不去详细讨论关于iterator(迭代器)的实现和使用,而只对iterator(迭代器)做一点简单的介绍。
2016-06-24 18:25:00 1866 4
原创 邻接表
ACM模版邻接表(网)图描述:结点带权值,边带权值,有向图,属于网结构。using namespace std;// 边点结构typedef struct Edge{ int tag; int weigh; struct Edge *next;}Edge;// 表结构typedef struct Table{ int data; Edge *fi
2016-06-24 04:22:54 913
原创 ACM/ICPC竞赛之STL--vector
vector在STL的<vector>头文件中定义了vector(向量容器模版类),vector容器以连续数组的方式存储元素序列,可以将vector看作是以顺序结构实现的线性表。当我们在程序中需要使用动态数组时,vector将会是理想的选择,vector可以在使用过程中动态地增长存储空间。 vector模版类需要两个模版参数,第一个参数是存储元素的数据类型,第二个参数是存储分配器的类型,其中第二个
2016-06-23 22:31:41 3891 1
原创 ACM/ICPC竞赛STL--pair
ACM模版 STL的<utility>头文件中描述了一个看上去非常简单的模版类pair,用来表示一个二元组或元素对,并提供了按照字典序对元素对进行大小比较运算符模版函数。 Example,想要定义一个对象表示一个平面坐标点,则可以:pair<double, double> p;cin >> p.first >> p.second;pair模版类需要两个参数:首元素的数据类型和尾元素的数据类型。
2016-06-23 21:04:03 4042 6
原创 ACM/ICPC竞赛之STL简介
ACM模版STL简介关于STLSTL(Standard Template Library,标准模版库)是C++语言标准中的重要组成部分。STL以模板类和模版函数的形式为程序员提供了各种数据结构和算法的实现,程序员吐过能够充分的利用STL,可以在代码空间、执行时间和编码效率上获得极大的好处。STL大致可以分为三大类:算法(algorithm)、容器(container)、迭代器(iterator)。S
2016-06-23 19:52:25 17940 2
原创 头文件
ACM模版ACM/ICPC竞赛头文件(C/C++) #include <iostream> #include <algorithm> #include <cstdio> #include <cmath> #include <cstdlib> #include <stack> #include <vector> #include <list> #include
2016-06-23 17:33:28 1098
原创 论玩转一对儿iMac的华丽性!!!
大一开学,自己搞了一台27iMac,大一将近结束,进入学院一个名为电脑120的社团,里面有两台闲置的21iMac(全新的,没人用),于是跟组长请示,批走了一台21iMac!早在进这个社团前,我就打起了这个21寸iMac的主意,因为我感觉我的不够用,屏幕太小了。因为知道win可以实现一主机多屏幕的无缝对接,也就是通常说的分屏。于是找了好久关于iMac如何分屏的方法,可是一直未能找到合适的,于是乎便向各
2016-06-23 05:34:51 1004 5
原创 赫夫曼编码
ACM模版赫夫曼编码mainmain.cpp#include <iostream>#include "huffman.hpp"int main(int argc, const char * argv[]){ // 源码 char S[] = "I love Golden Dream!";// char S[] = "I love FishC.com!"; //
2016-06-23 03:50:27 610 1
转载 二叉查找树
二叉查找树#include <iostream>template<typename T> //树结点结构class BSTNode{public: T _key; //结点值 BSTNode *_lchild; BSTNode *_rchild; BSTNode *_parent; //构造函数 BSTNode(T
2016-06-22 19:10:13 562
原创 .hpp与.h区别
最近用Xcode创建新的.cpp文件,结果一下子出现了两个同名不同格式文件,一个.cpp,另一个.hpp,而我原本就需要用到.h格式文件(也可能是.hpp),所以查阅了一些.hpp和.h的资料,毕竟两者看着有些相似,猛一些感觉是近亲关系。.hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该.hpp文件即可,无需再将cpp加入到p
2016-06-22 16:41:50 64075 5
原创 strstr函数
ACM模版strstr/* * strstr函数 * 功能:在串中查找指定字符串的第一次出现 * 用法:char *strstr(char *strOne, char *strTwo); * 据说strstr函数和KMP的算法效率差不多 */int main(int argc, const char * argv[]){ char strOne[] = "Borland
2016-06-22 05:47:00 2884
原创 Karp-Rabin算法
ACM模版字符串匹配/* * hash(w[0 ... m - 1]) = * (w[0] * 2 ^ (m - 1) + ... + w[m - 1] * 2 ^ 0) % q; * hash(w[j + 1 ... j + m]) = * rehash(y[j], y[j + m], hash(w[j ... j + m - 1]); * rehash(a, b, h) =
2016-06-22 00:02:07 2895 1
原创 线索二叉树
ACM模版线索二叉树typedef char ElemType;// 线索存储标志位// Link(0):表示指向左右孩子的指针// Thread(1):表示指向前驱后继的线索typedef enum {Link, Thread} PointerTag;typedef struct BiThrNode{ char data; struct BiThrNode *lchi
2016-06-21 21:38:56 583
原创 Manacher最长回文子串
ACM模版Manacher算法最长回文子串实例/* * 求最长回文子串 */const int MAXN = 110010;char A[MAXN * 2];int B[MAXN * 2];void Manacher(char s[], int len){ int l = 0; A[l++] = '$'; //0下标存储为其他字符 A[l++] = '#';
2016-06-20 16:58:24 1567 1
原创 扩展KMP
ACM模版扩展KMP/* * 扩展KMP * next[i]:x[i...m-1]的最长公共前缀 * extend[i]:y[i...n-1]与x[0...m-1]的最长公共前缀 */void preEKMP(char x[], int m, int next[]){ next[0] = m; int j = 0; while (j + 1 < m && x[j]
2016-06-19 22:14:55 1832
原创 仿射密码解密
描述已知仿射加密的变换公式为 c = (11 * m) mod 26,试着对密文解密。解析这里我们要强调的是加密过程不是对字符对应的ascii值进行加密,而是用0~25表示a~z26个英文字母。通过乘法加密和加法加密再取模。于是我们顺理成章的就会想到逆向推解。当然这里的推解过程虽然不是很直接,但是并不难,如下代码。另外,并不是所有的仿射加密都可以逆向解密,只有符合C = Ek(m) =(k1m +
2016-06-17 00:07:56 13677 1
原创 KMP算法
ACM模版KMP_Pre/* * next[]的含义,x[i - next[i]...i - 1] = x[0...next[i] - 1] * next[i]为满足x[i - z...i - 1] = x[0...z - 1]的最大z值(就是x的自身匹配) */void KMP_Pre(char x[], int m, int next[]){ int i, j; j =
2016-06-16 20:55:21 3143 3
原创 字符串 HASH
ACM模版字符串 HASH/* * 字符串 Hash * 注意:mod选择足够大的质数(至少大于字符串个数) */unsigned int hashA(char *url, int mod){ unsigned int n = 0; char *b = (char *)&n; for (int i = 0; url[i]; i++) { b[i
2016-06-15 18:03:09 2011
原创 NYOJ-108-士兵杀敌(一)
描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军现在想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 注意,南将军可能会问很多次问题。输入 只有一组测试数据 第一行是两个整数N,M,其中N表示士兵的个数(1< N <1000000),M表示南将军询问的次数(1< M <100000) 随后的一行是N个整数,ai表示第i号
2016-06-15 00:16:10 1025
原创 无向图连通度(割)
ACM模版无向图连通度(割)/* * INIT: edge[][]邻接矩阵;vis[],pre[],anc[],deg[]置为0; * CALL: dfs(0, -1, 1, n); * k = deg[0], deg[i] + 1(i = 1...n - 1)为删除该节点后得到的连通图个数 * 注意: 0作为根比较特殊 */const int V = 1010;int edge[V][
2016-06-14 23:03:40 2418 1
转载 MySQL配置文件my.cnf 详解
转载而来>>> PS:my.cnf文件路径查找MySQL配置文件my.cnf 例子最详细翻译,保存做笔记用。#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM#END CONFIG INFO## 此mysql配置文件例子针对4G内存。 # 主要使用INNODB# 处理复杂队列并且连接
2016-06-14 20:40:27 2783 18
原创 无向图找桥
ACM模版无向图找桥/* * 无向图找桥 * INIT: edge[][]邻接矩阵;vis[],pre[],ans[],bridge置0; * CALL: dfs(0, -1, 1, n); */const int V = 1010;int bridge; //桥int edge[V][V];int ans[V];int pre[V];int vis[V];void dfs(int
2016-06-14 00:09:51 3501
ACM模板-f_zyj 更新(内含 v 1.1 和 v 2.1 的 .pages 格式和 .pdf 格式)
2017-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人