摘要: 找循环节这种问题还是要用KMP 阅读全文
posted @ 2015-05-04 09:30 zhyfzy 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 【题意】给出一个set,set中有几个数。现在给出n个人,环成一圈搞约瑟夫。。。开始时从第1号报数,每次从set中随机选出一个数s,等报数到s后,报s的人出圈,其他人继续报数。最后只剩1人时,他就胜出。问最后可能有哪些人胜出,输出编号。【解释】设dp[i][j]为剩余i个人,并且该j号报数则状态转移... 阅读全文
posted @ 2015-05-02 21:43 zhyfzy 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 写挂了两发,最后发现tarjan函数开始部分非常傻逼的把栈清空了。。。 阅读全文
posted @ 2015-05-02 20:04 zhyfzy 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一开始只会用归并排序算,但不知怎么的蜜汁WA,所以还是学习一下树状数组的方法。。。树状数组的方法看起来比归并排序简单很多。 阅读全文
posted @ 2015-05-01 20:53 zhyfzy 阅读(502) 评论(0) 推荐(0) 编辑
摘要: CF这次div2比赛C题改了半天也没改对,最后发现是一处细节被坑了。。。D题其实很简单,但昨天夜里比赛的时候没有仔细想,然后就没有然后了 阅读全文
posted @ 2015-05-01 20:22 zhyfzy 阅读(435) 评论(2) 推荐(0) 编辑
摘要: 前几天好像刚做一道筛法求约数的题,这个写起来就很顺手了 阅读全文
posted @ 2015-04-26 22:50 zhyfzy 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 一个好消息,一个坏消息,好消息是TCO晋级了,坏消息是跌绿了 阅读全文
posted @ 2015-04-26 02:29 zhyfzy 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 最近连续三次TC爆零了,,,我的心好痛T_T。。下次再爆零就滚回去做div2了 阅读全文
posted @ 2015-04-17 21:47 zhyfzy 阅读(508) 评论(1) 推荐(0) 编辑
摘要: 之前我的离散化方法一直用set和map做,感觉使用stl不够优越。刚刚发现线段树PPT给了一种离散化的新姿势。。。 阅读全文
posted @ 2015-04-12 20:20 zhyfzy 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 大白书模板,图用前向星存储 阅读全文
posted @ 2015-04-10 20:24 zhyfzy 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 转载注明出处高消一直是ACM中高层次经常用到的算法,虽然线性代数已经学过,但高消求解的问题模型及高消模板的应用变化是高消的最复杂之处。先介绍一下高消的基本原理:引入互联网czyuan的帖子:高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵。高斯消... 阅读全文
posted @ 2015-04-10 15:43 zhyfzy 阅读(303) 评论(0) 推荐(0) 编辑
摘要: ZeptoLab Code Rush 2015D. Om Nom and Necklace【题意】给出一个字符串s,判断其各个前缀是否是 ABABA…ABA的形式(A和B都可以为空,且A有Q+1个,B有Q个,Q给定)。【官方题解】对于前缀P,我们可以把它拆成P=SSSS…SSSST,其中T是S的前缀... 阅读全文
posted @ 2015-04-10 14:39 zhyfzy 阅读(784) 评论(0) 推荐(1) 编辑
摘要: 这种东西基本上在纸上自己推导一下就能做出来XD普通KMP:求出A[i]往前和B的前缀匹配的最大匹配长度,记为ex[i]扩展KMP:求出A[i]往后和B的前缀匹配的最大匹配长度,记为ex[i] 阅读全文
posted @ 2015-04-07 23:09 zhyfzy 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 【题意】给出一棵树,有n个点(2≤N≤105),每条边有权值,现在打算新修一条路径,给出新路径u的起点v,终点和权值,下面给出Q(1≤Q≤105)个询问(a,b)问如果都按照最短路径走,从a到b节省了多少距离。咱不妨把新修路径的一个端点u设为根结点,然后建树。这样新路径另一端v一定连着它的子树的一个... 阅读全文
posted @ 2015-03-27 15:58 zhyfzy 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 一开始从watashi的那本书中看了二分查找法跟RMQ法,也明白了思路,RMQ法是在线LCA算法,但我记得还有一种tarjan的离线算法。于是花了两个小时在网上查了一下,大致做了几道题。下面以HDU2586为例简单说一下。【题意】给定一棵树,每条边都有一定的权值(40000个点),q次询问(500次... 阅读全文
posted @ 2015-03-25 15:11 zhyfzy 阅读(738) 评论(0) 推荐(1) 编辑
摘要: 无向图的割顶:Vector G[] :邻接表存图Int pre[] :存储时间戳Int low[] : u及其后代所能连回的最早的祖先的pre值Int iscut[] : =true表示是割顶,=false不是割顶Dfs函数在主函数调用时,fa预设为-1。注意初始化:memset(head,-1,... 阅读全文
posted @ 2015-03-20 23:40 zhyfzy 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 【题意】给一个无向图的反图(即给定的边实际上不存在,而未给的边是存在的),求连通块数。(点数n G[i]为结点i相邻的结点,预处理时将其排序为有序序列。然后BFS,直接枚举st中的元素(即不存在已扫描到的连通块中的点),然后对该元素在G[i]中二分查找,如果没有找到,证明存在着这一条边,进行扩展即可... 阅读全文
posted @ 2015-03-15 17:46 zhyfzy 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 该模板来自大白书【解释】给多个语句,每个语句为“ Xi为真(假) 或者 Xj为真(假)”每个变量和拆成两个点 2*i为假, 2*i+1为真“Xi为真 或 Xj为真” 等价于 “Xi为假 –> Xj为真”。DFS算法没有回溯过程。【函数说明】模板bfs函数在模板外一般用不到void init(int ... 阅读全文
posted @ 2015-03-15 17:35 zhyfzy 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 转载注明出处:http://blog.csdn.net/non_cease/article/details/7989521正确区分不同的查找算法count,find,binary_search,lower_bound,upper_bound,equal_range本文是对Effective STL第... 阅读全文
posted @ 2015-03-04 17:40 zhyfzy 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 1.扩展的欧几里德定理//拓展欧几里得定理,求ax+by=gcd(a,b)的一组解(x,y),d=gcd(a,b)void gcd(int a,int b,int &d,int &x,int &y){ if(!b){d=a;x=1;y=0;} else{gcd(b,a%b,d,y,x);... 阅读全文
posted @ 2015-02-26 13:19 zhyfzy 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 【转载注明出处@AOQNRMGYXLMV】#include #include #include #include using namespace std;//lrj计算几何模板struct Point{ double x, y; Point(double x=0, double y=0)... 阅读全文
posted @ 2015-02-24 14:08 zhyfzy 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://hi.baidu.com/baowup/blog/item/3a27465c86d71546faf2c066.html/cmtid/de1ef3f0de7554a0a40f52f7string类的构造函数:string(constchar*s); //用c字符串s初始化... 阅读全文
posted @ 2015-02-24 13:42 zhyfzy 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 一些人互相是朋友(无向图连一条无向边),现在要添加一个推荐朋友的功能,如果对于x,有y,x与y不是朋友,但是y和x有共同的朋友,并且共同的朋友最多,那么y可以推荐给x。问对于每一个人,有多少人值得推荐。map映射后建图,然后用set_intersection()求交集这道题学习了一下set_inte... 阅读全文
posted @ 2015-02-23 18:55 zhyfzy 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 点更新线段树对一列数,对每次询问输出对应区间的和,每次修改只修改一个数的值。。。定义:struct tree{ int l,r;//记录代表的区间 int sum;//代表区间的和}由于线段树还是相对比较平衡的,所以可以使用数组t来存储这棵树,对与某个节点i,t[i*2]就是左子树,t[... 阅读全文
posted @ 2015-02-16 12:44 zhyfzy 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 最好程序一遍通过,为了提高代码能力,这里将用TIP的形式记录来犯过的错误。不断更新中。*已经转移到闪存。。【150214】WA:检查是否数组开小了。【150212】WA:如果程序中有乘号,需要留意是否超出int。【150210】CF::GYM的题目有的需要文件输入输出 阅读全文
posted @ 2015-02-15 23:47 zhyfzy 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 【题意】给n个字符串组成的集合,然后有m个询问(0 ≤ n ≤ 3·105,0 ≤ m ≤ 3·105),每个询问都给出一个字符串s,问集合中是否存在一个字符串t,使得s和t长度相同,并且仅有一个字符不同。(字符串总长度为6·105),所有字符只有a,b,c。【题解】因为只有三种字符,用Trie最合... 阅读全文
posted @ 2015-02-15 15:55 zhyfzy 阅读(498) 评论(0) 推荐(0) 编辑
摘要: AC自动机----多个模板的字符串匹配字典树Trie加上失配边构成插入操作:ac.insert(p[i],i);构造失配函数:ac.getFail();计算文本串T中每个模板串的匹配数:ac.find(T);时间复杂度 O(n+km) (总长度)以下是加过注释的LRJ模板:struct ACauto... 阅读全文
posted @ 2015-02-13 21:33 zhyfzy 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 功能字符串T,长度为n。模板串P,长度为m。在字符串T中找到匹配点i,使得从i开始T[i]=P[0], T[i+1]=P[1], . . . , T[i+m-1]=P[m-1]KMP算法先用O(m)的复杂度对模板串进行处理,然后O(n)进行匹配。总时间复杂度O(m+n)注意失配函数f[i]为第i位处... 阅读全文
posted @ 2015-02-13 18:25 zhyfzy 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 给了n个(nwj,如果hi>=hj,显然符合条件,答案不需要增加。还是wi>wj,如果hi=hj,那么答案也是不需要增加。由于要使机器调整次数尽量小,因此把w降序排列,当wi=wj时,让hi>=hj(h降序排列),然后对h求最长严格上升子序列即可。#include#include#include#i... 阅读全文
posted @ 2015-02-11 10:50 zhyfzy 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 潜水员要潜水,给出n个气缸(1=0;j--) { for (k=ai;k>=0;k--) { if (dp[j+t[i]][k+a[i]]>dp[j][k]+w[i]) { dp[j+... 阅读全文
posted @ 2015-02-11 10:42 zhyfzy 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 有n个混合物排成一排,每个混合物有一个颜色值0#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-9#define ALL(x) x.begin(... 阅读全文
posted @ 2015-02-11 10:38 zhyfzy 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 我们的男主现在手中有n*c张牌,其中有c(#define eps 1e-9#define FOR(i,j,k) for(int i=j;i=dp[num]) { dp[++num]=p[i].hash; }else ... 阅读全文
posted @ 2015-02-11 10:35 zhyfzy 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 现在n(wj,hi>hj,显然是满足条件的,直接合并即可(所求序列长度不变),但是如果wi>wj,hi#include#include#include#include#include#include#include#include#include#include#include#define eps... 阅读全文
posted @ 2015-02-11 10:30 zhyfzy 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 要邀请n个人参加party,每个人有力量值strength Si和魅力值 beauty Bi,如果存在两人S i ≤ S j and B i ≥ B j 或者 S i ≥ S j and B i ≤ B j 他们两个会产生冲突,问在不产生冲突的条件下,最多能邀请到几个人?【LIS】一开始将所有人按照... 阅读全文
posted @ 2015-02-11 10:26 zhyfzy 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 给出两个字符串(不长于1000),求最长公共子序列,要求:从每个串中取必须取连续k (1=k【代码链接】#include#include#include#include#include#include#include#include#include#include#include#include#d... 阅读全文
posted @ 2015-02-11 10:21 zhyfzy 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 转载注明出处:http://blog.csdn.net/wdq347/article/details/9001005 (修正了一些错误,并自己重写了代码)最长公共子序列(LCS)最常见的算法是时间复杂度为O(n^2)的动态规划(DP)算法,但在James W. Hunt和Thomas G. Szym... 阅读全文
posted @ 2015-02-08 13:24 zhyfzy 阅读(3214) 评论(1) 推荐(0) 编辑
摘要: 2015 UESTC Winter Training #10Northeastern Europe 2009最近集训都不在状态啊,嘛,上午一直在练车,比赛时也是刚吃过午饭,状态不好也难免,下次比赛提前吃饭休息一会儿吧。。一开始卡在B题,后来发现是题意理解错了,没有看见above,就是不可以回到原点,... 阅读全文
posted @ 2015-02-04 10:34 zhyfzy 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 【题意】给一个字符串组成的矩阵,规模为n*m(n#include#include#include#include#include#include#include#include#include#include#include#define eps 1e-9#define ALL(x) x.begin... 阅读全文
posted @ 2015-02-04 10:11 zhyfzy 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 第一次做TC全部通过,截图纪念一下。终于蓝了一次,也是TC上第一次变成蓝名,下次就要做Div.1了,希望div1不要挂零。。。_(:зゝ∠)_A. KitayutaMart2万年不变的水题。#include#include#include#include#include#include#includ... 阅读全文
posted @ 2015-02-02 23:11 zhyfzy 阅读(519) 评论(2) 推荐(0) 编辑
摘要: 项目管理给一个n(不超过10^5)个点,m(不超过n+10)条边的点带权图,有两种操作:1、将某点权值增加;2、询问与某点直接相连的点的权值和。操作次数范围题目没有给出。【图的分块】称度大于sqrt(n)的点为重点,其余为轻点。由于度数最多为2*m,所以重点不超过2*sqrt(n)个。先算sum[]... 阅读全文
posted @ 2015-01-30 23:13 zhyfzy 阅读(207) 评论(0) 推荐(0) 编辑