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

算法的艺术

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

关注
281 已关注
312篇博文
  • 第42届ACM国际大学生程序设计竞赛 亚洲区域赛 西安站 总结

    今年的暑假集训结束的时候我们队在UESTC-ACM Div.1里排名第6,所以获得一场ICPC和一场CCPC的现场赛资格。 由于上半年5月打过西安的邀请赛并取得了一块银牌,笔者那次毕竟是第一次打区域赛...

    2017-10-31 19:57
    1019
  • HDU - 6191 Query on A Tree 可持久化字典树+dfs序

    题意:给出一颗树,每个节点有一个权值,q个询问,询问以点u为根的子树中的节点权值异或x所得的值的最大值。 可持久化字典树+dfs序 对子树进行询问很容易想到dfs序,然后变成了线性的询问区间[l,r]...

    2017-10-26 12:43
    396
  • SPOJ - COT Count on a tree 树上主席树+LCA+任意路径问题

    题意:给出一个树和树上每个点的权值,给出m个询问(u,v,k),询问在树上从点u到点v所构成的路径上权值第k小的点的权值。 树上主席树+LCA+任意路径问题 主席树维护的一个前缀和,而前缀和不一定要出...

    2017-10-17 15:18
    192
  • HDU - 6203 ping ping ping LCA倍增算法+dfs序+线段树

    题意:给出一颗以0为根有n+1个节点的树,给出p个条件,每个条件表示u,v之间有一个坏的节点,根据这p个条件求出树上至少有多少坏点。 LCA+dfs序+线段树 先跑出dfs序,并对LCA进行预处理。 ...

    2017-10-16 15:37
    227
  • Codeforces 620E New Year Tree dfs序+线段树+状态压缩

    题意:给定一棵树,每个节点都有颜色,然后询问子树上有多少种不同的颜色。 dfs序+线段树+状态压缩 由于只有60种颜色(2^60 < 2^63),所以可以直接用二进制压位。 即sum[Ind]维护的是...

    2017-10-13 18:22
    334
  • POJ - 3321 Apple Tree dfs序+线段树 简单题

    题意:初始时树上每个节点都有1个苹果,然后对一个节点操作,如果有苹果,就拿走,没苹果,就放上,然后询问以x为根的子树上有多少个苹果。 dfs序简单题 POJ这题好像没有开O2,vector sons[...

    2017-10-11 22:51
    178
  • HDU - 3887 Counting Offspring dfs序+线段树

    题意:问对于每个节点,它的子树上标号比它小的点有多少个。 dfs序+线段树 关于dfs序: dfs序是处理树上问题很重要的一个工具,主要能够解决对于一个点,它的子树上的一些信息的维护,即用来处理子树的...

    2017-10-11 19:14
    276
  • XIII Open Championship of Y.Kupala Grodno SU Grodno Problem E. Enter the Word Problem 贪心+后缀自动机

    题意:这里对于生成一个字符串有2种操作,1、在末尾添加一个字母,花费代价为 1;2、在末尾添加一个substr,且该substr为已存在字符串的子串,花费代价为 1。 现给出需要构造出的字符串,为最小...

    2017-10-06 14:10
    476
  • HDU 6208 The Dominator of Strings 后缀自动机

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

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

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

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

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

    2017-08-19 20:52
    169
  • 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
    558
  • HDU - 4417 Super Mario 主席树+二分

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

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

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

    2017-07-31 14:22
    359
  • 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
    477
  • 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
    474
  • Gym - 101164K Cutting 哈希+枚举

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

    2017-07-25 23:16
    505
  • 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
    436
  • Gym - 100781A Adjoin the Networks 无向图的直径、连通性

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

    2017-07-21 23:55
    532
  • 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
    833

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