ACM
Chiryen
这个作者很懒,什么都没留下…
展开
-
大数运算(加减乘除)
加法void add(char a[],char b[],char d[]){ char c[10001]; int lena=strlen(a),lenb=strlen(b); int i,j,len; len=lena>lenb?lena:lenb; len++; c[0]='\0'; for(i=1;i)原创 2013-08-20 10:24:36 · 659 阅读 · 0 评论 -
扩展的欧几里得
POJ1061 青蛙的约会公青蛙一开始在x位置,母青蛙在y位置。公青蛙每次跳m米,母青蛙每次跳n米,并且都是向右跳的。地球经线长度是L,然后地球是圆的,也就是说,跳到L、L+1、L+2……其实就是跳到0、1、2。 公青蛙想追母青蛙,问多少次后它们能跳到一起。如果它们永远不能相遇,就输出Impossible(好可怜啊!) 很明显嘛,就是求一个k,使x + k*m ≡ y + k*n (mod原创 2013-08-20 10:24:34 · 511 阅读 · 0 评论 -
最小生成树(HDOJ 1863)
畅通工程http://acm.hdu.edu.cn/showproblem.php?pid=18631.Prim算法:Prim算法是由一个点(最初的集合)向外延伸,找到与集合相连权值最小的边,然后把对应顶点拉到集合里,直到所有的顶点全部在集合里为止。 Prim算法的演示如下:http://sjjp.tjuci.edu.cn/sjjg/DataStructure/DS/w原创 2013-08-20 10:24:43 · 593 阅读 · 0 评论 -
HDOJ(1010)DFS+剪枝
Tempter of the Bonehttp://acm.hdu.edu.cn/showproblem.php?pid=1010#include #include char map[10][10];int dx[]={1,0,-1,0};int dy[]={0,1,0,-1};bool flag;int n,m,xd,yd,t;void DFS(i原创 2013-08-20 10:24:50 · 540 阅读 · 0 评论 -
POJ(3468)
A Simple Problem with Integershttp://poj.org/problem?id=3468#include struct node{ int l,r; __int64 sum; __int64 add;}tree[100000*3];void build(int left,int right,int roo原创 2013-08-20 10:24:52 · 433 阅读 · 0 评论 -
并查集(HDOJ 1856)
并查集 英文:Disjoint Set,即“不相交集合”将编号分别为1…N的N个对象划分为不相交集合,在每个集合中,选择其中某个元素代表所在集合。 常见两种操作:n 合并两个集合n 查找某元素属于哪个集合 并查集实现的程序代码:int set[MAXN],rank[MAXN]; //set[i]=k表示i的父节点是k,rank[]存储原创 2013-08-20 10:24:38 · 600 阅读 · 0 评论 -
种类并查集(POJ 1703)
1703 -- Find them, Catch themhttp://poj.org/problem?id=1703题目大意:有2个敌对帮派,输入D a b表示a,b在不同帮派,输入A a b表示询问a,b是否是在一个帮派。 题解:因为并查集中的元素均是有联系的,否则也不会被合并到当前集合中。那么我们就把这2个元素之间的关系量转化为一个偏移量,假设x->y 偏移量0时 x和y原创 2013-08-20 10:24:40 · 487 阅读 · 0 评论 -
HDOJ(1728)逃离迷宫
HDOJ 1728http://acm.hdu.edu.cn/showproblem.php?pid=1728BFS求最少转过的弯#include #include string.h>#include using namespace std;int map[101][101];int w[101][101]; //记录到当前点已经转过个弯,初始化为-1,检测原创 2013-08-20 10:24:45 · 603 阅读 · 0 评论 -
HDOJ(1242)BFS+优先队列
Rescuehttp://acm.hdu.edu.cn/showproblem.php?pid=1242题意:"#"是墙,"."是路,"a"是要被救的人,"r"是救援者,"x"是guard。每移动一步,需要一个单位时间。杀死guard也需要一个单位时间。求r到a的最短时间。第一次听说优先队列,不得不承认我还是太弱了!!!#include #include string.原创 2013-08-20 10:24:47 · 501 阅读 · 1 评论 -
母函数
有1克、2克、3克、4克的砝码各一枚,能称出哪几种重量?每种重量各有几种可能方案? 考虑用母函数来接吻这个问题:我们假设x表示砝码,x的指数表示砝码的重量,这样:1个1克的砝码可以用函数1+x表示,1个2克的砝码可以用函数1+x2表示,1个3克的砝码可以用函数1+x3表示,1个4克的砝码可以用函数1+x4表示,几种砝码的组合可以称重的情况,可以用以上几个函数的乘积表示:原创 2013-08-20 10:24:31 · 500 阅读 · 0 评论