随笔分类 -  poj

摘要:题意:给2个数字序列 a 和 b ,问按从小到达排序后,a中的哪些子串与b的名次匹配。 a 的长度 N≤100,000,b的长度 M≤25,000,数字的大小 K≤25。 解法:【思考】1.X 暴力。枚举 a 中的子串,选出来排序后比对名次。O(n* m log m *m)=O(n*m^2*log 阅读全文
posted @ 2016-11-18 09:55 konjac蒟蒻 阅读(281) 评论(0) 推荐(0)
摘要:题意:求n个串的字典序最小的最长公共子串。 解法:枚举第一个串的子串,与剩下的n-1个串KMP匹配,判断是否有这样的公共子串。从大长度开始枚举,找到了就break挺快的。而且KMP的作用就是匹配子串,近乎O(n)的速度,很快。 P.S.对于字符串要仔细!!! 阅读全文
posted @ 2016-11-17 22:28 konjac蒟蒻 阅读(183) 评论(0) 推荐(0)
摘要:题意:给定一个由字符组成的矩阵,求出它的面积最小的覆盖矩阵。(感觉应该是可重叠的......* (・ω・)っ) 解法:KMP。行列互不影响,可以问题分解。先求出每一行的最小重复串,利用kmp中的next[ ]数组,然后求其最小公倍数。若变成最大值就可以break了,这也是我代码本来应该O(2*m*n 阅读全文
posted @ 2016-11-17 21:16 konjac蒟蒻 阅读(212) 评论(0) 推荐(0)
摘要:题意:求子串在文本串中出现了多少次。 解法:使用KMP的next[ ]和tend[ ]数组计数。 阅读全文
posted @ 2016-11-17 19:38 konjac蒟蒻 阅读(248) 评论(0) 推荐(0)
摘要:题意:给出一个字符串str,求出str中存在多少子串,使得这些子串既是str的前缀,又是str的后缀。从小到大依次输出这些子串的长度。 解法:利用KMP中next[ ]数组的性质,依次找到前缀、后缀匹配的字符串。 阅读全文
posted @ 2016-11-17 19:31 konjac蒟蒻 阅读(152) 评论(0) 推荐(0)
摘要:题意:给你一个字符串,求这个字符串到第 i 个字符为止的重复子串的个数。 解法:判断重复子串的语句很重要!!if (p && i%(i-p)==0) printf("%d %d\n",i,i/(i-p)); 我之前一直不是很理解,而实际上多枚举几种情况就好了。若是重复的,那么next[i]肯定是最大 阅读全文
posted @ 2016-11-17 16:42 konjac蒟蒻 阅读(252) 评论(0) 推荐(0)
摘要:P.S.又是一个抽时间学了2个小时的新东西......讲解在上半部分,题解在下半部分。 先说一下转的原文:http://www.cnblogs.com/perseawe/archive/2012/05/03/01fsgh.html我挑选部分转了过来:01分数规划问题 定义:给定两个数组,a[i]表示 阅读全文
posted @ 2016-11-16 15:09 konjac蒟蒻 阅读(344) 评论(0) 推荐(0)
摘要:题意:问从(0,0)到(x,y)(0≤x, y≤N)的线段没有与其他整数点相交的点数。 解法:只有 gcd(x,y)=1 时才满足条件,问 N 以前所有的合法点的和,就发现和上一题—— 【poj 2478】Farey Sequence(数论--欧拉函数 找规律求前缀和) 求 x/y,gcd(x,y) 阅读全文
posted @ 2016-11-15 20:57 konjac蒟蒻 阅读(162) 评论(0) 推荐(0)
摘要:题意:定义 Fn 序列表示一串 <1 的分数,分数为最简分数,且分母 ≤n 。问该序列的个数。(2≤N≤10^6) 解法:先暴力找规律(代码见屏蔽处),发现 Fn 序列的个数就是 Φ(1)~Φ(n) 的和。于是用欧拉筛预处理就好了。 注意——求前缀和要用 long long 的类型。 阅读全文
posted @ 2016-11-15 20:31 konjac蒟蒻 阅读(237) 评论(0) 推荐(0)
摘要:题意:求奇质数 P 的原根个数。若 x 是 P 的原根,那么 x^k (k=1~p-1) 模 P 为1~p-1,且互不相同。 (3≤ P<65536) 解法:有费马小定理:若 p 是质数,x^(p-1)=1 (mod p)。这和求原根有一定联系。 再顺便提一下欧拉定理:若 a,n 互质,那么 a^Φ 阅读全文
posted @ 2016-11-15 20:08 konjac蒟蒻 阅读(378) 评论(0) 推荐(0)
摘要:题意就是求10^9以内的正整数的欧拉函数(Φ(n)表示<=n的与n互质的正整数个数)。 解法:用欧拉筛和欧拉函数的一些性质: 1.若p是质数,Φ(p)=p-1; 2.欧拉函数是积性函数,即若a,b互质,则Φ(ab)=Φ(a)*Φ(b); 3.若a,b不互质,则Φ(ab)=Φ(a)*b。 若 n≤10 阅读全文
posted @ 2016-11-15 19:37 konjac蒟蒻 阅读(277) 评论(0) 推荐(0)
摘要:题意:Elina看一本刘汝佳的书(O_O*),里面介绍了一种奇怪的方法表示一个非负整数 m 。也就是有 k 对 ( ai , ri ) 可以这样表示——m%ai=ri。问 m 的最小值。 解法:拓展欧几里德求解同余方程组的最小非负整数解。(感觉挺不容易的......+_+@) 先看前2个关系式: m 阅读全文
posted @ 2016-11-14 20:35 konjac蒟蒻 阅读(178) 评论(0) 推荐(0)
摘要:题意:已知2只青蛙的起始位置 a,b 和跳跃一次的距离 m,n,现在它们沿着一条长度为 l 的纬线(圈)向相同方向跳跃。问它们何时能相遇?(好有聊的青蛙 (΄◞ิ౪◟ิ‵) *)永不相遇就输出"Impossible"。(蠢得可怜 -_-!) 解法:用拓展欧几里德求同余方程的最小正整数解。(a+mx) 阅读全文
posted @ 2016-11-14 19:07 konjac蒟蒻 阅读(342) 评论(0) 推荐(0)
摘要:题意:有一个在k位无符号整数下的模型:for (variable = A; variable != B; variable += C) statement; 问循环的次数,若“永不停息”(←_←)*,就输出"FOREVER"。 解法:用拓展欧几里德方法求出gcd最大公因数,再利用同余性质转化,求同余 阅读全文
posted @ 2016-11-14 17:07 konjac蒟蒻 阅读(1957) 评论(0) 推荐(0)
摘要:题意:平面上给出N个点,知道M个关于点X在点Y的正东/西/南/北方向的距离。问在刚给出一定关系之后其中2点的曼哈顿距离((x1,y1)与(x2,y2):l x1-x2 l+l y1-y2 l),未知则输出-1。 解法:带权并查集。sx[x]表示x与其根结点的横坐标的差,sy[x]表示x与其根结点的纵 阅读全文
posted @ 2016-11-04 16:58 konjac蒟蒻 阅读(227) 评论(0) 推荐(0)
摘要:题意:有3种动物A、B、C,形成一个“A吃B, B吃C,C吃A ”的食物链。有一个人对N只这3类的动物有M种说法:第一种说法是"1 X Y",表示X和Y是同类。;第二种说法是"2 X Y",表示X吃Y。假设输入为(d,X,Y)。可知,当一句话满足下列三条之一时,这句话就是假话,否则就是真话。 1) 阅读全文
posted @ 2016-11-04 14:46 konjac蒟蒻 阅读(788) 评论(0) 推荐(0)
摘要:P.S.我不想看英文原题的,但是看网上题解的题意看得我 炒鸡辛苦&一脸懵 +_+,打这模版题的代码也纠结至极了......不得已只能自己翻译了QwQ 。 题意:有一个公司有N个企业,分成几个网络,分别从各个网络中选一个机器设置为中心机。下面有2种操作:1.查询当前时间机器x到其所在网络的中心机的距离 阅读全文
posted @ 2016-11-04 10:18 konjac蒟蒻 阅读(323) 评论(0) 推荐(0)
摘要:题意:有N个方块,M个操作{“C x”:查询方块x上的方块数;“M x y”:移动方块x所在的整个方块堆到方块y所在的整个方块堆之上}。输出相应的答案。 解法:带权并查集。每堆方块作为一个集合,维护3个数组:fa[x]表示x方块所在堆的最顶部的方块;d[x]表示x方块所在堆的最底部的方块;f[x]表 阅读全文
posted @ 2016-11-02 22:13 konjac蒟蒻 阅读(416) 评论(0) 推荐(0)
摘要:模版题为【poj 1287】Networking。 题意我就不说了,我就想简单讲一下Kruskal和Prim算法。卡Kruskal的题似乎几乎为0。(●-`o´-)ノ 假设有一个N个点的连通图,有M条边(不定向),求MST(Minimal Spanning Tree)最小生成树的值。 1.Krusk 阅读全文
posted @ 2016-11-02 09:57 konjac蒟蒻 阅读(352) 评论(0) 推荐(0)
摘要:题意:N个编号为1~N的数,选任意个数分入任意个盒子内(盒子互不相同)的不同排列组合数。 解法:综合排列组合 Stirling(斯特林)数的知识进行DP。C[i][j]表示组合,从i个数中选j个数的方案数;S[i][j]表示Stirling数,i个数分成j份的方案数;P[i]表示P(i,i)全排列。 阅读全文
posted @ 2016-10-27 10:24 konjac蒟蒻 阅读(421) 评论(0) 推荐(0)