
ACM博客专栏
文章平均质量分 59
专栏提供有关ACM-ICPC的一些个人的资料,看法和题解
玄苦大师233
机会往往是长期准备和酝酿的而不能只靠一时的主动与激情所以认真写好技术博客吧
新博客 =》https://chenguolin.github.io/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【ICPC-455】C++ 常用数学函数库
abs原型:extern int abs(int x);用法:#include <math.h>功 能:求整数x的绝对值说明:计算|x|, 当x不为负时返回x,否则返回-x举例:#include <syslib.h>#include <math.h>int main(){ int x = -5; printf("|...原创 2012-11-09 00:11:55 · 7118 阅读 · 0 评论 -
【ICPC-447】8个常用的字符串哈希函数
最有用的两个unsigned long long hash; // hash使用unsigned long long,超过了unsigned long long就相当于取模//常用11 SDBMHashint SDBMHash(char *str){ hash = 0; while (*str) hash = (*str++) + (hash <&l...原创 2012-08-06 09:04:31 · 1838 阅读 · 0 评论 -
【ICPC-456】BFS和DFS的路径输出
DFS 其实就是一直顺着一个方向不断的搜索直到找到了目标为止。路径输出的时候,利用记录前面的点即可。举例:#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>using namespace std;#define N 9int ...原创 2012-11-09 00:33:18 · 8127 阅读 · 0 评论 -
【ICPC-452】最短路算法
最短路径问题旨在寻找图中两节点之间的最短路径,常用的算法有以下四种。注意是把图处理成无向还是有向Dijkstra's (权值非负)1 Dijkstra's算法解决的是图中单个源点到其它顶点的最短路径。只能解决权值非负2 Dijkstral只能求出任意点到达源点的最短距离(不能求出任意两点之间的最短距离),同时适用于有向图和无向图,复杂度为O(n^2).3算法的过程:1设置顶点集合S并不断的...原创 2012-09-19 14:12:09 · 2760 阅读 · 0 评论 -
【ICPC-451】最小生成树
最小生成树1概述:在一个具有几个顶点的连通图G中,如果存在子图G'包含G中所有顶点和一部分边,且不形成回路,则称G'为图G的生成树,代价最小生成树则...原创 2012-09-17 20:26:26 · 3023 阅读 · 0 评论 -
【ICPC-450】并查集
并查集1定义:一种简单的用途广泛的集合.并查集是若干个不相交集合,能够实现较快的合并和判断元素所在集合的操作,应用很多,如其求无向图的连通分量个数等。最完美的应用当属:...原创 2012-09-16 20:05:29 · 2169 阅读 · 1 评论 -
【ICPC-460】线段树
线段树 一 什么是线段树 线段树是一棵二叉树,树中的每一个结点表示了一个区间[a,b]。每一个叶子节点表示了一个单位区间。对于每一个非叶结点所表示的结点[a,b],其左儿子表示的区间为[a,(a+b)/2],右儿子表示的...原创 2012-12-19 23:10:40 · 1341 阅读 · 1 评论 -
【ICPC-461】常见排序算法的总结与比较
1 冒泡排序/*作者:chenguolin功能:测试冒泡排序的效率日期:2013.01.10 22:01*//*1 冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后...原创 2013-01-11 00:37:55 · 1235 阅读 · 0 评论 -
【ICPC-462】二叉树+二叉树搜索树+堆
二叉树二叉树的几个性质1在二叉树的第i层最多有2^(i-1)个节点2深度为k的二叉树最少有k个节点,最多2^k-1个节点3对于任何一颗非空二叉树,如果其叶子节点数为n0,度为2的非叶子节点个数为n2= n0-14具有n个节点的完全二叉树的深度为log(n+1)5有前序序列和中序序列可以...原创 2013-01-15 21:16:09 · 1526 阅读 · 0 评论 -
【ICPC-449】位运算整理
有关二进制的几个重点1 二进制的最高位是符号位,0表示正数,1表示负数2 正数的原码 反码 补码都一样3 负数的反码 = 它的原码符号位不变,其它位取反4 负数的补码 = 反码+15 0的补码和反码都是06 在计算机内部都是以补码的形式来运算的7 偶数的二进制最后一位都为0,奇数的最后一位为11. & 运算 1&运算通常用于二进...原创 2012-09-10 05:33:56 · 1453 阅读 · 2 评论 -
【ICPC-444】快速幂
1//整数的快速幂 m^n % k 的快速幂:long long quickpow(long long m , long long n , long long k){ long long ans = 1; while(n){ if(n&1)//如果n是奇数 ans = (ans * m) % k;...原创 2012-07-13 01:00:59 · 1739 阅读 · 0 评论 -
【ICPC-441】字典树+KMP+AC自动机
<<字典树模板>>1:字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种。用于统计,排序和保存大量的字符串(也可以保存其他的)。优点就是利用公共的前缀来节约存储空间。在这举个简单的例子:比如说我们想储存3个单词,sky、skyline、skymoon。如...原创 2012-06-22 11:02:29 · 2606 阅读 · 0 评论 -
【ICPC-440】字符串处理的常用函数
1函数名:strcpy功能:拷贝一个字符串到另一个字符串里面用法:char *strcpy(char *destin, char *source);程序例:#include<stdio.h>#include <string.h>int main(){ char st...原创 2012-06-15 20:28:24 · 1233 阅读 · 0 评论 -
【ICPC-439】高精度模板
<<高精度模板>>#include <cstdio>#include <iostream>#include <algorithm>#include <ctime>#include <cs...原创 2012-06-10 00:24:26 · 1444 阅读 · 0 评论