博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【HDOJ】3553 Just a String
阅读量:6146 次
发布时间:2019-06-21

本文共 2354 字,大约阅读时间需要 7 分钟。

后缀数组加二分可解。

1 /* 3553 */  2 #include 
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #include
13 #include
14 #include
15 #include
16 #include
17 #include
18 #include
19 #include
20 #include
21 #include
22 using namespace std; 23 //#pragma comment(linker,"/STACK:102400000,1024000") 24 25 #define sti set
26 #define stpii set
> 27 #define mpii map
28 #define vi vector
29 #define pii pair
30 #define vpii vector
> 31 #define rep(i, a, n) for (int i=a;i
=a;--i) 33 #define clr clear 34 #define pb push_back 35 #define mp make_pair 36 #define fir first 37 #define sec second 38 #define all(x) (x).begin(),(x).end() 39 #define SZ(x) ((int)(x).size()) 40 #define lson l, mid, rt<<1 41 #define rson mid+1, r, rt<<1|1 42 43 const int maxl = 100005; 44 const int maxn = maxl; 45 int a[maxn*3]; 46 int rrank[maxn], height[maxn], sa[maxn*3]; 47 int wa[maxn], wb[maxn], wc[maxn], wv[maxn]; 48 int dp[maxn][17]; 49 __int64 tot[maxn]; 50 char s[maxl]; 51 __int64 kth; 52 53 bool c0(int *r, int a, int b) { 54 return r[a]==r[b] && r[a+1]==r[b+1] && r[a+2]==r[b+2]; 55 } 56 57 bool c12(int k, int *r, int a, int b) { 58 if (k == 2) 59 return r[a]
=0; --i) b[--wc[wv[i]]] = a[i]; 72 } 73 74 #define F(x) ((x)/3 + ((x)%3==1 ? 0:tb)) 75 #define G(x) ((x)
r)125 swap(l, r);126 127 ++l;128 int k = 0;129 130 while (1<<(k+1) <= r-l+1)131 ++k;132 133 if (height[dp[l][k]] < height[dp[r-(1<

数据生成器。

1 from random import randint, shuffle 2 import shutil 3 import string 4  5  6 def GenDataIn(): 7     with open("data.in", "w") as fout: 8         t = 20 9         bound = 10**310         uc = list(string.uppercase)11         fout.write("%d\n" % (t))12         for tt in xrange(t):13             n = randint(100, 200)14             kth = randint(1, n*(n+1)/2)15             line = ""16             for i in xrange(n):17                 idx = randint(0, 25)18                 line += uc[idx]19             fout.write("%s %d\n" % (line, kth))20                 21 def MovDataIn():22     desFileName = "F:\eclipse_prj\workspace\hdoj\data.in"23     shutil.copyfile("data.in", desFileName)24 25     26 if __name__ == "__main__":27     GenDataIn()28     MovDataIn()

 

转载于:https://www.cnblogs.com/bombe1013/p/5182590.html

你可能感兴趣的文章
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>
3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
查看>>