2015年4月29日

hdu 4963(中途相遇法)

摘要: 题目链接:Dividing a String题意:给定一个2*n(n#include #include #include #include #include #include #define LL long longusing namespace std;const int inf = 0x3f3f... 阅读全文

posted @ 2015-04-29 17:52 lienus 阅读(540) 评论(0) 推荐(0) 编辑

2015年4月27日

UVALive 6869(后缀数组)

摘要: 传送门:Repeated Substrings题意:给定一个字符串,求至少重复一次的不同子串个数。分析:模拟写出子符串后缀并排好序可以发现,每次出现新的重复子串个数都是由现在的height值减去前一个height值。#include #include #include #include #inclu... 阅读全文

posted @ 2015-04-27 12:14 lienus 阅读(257) 评论(0) 推荐(0) 编辑

2015年4月23日

AC自动机小结

摘要: AC自动机在trie树上实现KMP的一种数据结构,可以完成多模式串的匹配,核心要理解fail指针的含义,即让当前字符失配时跳转到具有最长公共前后缀的字符继续匹配,从根节点到当前节点(s)fail指针的节点(p)的路径字符串必定为从根节点到节点s的路径字符串的一个后缀,还有理解trie图,当字符串... 阅读全文

posted @ 2015-04-23 22:18 lienus 阅读(196) 评论(0) 推荐(0) 编辑

2015年4月11日

poj 2409+2154+2888(Burnside定理)

摘要: 三道burnside入门题:Burnside定理主要理解置换群置换后每种不动点的个数,然后n种不动点的染色数总和/n为answer。对于旋转,旋转i个时不动点为gcd(n,i).传送门:poj 2409#include #include #include #include #include #inc... 阅读全文

posted @ 2015-04-11 01:44 lienus 阅读(322) 评论(0) 推荐(0) 编辑

2015年4月6日

HUST 1569(Burnside定理+容斥+数位dp+矩阵快速幂)

摘要: 传送门:Gift题意:由n(n#include #include #include #include #include #define LL long long#define N 25#define mod 1000000007using namespace std;/***************... 阅读全文

posted @ 2015-04-06 00:25 lienus 阅读(446) 评论(0) 推荐(0) 编辑

2015年4月3日

bunoj 34990(hash)

摘要: 传送门:Justice String题意:有两个串A,B,问是否存在A的一个子串S,S和B的长度相等,最多有2个字符不同。如果有多个,输出其实下标最小S的下标,没有输出-1。分析:从A每个位置开始找最长公共前缀,如果最长公共前缀长度不大于lenb,继续从下一次位置开始找,至多找两次,如果一直找不到就... 阅读全文

posted @ 2015-04-03 14:19 lienus 阅读(393) 评论(0) 推荐(0) 编辑

CSU 1506(最小费用最大流)

摘要: 传送门:Double Shortest Paths题意:有两个人;给出路径之间第一个人走所需要的费用和第二个人走所需要的费用(在第一个人所需的 费用上再加上第二次的费用);求两个人一共所需要的最小费用。分析:建立超源和超汇,流量分别为2,从源点到汇点的最大流2时最小费用为答案。#include #i... 阅读全文

posted @ 2015-04-03 00:29 lienus 阅读(182) 评论(0) 推荐(0) 编辑

2015年4月1日

CF 514C(hash)

摘要: 传送门:Watto and Mechanism题意:输入a个字符串和b个待检测字符串。问待检测字符串是否可以由某个已知字符串改变且只改变一个字母得到。分析:字符串hash,枚举待测字符串每一位进行修改,看是否符合,好像正解是trie树。#include #include #include #incl... 阅读全文

posted @ 2015-04-01 18:59 lienus 阅读(236) 评论(0) 推荐(0) 编辑

2015年3月31日

lightoj 1297(三分)

摘要: 传送门:Largest Box题意:长度为L宽度为W的纸四个角去掉x*x的正方形,然后形成一个长方体,问能组成长方体的最大体积为多少。分析:三分x求最值。#include #include #include #include #define N 100010#define mod 100000000... 阅读全文

posted @ 2015-03-31 16:31 lienus 阅读(302) 评论(0) 推荐(0) 编辑

lightoj 1179(线段树)

摘要: 传送门:Josephus Problem题意:经典约瑟夫问题,有n个人,每次数到第k个人出列,求剩下的最后一人。分析:用线段树模拟约瑟夫问题,记录区间的减少情况,然后根据每次数到的人在区间排第几位,线段树log(n)找到并更新,总复杂度为O(nlog(n))。#include #include #i... 阅读全文

posted @ 2015-03-31 16:24 lienus 阅读(302) 评论(0) 推荐(0) 编辑

导航