自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

青竹梦

青色的竹子,紫色的梦

  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 poj-3463-Sightseeing-求次短路

题意是求最短路的数量和比最短路长1的路的数量。此题的本质就是在dij的过程中,可以把一个点走两次。一次最短,一次次短。最后判断即可。#include #include#include#include#include#include#include#include#include#includeusing namespace std;#define maxn 210

2014-03-31 21:41:24 1455

原创 poj-3013-Big Christmas Tree-求最短路

题目的意思是让那你建立一颗圣诞树。圣诞树以1为头结点。圣诞树每条边的花费为当前边的权值乘以当前边的子树的节点的权值和。那么就相当于求每个节点乘以节点到根节点的最短路的和。#include #include#include#include#include#include#include#include#include#includeusing namespace

2014-03-31 17:13:15 1361

原创 poj-2449-Remmarguts' Date-A*+求K短路

A*算法:算出每一个点的g[x],h[x];g[x]:走到当前点的指。h[x]:当前点到终点的预计值。这个值应该小于等于实际值。然后每次取g[x]+h[x]最小的一个做为选取点。当第k次选到终点的时候,终点走到了k次。#include #include#include#include#include#include#include#include#include

2014-03-31 16:01:15 1092

原创 poj-1696-Space Ant-极角排序

就是求点逆时针旋转的次序。第一次选取最左下角的点。然后每次选取一个极角最小的点。#include#include#include#include#include#includeusing namespace std;#define maxn 200000#define eps 0.00001#define zero(x) ((fabs(x)<eps)?0:x)#defi

2014-03-25 16:03:59 1042

原创 poj-1556-The Doors-dij+线段相交

计算几何:求两条线段是否相交。求两条线段是否相交只需要求两条线段的两个短点是否都在另外一条线段的两侧即可。图论:dij求最短路#include#include#include#include#includeusing namespace std;#define maxn 200000#define eps 0.00001#define zero(x) ((fabs(x)

2014-03-24 17:03:22 1172

原创 poj-3304-Segments-线段与直线相交

判断线段与直线是否相交,注意精度问题。#include#include#include#include#includeusing namespace std;#define eps 0.00000001#define zero(x) ((fabs(x)<eps)?0:x)struct segn{ double x1,y1; double x2,y2;}seg

2014-03-24 14:47:31 916

原创 poj-2318-TOYS-计算几何

判断一个点在一条直线的哪一侧的时候,可以使用两种方法。1,用叉积判左右2,使用直线的斜率判断左右#include#include#include#includeusing namespace std;int pan(int x1,int y1,int x2,int y2){ return x1*y2-x2*y1;}int uu[5500];int ll[550

2014-03-24 13:36:06 1311

原创 hdu-4497-GCD and LCM-gcd的性质

lcm(x,y,z)=k;gcd(x,y,z)=t;若:x=a*t;   y=b*t;       z=c*t;则lcm(a,b,c)=k/t;若k/t=2^A;则a,b,c中至少有一个数为2^A,至少有一个数是2^0,另外一个数为2^(0~A);共6*A种情况。则,若k/t=2^A*3^B*5^C;a,b,c的情况数为:(6*A)*(6*B)*(6*C);#inc

2014-03-21 22:47:54 2384 1

原创 usaco-3.1-Humble Numbers-<set的使用>

题目到是不难,主要是用了set,方便。/*ID: rowanha3LANG: C++TASK: humble*/#includeusing namespace std;#define LL long longsetse;set::iterator it;LL num[111];int main(){ freopen("humble.in","r",stdin)

2014-03-21 17:12:45 1195

原创 Codeforces Round #236 (Div. 1) A,B,C

A题:水题不用说,乱搞搞就过了。#include#include#include#includeusing namespace std;int map[51][51];int main(){    int i,j,a,b,c,d,T,n,p;    scanf("%d",&T);    while(T--)    {        scanf

2014-03-18 12:18:27 1413

原创 hdu-1811-Rank of Tetris-并查集+拓扑排序

/*用并查集把成绩相等的人放在一起。然后根据关系,把他们连起来。然后拓扑排序。如果拓扑排序结束之后,拓扑到的边数和输入的边数不同,那么肯定出现环了,那么就是信息错误。0否则,如果某个时刻出现两个点的入度都为0,那么就出现信息不完整。其他的就是结果正确了。*/#include#include#include#includeusing namespace

2014-03-18 12:17:40 1330

原创 zoj-3497-Mistwald-矩阵

题意:有一个n*m的矩阵,矩阵上每一个格子有四个传送门,分别通向四个格子,题目给出了每个格子的四个传送门所能到达的地方。起点在(1,1),终点是(n,m),当走到终点的时候就不能再走了,也就是说一旦你到达了终点,就会直接离开这个矩阵。问说从起点开始走P(0 ≤ P ≤ 100,000,000)步能不能到达终点。输出的情况是True,Maybe和False。Ture对应的就是走了P步以后只能

2014-03-13 20:14:04 1592

原创 hdu-4686-Arc of Dream-矩阵

构造一个矩阵。一开始自己的思路搓了,没有把sum值一起构造到矩阵里。还是对矩阵不是很熟悉,接着做题。悲伤啊。。只要是这一项由前面几项推出来的,就能放在同一个矩阵里。#include#include#include#includeusing namespace std;#define LL __int64#define MOD 1000000007struct matr

2014-03-13 17:11:49 1052

原创 POJ-3613-Cow Relays-矩阵

题目大意:   给出一张无向连通图,求S到E经过k条边的最短路。解题思路:    利用递推的思路,先算出经过一条边的最短路,再算两条边......k-1条边,k条边的最短路                  先看一下Floyd的核心思想: edge[i][j]=min(edge[i][j],edge[i][k]+edge[k][j])                  i到

2014-03-13 01:43:20 1701 2

原创 矩阵十大经典题目之八-hdu-2157-How many ways??

题目大意:给定一个有向图,问从A点恰好走k步(允许重复经过边)到达B点的方案数mod p的值把 给定的图转为邻接矩阵,即A(i,j)=1当且仅当存在一条边i->j。令C=A*A,那么C(i,j)=ΣA(i,k)*A(k,j),实际上就 等于从点i到点j恰好经过2条边的路径数(枚举k为中转点)。类似地,C*A的第i行第j列就表示从i到j经过3条边的路径数。同理,如果要求经过k步的 路径数,我

2014-03-13 01:00:45 3627 3

原创 矩阵十大经典题目之七- Warcraft--III--守望者的烦恼

原文:我们可以用上面的方法二分求出任何一个线性递推式的第n项,其对应矩阵的构造方法为:在右上角的(n-1)*(n-1)的小矩阵中的主对角线上填1,矩阵第n行填对应的系数,其它地方都填0。例如,我们可以用下面的矩阵乘法来二分计算f(n) = 4f(n-1) - 3f(n-2) + 2f(n-4)的第k项:         利用矩阵乘法求解线性递推关系的题目我能编出一卡车来。这里给出的

2014-03-12 16:28:01 2183

原创 矩阵十大经典题目之六- poj-3070-Fibonacci

题目很简单。注意初始化,一开始没有初始化,然后就错了。悲伤。#include#include#include#includeusing namespace std;#define Nnum 31#define Mnum 31#define LL long longstruct matrix{ int mat[3][3]; matrix() {

2014-03-11 19:44:08 1750

原创 矩阵十大经典题目之四- VOJ1049-送给圣诞夜的礼品

题目链接:https://vijos.org/p/1049题目大意: 顺次给出m个置换,反复使用这m个置换对初始序列进行操作,问k次置换后的序列。m注意:在写矩阵的乘法的时候一定要注意,写好到底是谁乘以谁。写反了就悲剧了。还有,在求快速幂取模的时候要用非递归写法,不然容易RE;#include#include#include#includeusing namespace

2014-03-11 19:22:05 3337

转载 矩阵的十大经典题目,留份做题

经典题目1 给定n个点,m个操作,构造O(m+n)的算法输出m个操作后各点的位置。操作有平移、缩放、翻转和旋转    这里的操作是对所有点同时进行的。其中翻转是以坐标轴为对称轴进行翻转(两种情况),旋转则以原点为中心。如果对每个点分别进行模拟,那么m个操作总共耗时O(mn)。利用矩阵乘法可以在O(m)的时间里把所有操作合并为一个矩阵,然后每个点与该矩阵相乘即可直接得出最终该点的位置,总共耗时O

2014-03-11 16:50:05 12266

原创 矩阵十大经典题目之三-POJ-3233-Matrix Power Series-两次二分

如果k为偶数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2)   如果k为奇数,那么(A+A^2+....A^K) = (A+...+A^K/2)+A^K/2*(A+...+A^K/2)+A^k然后二分求解即可。思路简单。接下来说一下优化的问题:-------------------------------

2014-03-11 16:48:02 4045 2

原创 Codeforces Round #235 (Div. 2)

A,B,C水题,没啥好说的。D:dp[i][j]:现在用的数的状态为i,余数为j的数量st[i]:使用数i,需要增加的状态need[i]:使用数i最多可以增加到的状态。pan[i]:状态i所在的区间。dp[k+st[j]][(i*10+j)%m]+=dp[k][i];#include#include#include#includeusing namespac

2014-03-11 14:41:45 865

原创 取余运算

计算(a/b)%c  其中b能整除a如果b与c互素,则(a/b)%c=a*b^(phi(c)-1)%c如果b与c不互素,则(a/b)%c=(a%bc)/b对于b与c互素和不互素都有(a/b)%c=(a%bc)/b成立

2014-03-06 18:42:05 1201

原创 斐波那契数列的性质

fibonacci数列的性质:1.gcd(fib(n),fib(m))=fib(gcd(n,m))证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m时gcd(fib(n),fib(m))=gcd(fib(n-m),fib(m)),递归可求gcd(fib(n),fib(m))=gcd(fib(k),fib(l)),最后k=l,不然继续递归。K

2014-03-06 18:40:57 3485

原创 poj-2352-Stars-线段树

很裸的单点更新线段树#include#include#include#includeusing namespace std;#define maxn 110000struct list{ int l,r; int x;}node[maxn*6];struct listt{ int x,y; bool friend operator < (co

2014-03-03 21:15:55 919

原创 poj-2482-Stars in Your Window-线段树

线段树。题意:平面上有许多点,每个点有一个权值。给定一个大小确定的矩形,边与x,y轴平行,平移这个矩形能圈住的点的权值之和最大是多少。注意:矩形边上的不算,所以应该把矩形缩小一点。数据范围会超int,建议用long long做法:先把题目转化一下,用矩形的中心点来描述这个矩形的位置。并对每个点建立一个矩形中心点的活动范围,即矩形中心点在这个范围内即可覆盖到该点,建立方法就是

2014-03-03 19:50:18 1339 2

zookeeper的设计原理及应用

该文件详细的介绍了zookeeper的设计原理,主要对选举和事务进行说明。还列举了一些应用场景,值得一看

2018-03-22

餐饮管理系统设计说明书

餐饮管理系统设计说明书,有详细的说明。 第一部分 引言 1.1 开发背景与现状 当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。

2014-12-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除