- 博客(33)
- 问答 (1)
- 收藏
- 关注
原创 纪念SlingShot 矩阵快速幂 构造矩阵
纪念SlingShotTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescription已知 F(n)=3 * F(n-1)+2 * F(n-2)+7 * F(n-3),n>=3,其中F(0)=1,F(1)=3,F
2016-11-29 21:52:46 531
原创 codeforces 185A. Plant 矩阵快速幂
PlantTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionDwarfs have planted a very interesting plant, which is a triangle direct
2016-11-29 20:53:58 717
原创 Fibonacci Check-up 矩阵快速幂
Fibonacci Check-upTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionEvery ALPC has his own alpc-number just like alpc12, alpc55,
2016-11-29 19:46:06 512
原创 Tr A 矩阵快速幂
Tr ATime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionA为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。 Input数据的第一
2016-11-26 10:54:53 380
原创 矩阵快速幂模板
矩阵快速幂#include #include #include #include #include #include #include #include #include #define INF 99999999 #define maxn 10 using
2016-11-25 20:19:03 382
原创 Rightmost Digit 快速幂取模
Rightmost DigitTime Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionGiven a positive integer N, you should output the most right di
2016-11-25 16:13:38 374
原创 Til the Cows Come Home 最短路径
Til the Cows Come HomeTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionBessie is out in the field and wants to get back to the ba
2016-11-24 15:48:57 426
原创 google 编程规范
1.尽量不要使用全局变量,包括STL2.函数尽量要短,以便于修改,不超过40行,超过了40行将其分割3.禁止使用变长数组和allocate,存在内存泄露的危险,有可能在自己机器上能运行,到了其他机器上就不行了4.不要使用流,适用printf和scanf,I/O要唯一5.当a++不影响程序结果时,用++a,因为a++会对i值进行一次拷贝6.能用const就用const,const放在前面
2016-11-23 18:27:19 817
原创 Socks CF 731C 并查集
SocksTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 731CDescriptionArseniy is already grown-up and independent.
2016-11-22 21:43:29 937
原创 随笔,记录一下发现的一些小知识点
1.#include这个头文件包含以下等等C++中包含的所有头文件: #include #include #include #include #include #include #include #include #include #include #include #include #include 不
2016-11-22 21:13:19 384
原创 POJ 1703 Find them, Catch them 种类并查集
Find them, Catch themTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 1703DescriptionThe police office in Tadu City decides
2016-11-22 17:25:20 381
原创 Slim Span 求生成树的最大边与最小边的差最小的值
Slim SpanTime Limit:5000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit Status Practice POJ 3522DescriptionGiven an undirected weighted graph G, you should
2016-11-21 20:52:49 1141
原创 Borg Maze 广搜+最小生成树
Borg MazeTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionThe Borg is an immensely powerful race of enhanced humanoids from the d
2016-11-20 16:20:50 423
原创 Truck History 最小生成树
Truck HistoryTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionAdvanced Cargo Movement, Ltd. uses trucks of different types. Some
2016-11-19 16:12:06 476
原创 The Unique MST 独一无二的最小生成树
The Unique MSTTime Limit:1000MS Memory Limit:10000KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionGiven a connected undirected graph, tell if its minimum spanning t
2016-11-19 15:36:31 375
原创 The Suspects 解决多棵树合并成一棵树的问题
The SuspectsTime Limit:1000MS Memory Limit:20000KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of u
2016-11-18 10:45:01 1255
原创 Conscription 征兵
ConscriptionTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmit StatusDescriptionWindy has a country, and he wants to build an army to protect his
2016-11-17 15:54:19 457
原创 Fix a Tree 利用并查集合并树,解决树中存在环的问题
Fix a TreeTime Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionA tree is an undirected connected graph without cycles.Let's cons
2016-11-16 19:58:04 527
原创 单源最短路径 Bellman-Ford----解决负权变(加入了队列优化)
算法过程初始时将源点加入队列,每次从队首取出一个定点,并与其出边进行松弛操作,如果松弛成功则将该出边的终点加入到队列中去,处理完毕该点的所有出边后,出队列,继续进行上述操作,选取队列的顶点,直到队列为空,算法结束,这里需要用一个book数组进行记录目前队列中存在哪些点,如果对某一条边松弛成功,但是该出边的终点在队列中,那么久没必要把该点插入到队列中,因为队列中存在该点,会对该点的说=所有出边进
2016-11-13 19:50:31 507
转载 Prime算法 与 Kruskal算法的时间复杂度比较
转自G机器猫评测环境:WindowsXP,FreePascal2.40,Pentium(R) Dual-Core CPU T4300@2.10GHz,2G内存通过上图可以看出:1.Prim在稠密图中比Kruskal优,在稀疏图中比Kruskal劣。2.Prim+Heap在任何时候都有令人满意的的时间复杂度,但是代价是空间消
2016-11-11 20:23:48 16994 1
原创 最小生成树
1.Kruskal算法首先按照变得权值从小到大排序,每次从剩余的边中选出权值最小的且两个顶点不在同一集合中的边(为的是不产生回路),加入到生成树中,直到加入了n-1条边为止对边进行快排O(MkogM),在m条边中选出n-1条边是O(MlogN),所以Kruskal算法的时间复杂度为O(MlogM +MlogN),通常M要比N大得多,因此最终算法的时间复杂度为O(MlogM)#inc
2016-11-10 20:34:15 396
原创 并查集
并查集分两部分,并和查,把相同祖先的人并到一起,查是检查两个人是否是同一个祖先,并查集与邻接表有些相似,但是邻接表是没办法通过直接通过起点和终点确定,两个点之间是否有边,其实也就是表达的并查集当中的两个人是否与共同的祖先#include#include#include#include#include#include#include#define maxn 20#define i
2016-11-10 00:27:57 321
原创 堆--优先队列 (Python)最大堆,最小堆 create, pop, push
1.完全二叉树的一个父节点编号为k,那么他的左二子的编号为2*k,右二子节点的编号为2*k+12.如果已知儿子(左儿子或者右儿子)的编号为x,那么他的父节点的编号为x/2(取整除,就是计算机里的/)3.一棵完全二叉树的高度为logN,即最多有logN层节点4.最小堆是所有的父节点都比他的子节点小,最大堆是所有的父节点都比他的子节点大5.像这样支持插入元素和寻找元素(最大值和
2016-11-09 23:50:45 869
转载 编程中无穷大的量的使用技巧
转自 http://aikilis.tk/如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7fffffff并不是一个好的选择。
2016-11-07 17:32:50 1593
转载 mac 装虚拟机
首先需要说明的是:1、虚拟机中得win7无法识别U盘(可通过共享Mac目录实现访问外部邮件,详见正文)2、感觉virtualbox和其它两个虚拟机(VMware fusion、Parallels Desktop 9)相比,功能还是有些弱,因为在安装ylmf等ghost系统时,总是失败(亲测同一镜像ISO,用visualbox根本无法打开,用vm时可以打开,但安装中途报了其它错误,由于下载I
2016-11-06 22:53:58 891
原创 图的存储结构
1.邻接矩阵用一个n×n的二维数组来存储,例如node[i][j],代表的是从点i到点j的距离为node[i][j],缺点是无法存储重边的情况,比如从i点到j点有两条路可以走,一条路的长度为3,一条路的长度为5代码实现 int n,m,node; scanf("%d%d",&n,&m);//n点的个数,m边的条数 //建立城市之前的关系
2016-11-06 21:56:42 368
原创 单源最短路径 -- Dijkstra算法
求一个点(源点)到其余点的最短路径问题,利用f数组记录该节点的父节点,以便以后打印路经的时候,倒着回去的时候打印路径#include<iostream> //没有利用邻接表存储图形结构的算法,该种方法存储图的空间复杂度为O(n*n),遍历每一条边的时间复杂度为O(m)#include<cstdio> //算法的时间复杂度为O(n...
2016-11-04 21:26:20 571
原创 只有五行的算法--Floyd-Warsha
告诉你各个城市之间的距离,让你求从某个城市到另一个城市的最短路径问题因为从一个城市到另一个城市想要缩短距离,只能经过其他城市来缩短距离#include #include #include #include #include #include #include #include #include #define INF 99999
2016-11-04 20:27:34 928
原创 翻纸牌游戏
翻纸牌游戏Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 2209Description有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有些朝正,
2016-11-04 11:33:12 1951
原创 考试 贪心+二分
考试Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmit Status Practice CodeForces 732DDescription期末考试快到了,qdu的考试周一共有n天,你要在这n天里考m门课,这m门课从1到m编号。我们
2016-11-03 21:55:03 410
原创 我不是四色定理
我不是四色定理Time Limit:2000MS Memory Limit:512000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice HDU 5113Description四色定理是给定的任何一个平面分离成连续的区域,产生一个包含许多区域的图,四种颜色给不同区域涂色,任意
2016-11-03 14:56:17 768
转载 位运算
Welcome To My BitTricks1.获得int型最大值[cpp] view plain copyint getMaxInt(){ return (1 //2147483647, 由于优先级关系,括号不可省略 } 另一种写法[cpp] view
2016-11-02 18:58:37 313
转载 素数筛选
第一种:剔除2 3 4 5 6 ... ... 的倍数在i从2开始的增一变化过程中,剔除i的倍数即j*i(j是大于等于2的自然数,j的上限是问题规模M)为了减少重复步骤,可以每当i递增到等于第一个没有被剔除的(素)数时再剔除该数的倍数,重复上述过程至i到达问题规模m的平方根+1需要说明的三个问题:假设循环到第n个数,如果该数没有被剔除,那么该数不能是前边所有数的倍数,该
2016-11-01 18:35:50 368 1
空空如也
C++ 运算符重载问题,求大神们帮忙,一直找不到解决办法
2016-09-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人