博客专栏  >  综合   >  算法的艺术

算法的艺术

程序该被它的内部逻辑而非外部表现所指引,我们所钟爱的很大程度上是程序中所达到的完美的逻辑,而外部的东西只是拿出来与众人分享快乐的手段,对吗?

关注
261 已关注
304篇博文
  • HDU 6208 The Dominator of Strings 后缀自动机

    题意:每组数据给出n个字符串,每组总共最多1e5个字符,然后要求判断,其中是否存在一个字符串,而其它字符串是这个字符串的子串。总共有30MB的输入。 贪心+后缀自动机 如果用AC自动机来做很可能会TL...

    2017-09-18 12:31
    318
  • HDU 6194 string string string 后缀数组+lcp、Two Pointers

    题意: 给出一个字符串,询问恰好出现k次的子串的种数。 后缀数组+ST表 对于给定字符串,跑出sa[]和height数组,然后预处理出ST表。 然后类似于Two Pointers的做法,维护一个长度...

    2017-09-12 16:43
    257
  • HDU 6138 Fleet of the Eternal Throne 后缀数组+字典树

    题意:给出n(n<=1e5)个字符串,且字符串的字符总和<=1e5,给出m个询问,每次给定x,y,找出对于给定str[x]和str[y] 的公共子串且满足这个串是所有串中的某个串的前缀,要求所得的公共...

    2017-08-19 20:52
    105
  • XVII Open Cup named after E.V. Pankratiev Problem I. Rage Minimum Query 手写小根堆、卡时间+卡内存、或者随机化

    题意:都是使用unsigned int 32,q个修改,每次修改一个值,并求出一个当前总区间最小值si,求 sigma{si * 10099^i mod 2^32}(1 <= i <= q),然后每次...

    2017-08-03 00:16
    444
  • HDU - 4417 Super Mario 主席树+二分

    题意:给出一个长度为n(1<=n<=1e5)的数组,m(1<=m<=1e5)次询问,每次询问在区间[L,R]中小于等于X的数的个数。 主席树+二分 朴素的主席树是查询区间第k大(从小到大第k大),所以...

    2017-07-31 16:05
    281
  • POJ - 2104 K-th Number 主席树基础题

    题意:给出一个数组,每次询问这个数组的区间[L, R]内第k大的数是什么。 主席树基础题 主席树,又称可持久化线段树,是对于数组的每个前缀a[1...i]建立一颗线段树,并且a[1...i]的线段树和...

    2017-07-31 14:22
    258
  • Codeforces Round #426 (Div. 2) C. The Meaningless Game C. The Meaningless Game

    题意:给出n(1 <= n <= 3.5e5)个询问,每个询问给出a、b(1 <= a, b = 0),问得到的a,b是否合理,即是否存在一系列游戏情况使得最终得到a和b值。 数论、推公式、分解因数 ...

    2017-07-31 13:55
    351
  • Gym - 101164C Castle KMP的拓展、next数组+dp、好题

    题意:给出原串s,然后有3种操作,1、在s的末尾加上一个小写字母ch;2、把s的拷贝放入set;3、询问在set中的字符串是当前字符串s‘的后缀的个数。 KMP的拓展、next数组+dp 用构造出的最...

    2017-07-25 23:55
    375
  • Gym - 101164K Cutting 哈希+枚举

    题意:给出字符串A和B,字符串A大小写不区分,字符串B由小写字母构成,构成AB的每种字母的个数相同,询问是否能把B切成3份,重构出字符串A,如果能则输出那三份子串,并按照A的顺序输出。 哈希+枚举 刚...

    2017-07-25 23:16
    398
  • Petrozavodsk Summer Training Camp 2016 Problem I. Vier 随机化+枚举

    题意:给出序列PAI[i],求是否存在a、b、c、d,使得1. a + b == c + d (mod n), and 2. PAIa + PAIb == PAIc + PAId (mod...

    2017-07-25 11:52
    283
  • Gym - 100781A Adjoin the Networks 无向图的直径、连通性

    题意:给出一个有c个节点e条边的无向图,求添加尽可能少的边使得图连通,并且图的半径(所有点对的最短路径的最大值)尽可能小。 无向图的直径 先把每个连通块的直径求出来, //这里求直径的方法是 先随机选...

    2017-07-21 23:55
    412
  • Gym - 101173J Jazz Journey 图论、枚举贪心、Interesting

    题意:给出一个图,要求把图上的所有边按照给出的顺序跑一遍,求最小代价。其中有单向边u->v、v->u, 和方程u->v->u、v->u->v,对于u->v->u必须先走u->v再走v->u但中间可以断...

    2017-07-21 01:16
    648
  • Gym - 101173F Free Figurines 思维题+并查集

    题意:给出一个序列ai 表示i的父节点是ai, 再给出一个序列bi 表示i的父节点是 bi,求i < ai, ai为0则表示没有父节点,否则ai都不相等,bi同理。 只能进行2个操作,1、 把一个没有...

    2017-07-21 00:55
    653
  • Gym - 101174K Balls and Needles DFS+建图+复合判断环

    题意:给出三维空间的n条边,每个点都是三维坐标,分别判断三维图有没有环,以及投影到xy坐标平面有没有环。 dfs 对于三维图只要建图后用dfs跑一遍即可, 注意{u = (x, y, z), v = ...

    2017-07-20 11:22
    404
  • Gym - 101174E Passwords AC自动机+额外的限制条件+状态压缩dp

    题意:给出n个由小写字母模式串,用大写字母、小写字母、十进制数字构造的长度为[A, B]的字符串, 且满足一下限制条件:1、必须有至少一个大写字母至少一个小写字母和一个数字。 2、不包含任一模式串(不...

    2017-07-20 00:12
    616
  • UESTC 1705 咸鱼钟大爷 随机化+哈希

    题意:给出一个p和mod,求出一对哈希冲突的字符串(长度可以不同) 随机化+哈希 随机生成字符串,然后哈希,然后判断f[hashval]是否出现过,如果出现过就找到了哈希冲突的字符串。 如果枚举到MA...

    2017-07-18 22:12
    260
  • UESTC 1709 DNA序列 AC自动机+dp+矩阵快速幂优化

    题意:给出m(0<=m<=10)个模式串(0<len<=10),用AGTC构造长度为n的字符串, 要求每个串的子串都不出现给定的n个串中的任一个,求满足要求的字符串的个数。 AC自动机+dp+矩阵快速...

    2017-07-18 22:11
    421
  • UESTC 1066 Palindromic String manacher

    题意:求出前缀的回文重数的和,(回文重数是递归定义的,详见题面)。 manacher 先用manacher跑出所有的回文子串,并把[i,j]的回文子串半径大小存储在了len[i+j]里, 然后从做到右...

    2017-07-18 22:03
    338
  • UESTC 1703 一道更简单的字符串题 哈希+枚举

    求出最小循环串。 哈希+枚举 先把字符串哈希, 然后从ans = 1 ~ n进行枚举, check的时候枚举每个hash(i, ans) == hash(0, ans), 且对于最后一段长度不到ans...

    2017-07-18 21:56
    518
  • UESTC 1696 一道简单的字符串题 KMP+dp

    题意:求出所有前缀在字符串中出现次数的和 KMP+dp dpi表示前缀s[0,i]在字符串中出现的次数, 根据next数组,从n向1跑。 u = i; dp[u-1] += 1; if(nxt[u]!...

    2017-07-18 21:48
    445

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部