自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GejinZ

Be serious.

  • 博客(190)
  • 资源 (1)
  • 收藏
  • 关注

原创 Memory Hierarchy

由于硬件技术的限制,我们可以制造出容量很小但很快的存储器,也可以制造出容量很大但很慢的存储器,但不可能两边的好处都占着,不可能制造出访问速度又快容量又大的存储器。因此,现代计算机都把存储器分成若干级,称为Memory Hierarchy. 按照离CPU由近到远的顺序依次是CPU寄存器、Cache、内存、硬盘,越靠近CPU的存储器容量越小但访问速度越快,下图给出了各种存储器的容量和访问速度的典型值。

2017-08-23 14:39:59 646

原创 leetcode 4 Median of Two Sorted Arrays(二分+思路)

题意:给出两个分别有序的数组,数组长度分别为m和n,设计一个求出这两个数组所有元素的中位数的算法,要求时间复杂度不大于O(log(m+n)).解题思路:https://leetcode.com/problems/median-of-two-sorted-arrays/#/solutions自己没有思路。这个方法非常好,作者讲的简单易懂,非常有条理。代码:clas

2017-04-26 22:11:27 482

原创 leetcode 10 Regular Expression Matching(Dynamic Programming)

题意:'.' Matches any single character.'*' Matches zero or more of the preceding element.The matching should cover the entire input string (not partial).The function prototype should be:bool isMa

2017-04-26 21:37:19 862

原创 基数排序

百度百科上写的代码像是一坨翔。1.基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用。2.基数排序的实现方法分为两种:最高位优先(Most Significant Digit first)法

2017-03-30 11:15:05 519

原创 can't find compiler executable in your configured search path's for GUN GCC Complier的应对办法

今天安装codeblocks,安装完打开。出现了如下问题:找不到编译器。问题出现的可能原因:1.在官网第一次下载的时候,下载了没有mingw的那个。可以简单地从安装后的文件夹大小来简单判断是否下载了这个:通过此方法安装后的文件夹大小在100m左右?或小于100m?(目前是这个样子。。)解决方法:卸载,然后重新下载。这可能是最容易操作的办法。2.若选择下载

2017-01-02 01:47:00 19025 15

原创 hdu 5475 An easy problem (2015 上海网络赛 H题)

看起来像是除法取余,求逆元运算其实是简单的线段树 单点修改,区间查询。

2015-09-27 11:17:30 1272

原创 组合数取模(杨辉三角+Lucas定理+模合数)

/* (1) 1 <= m <= n <= 1000 和 1 <= p <= 10^9 ( p可以是任何数 ) 这个问题比较简单,组合数的计算可以靠 杨辉三角 ,那么由于和的范围小,直接两层循环即可。*/long long C[maxn][maxn];void Comb(int n, int m, int p){ memset(C, 0, sizeof(C));

2015-09-21 16:23:59 1925

原创 中国剩余定理 互质与不互质两种

1.什么是中国剩余定理?这个问题困扰了窝好久,看了好多书上的解释,但都很片面地只进行了部分阐述...搞得我也是迷乱..最后发现还是百度百科讲的最靠谱了...(也可能是看的多了自己就懂了吧..百度百科上的所给的证明非常棒..浅显易懂!(窝都看懂了...一发链接:孙子定理然后还是说一下我的理解吧:下面这个一元线性同余方程组                           

2015-09-20 11:38:16 2421

原创 欧拉函数

由费马小定理 得出的 欧拉函数欧拉函数的值 = 不超过m 并且 和m互质 的数的个数/* 求欧拉函数的值 O(sqrt(n))*/int euler_phi(int n){ int res = n; for(int i = 2; i * i <= n; i++){ if(n % i == 0){ res = res / i *

2015-09-18 21:12:21 417

原创 基础数学总结 关于模运算 1

1.模运算基本公式 和 几点注意/* (a + b) mod n = ((a mod n) + (b mod n)) mod n (a - b) mod n = ((a mod n) - (b mod n) + n) mod n (a * b) mod n = ((a mod n) * (b mod n)) mod n 对于除法没有类似公式,但是可以通过求逆元的

2015-09-18 20:23:27 2523

原创 基础数学总结

1.最基础的辗转相除法  O(log max(a, b))// 复杂度O(log max(a,b))int gcd(int a, int b){ if(b == 0) return a; return gcd(b, a%b);}2.扩展欧几里得算法  O(log max(a, b))/* 用于解决方程:ax + by = gcd(a, b) 事实上,一定存在

2015-09-18 16:48:58 564

原创 hdu 1815 2-SAT经典题

题意:n个农场要连在转接站上 共有两个转接站s1,s2每个农场可以选择连在s1或者s2上给出m条限制关系:两个牧场必须连在同一个转接站上   或者    两个必须连在不同的转接站上~然后给出转接站之间的距离 牧场和转接站之间的距离 问 在满足限制条件的前提下 怎样连接可以使得任意两个牧场之间的联通之后的距离的最大值最小~思路:最大值最小 —> 阔以想到二分求解选一或

2015-09-01 16:55:50 522

原创 hdu 4689 Derangement

题意:求n(n 即排列之后的每个位置上的数字,减去初始排列1 2 3 4 ... n,得到的结果满足题目中所给的正负关系 思路:DP 比赛时我学弟想了个状态压缩DP,然后就开始搞了,搞到最后超时了...这个思路很好的..但是不能在这里用..code:我强调一遍...下面↓这个代码 !超时!......#include#include#include#inc

2015-08-26 19:58:38 763

原创 hdu 4277 暴力+set

题意:给n条边, 可以围成多少种不同的三角形思路:暴力枚举三角形的三条边分别由哪些边组成hash三角形的三条边之后存到set中最终答案是set的大小code:#include#include#include#includeusing namespace std;const int maxn = 20;typedef long long LL;int a[

2015-08-25 17:04:11 682

原创 树链剖分学习记录

HDU  3966 基于点权 修改(增减)一条路径上的点  单结点查询code:#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#includeusing namespace std;const int maxn = 50010;struct Edge{ int to, n

2015-08-16 11:38:11 616

原创 矩阵优化的模板(用的时候注意要修改呀)

1.这个是我在算概率dp的时候用的一个~是浮点数啦,然后没有取余操作的~struct Matrix{ double mat[2][2];};Matrix mul(Matrix a,Matrix b){ Matrix ret; for(int i=0;i<2;i++) for(int j=0;j<2;j++) { ret

2015-08-01 10:29:05 452

原创 POJ 3744 Scout YYF I 概率DP+矩阵优化

题意:一条路上有n个地雷,给出地雷的位置。某人从起点(位置1)出发,走一步的概率是p,走两步的概率是(1-p),问这个人活着。。(嗯活着)走过这条路的概率是多少..思路:首先n很小的,首先想到,平安走过,即到达 最后一个地雷 的下一个位置的概率。设为dp[x[n]+1];然后我们会想到对于任意一个位置来讲,会有dp[i] = p * dp[i-1] + (1-p) * dp[i

2015-08-01 10:13:05 629

原创 hdu 2112 (题意是错的)

题意:给相连的两个站点之间的距离,求从起点到终点的最短路径ps: 这道题目真是见过的最傻逼的题目了....不知道出题人是不是傻逼。。根本就没写双向路好不好!还特么傻逼一样加了“每行有站名s,站名e”  这么蛋疼的提示,坑人也特么不会真特么SB艹code:#include #include #include #include #include #include #incl

2015-07-29 14:21:11 468

原创 poj 1459 多源汇最大流

分析在这里窝把原来的那个方法也写上好了,反正也差不多....其实....还写了最高标号预流推进....................................就是这么蛋疼....然而在这道题目上来说,,这三种方法其实都一样。。。code:#include#include#include#include#include#include#include#i

2015-07-27 17:58:57 792

原创 poj 1459 多源汇网络流 ISAP

题意:给n个点,m条边,有np个源点,nc个汇点,求最大流思路:超级源点把所有源点连起来,边权是该源点的最大允许值;所有汇点和超级汇点连接起来,边权是该汇点的最大允许值;跑最大流code:#include#include#include#include#include#include#include#include#include#include#i

2015-07-27 17:53:21 885

原创 UVA 10735 混合图的欧拉回路

题意:判断混合图中是否存在欧拉回路,如果存在欧拉回路,输出路径。思路:欧拉回路 存在每条边经过且只经过一次后回到原点的路径在混合图中存在欧拉回路,需要满足以下条件:1.把所有无向边任意规定一个方向后,对于每个点,满足 |入度-出度| % 2 == 02.按照上面已经规定的方向,利用 无向边 建图(有向边忽略掉),然后对于每个结点u,如果in[u]out[u], 建边(u,

2015-07-27 17:35:21 696

原创 ZOJ 2366 Weird Dissimilarity (简单DP)

题意:字符c1和c2的距离为d(c1, c2),已知两个字符串s和t,现在要找长度相等的两个字符串a和b,使得s是a的子序列,t是b的子序列,且a和b的距离最小。思路:字串和子序列是不一样的。。。。子序列是允许中间 间断 的,而字串必须是连续的...比赛的时候居然理解错了....T_T这样的话,用最长公共子序列的思路来解决这道题就好啦~dp[i][j]表示 “第一个串处理到

2015-07-13 13:09:40 1445

原创 hdu 4940 Destroy Transportation system( 无源汇上下界网络流的可行流判断 )

题意:有n个点和m条有向边构成的网络,每条边有两个花费:d:毁坏这条边的花费b:重建一条双向边的花费寻找这样两个点集,使得点集s到点集t满足 毁坏所有S到T的路径的费用和 > 毁坏所有T到S的路径的费用和 + 重建这些T到S的双向路径的费用和。思路1:然后这个无源汇带上下界网络流的可行流问题的求解方法见这里~~建图就是上面说的那样啦~最后判断有没有可行流就是

2015-07-09 14:43:22 1041

原创 hdu 4939

题意:长度为n个单位的map,每个单位需要时间t来走完。每个单位可以放置一个塔。一共有三种塔,每种塔的作用不同:1.只能攻击当前单位,每秒x点伤害(红塔)2.攻击当前单位之后的所有单位,每秒y点伤害(绿塔)3.使目标经过本单位之后减速,之后每单位需要的时间+z(蓝塔)问目标受到的最多的攻击是多少思路:首先明确,1塔只能放在最后才最优。然后就是解决前面的塔放2还是

2015-07-08 19:42:09 905

原创 uva 10934 装满水的气球

题意和思路见:http://blog.csdn.net/shuangde800/article/details/11273123我的想法:首先问题转化一下将问题转化成:定义f[i][j] 表示给i个水球和j次实验机会,最高能够测试到几层~则会有如下的转移方程:f[i][j] = f[i][j-1] + f[i-1][j-1] + 1;后一部分是说选在第k层试第一次,

2015-07-07 15:58:42 1605 1

原创 uva 1001 建图+最短路

题意:在一个三维的空间内求从起点到终点的最短时间花费。其中n个洞,在洞内通过的时间花费是0,在洞外的时间花费是每单位10sec思路:水题建立起点到每个洞的边,建立终点到每个洞的边,建立起点到终点的边 ,边权是到达所需的时间花费。求一次最短路即可。code:#include#include#include#include#include#includeusin

2015-06-10 17:26:48 879

原创 fzu 2058 问题转化 + 二分

题意A array contain N number, can you tell me how many different pair i,j that satisfy a[i] + a[j] = M and 10 思路:用map记录会超时所以想到手写二分。思考一下其实满足题目条件的对数和每个数字的位置并没有关系——排序+二分查找(范围来确定个数)即可。code:

2015-05-16 15:34:21 661

原创 fzu 2056 暴力

题意:现在有一个n*m的矩阵A,在A中找一个H*H的正方形,使得其面积最大且该正方形元素的和不大于 limit。思路: 水题预处理矩形元素和,然后二分枚举最大边长,然后把这边长在整个矩形中试一遍(O(n*m))看是否符合。总时间复杂度O(n*m*log(min(n,m))) 可暴code:#include#include#include#include

2015-05-16 15:27:01 637

原创 hdu 4777 树状数组这么用好厉害

题意:给出m个区间查询,查询 区间里和区间中的其他数字 都互质 的数字的个数思路:简单题,因为并没有 修改,全是查询把所有查询读入,按照左端点 从左往右来处理。(原因稍后首先预处理对于每一个位置(id)的数字,往左和往右最远到哪个位置,会出现和这个数字不互质的数字,用l[id]和r[id]保存下来。同时用邻接表(因为这么处理比较简单)保存下来对于一个位置iid,有哪个数字,它的

2015-05-16 15:15:00 887

原创 fzu 2059 并查集+离线处理

题意:There is a array contain N(1Every query will be:1 x : ask longest substring which every number no less than x2 y x : change the A[y] to x. there are at most change 10 times.For each ask

2015-05-16 14:37:18 668

转载 树链剖分

“在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。   树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。   记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[v]表示v所在的链的顶端节点,fa[v]表示v的父亲,son[v]表示与v在

2015-05-15 01:18:14 456

原创 uva 10817 状态压缩DP

题意:有S个课程要教,学校本来有m个教师 给出工资和所教课程编号  (在职教师不能辞退)来应聘的有n个教师 给出工资和所教课程编号问保证每个课程都有两个老师可以教的前提下,最少发多少工资思路:水题;总共最多只有8个课程,状态压缩d[i][s1][s2] 表示当前状态下,有一个老师教的课程是s1,有两个或两个人以上教的课程是s2转移就是当前教师选或不选,对应的转移

2015-05-14 22:35:40 649

原创 hdu 3874 树状数组+离线处理

题意:这和hdu 3333 根本就是一道题   链接:http://blog.csdn.net/u013382399/article/details/45689977思路:同hdu 3333  code:#include#include#include#include#include#include#include#include#include#includ

2015-05-13 11:15:35 626

原创 hdu 3333 树状数组+离线处理

题意:查询区间和,重复的数字只计算一遍思路:先离线读入所有区间,然后按照区间右端点从小到大排序。从数组的第一个数开始,依次修改bit直到每个区间的右端点,然后bit求区间和。修改方式:用一个map记录当前数字是否已经出现过以及出现过的上一个位置,然后将该位置改为0,并更新一下map即可。(因为一旦出现重复数字,其实只有该区间中的最后一个数字是起作用的,在他之前的都应该忽略,

2015-05-13 10:37:07 845

原创 hdu 5139 (离线处理)

题意:f(n)=(∏i=1nin−i+1)%1000000007You are expected to write a program to calculate f(n) when a certain n is given.思路:写出前几项,就很容易得出递推式。但是因为n的数据范围是1~10000000,而内存给的小,所以并不能直接打表(MLE)采用离线处理——

2015-05-12 18:11:30 681

原创 反思 并查集

最近其实并没有刻意去练并查集,不过昨天和今天做到了两道题目,均是用并查集来解决的在解决这两道题目的过程中,我在运用并查集的时候,都出现了严重的错误。具体表现在,思路很清晰,应该怎么做也很明白,但是在处理的过程中对并查集的操作并不正确。很多时候都出现了由于对两个节点互相赋值而造成的find函数中的死循环。然而我并不清楚是什么原因。其中一一道题目,是赛码杯1003 是一个判断是

2015-05-05 22:07:36 481

原创 poj 3684 Physics Experient

题意:需要注意的一点  所有的球都是从 H 这个位置初速度为 0 落下的。这道题简直把我弄炸了 一个是看书的时候上面这个条件并不知道 另一个是有半径的时候为什么要加上2*R*i 后来每次睡觉满脑子都是这个鬼T_T!!后来总算大概明白了这个草尼玛的物理题 真是够了!enough!!!T_T一点都不想再看这道题了。别人的解:既然每个球不会有动能损失,我们假设每个球的半径

2015-04-30 11:06:10 582 1

原创 poj 1151 求矩形面积并 (线段树扫描线)

题意:给出n个矩形的左下角和右上角坐标,求这n个矩形所构成的面积思路:线段树扫描线这是第一次做到线段树扫描线,刚开始也不懂如果不懂,可以看:http://www.cnblogs.com/scau20110726/archive/2013/04/12/3016765.html和 http://www.faceye.net/search/69289.html我是看第

2015-04-28 02:10:44 1053 1

原创 poj 2378 树上的DP

题意:给一棵n个节点连通的树 条件 : 去掉一个节点 使剩下的每个连通分量 都不超过n/2个节点让找出所有符合上述条件的点 按照从小到大的顺序输出思路:首先建树 然后在建树的过程中,统计每个节点的子树中 最多的节点个数同时统计以此结点为根的树的 节点总数 sum[i]可以根据 n - sum[i] 算出上面一个祖先连通分量的节点个数判断即可code:

2015-04-22 21:55:38 611

原创 poj 2377

题意:最大生成树思路:最大生成树code:#include#include#include#include#include#include#include#include#include#includeusing namespace std;#define INF 0x3f3f3f3f#define PI acos(-1.0)#define eps

2015-04-22 20:53:59 636

吉大 各种基本ACM必备算法基础

吉大 各种基本ACM必备算法基础

2014-01-05

空空如也

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

TA关注的人

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