EnjoyingAC的博客

“无人与你立黄昏,无人问你粥可温。”

51nod 1732 婚姻介绍所 (后缀数组、RMQ)

题目 题解 学过后缀数组的话,读完题基本就可以直接写了。(送分题?) 先求出后缀数组和高度数组,然后ST预处理lcp值的范围最小值,最后O(1)查询即可。 debug: 这个送分(命)题,我写了两个神奇的bug。 第一个是每次倍增排序后确定排名时cmp内应该比较的是sa[i-1]和...

2018-09-13 13:04:41

阅读数 84

评论数 0

51nod 1282 时钟 (哈希、字符串的最小表示法)

题目 题解 要判断时钟是否相同,只需将时钟的指针排序后求出M个距离,然后看距离数组是否是循环同构即可。 循环同构: abcd的循环同构有:abcd、bcda、cdba、dabc。 要判断是否循环同构,可以求出距离数组的最小表示。然后对这个最小表示数组求一个哈希值,判断这个哈希值是否相...

2018-09-12 19:50:03

阅读数 78

评论数 0

51nod 1060 最复杂的数 (素数约数定理、反素数、dfs)

题目 题解 根据质数的唯一分解定理,可以知道任意一个数n都可以分解成若干个质数的幂的乘积的形式。 n=p1^k1 * p2 ^k2 * …* pm^km. 每个分解处理的质数幂pi^ki贡献约数的个数是ki+1个(pi^0 ~ pi^ki). 根据乘法原理,总的约数个数为 (k1+...

2018-09-12 10:54:29

阅读数 75

评论数 0

51nod 1307 绳子与重物 (树链剖分、并查集、线段树)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307 题意 题解 树链剖分暴力莽。 将每根绳子的承重对应到点的值上。每挂一根绳子,该绳子对应的点到“最上面的点”的值都减w[i]。当这个区间...

2018-09-11 23:17:42

阅读数 69

评论数 0

51nod 1287 加农炮 (分块直接莽)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1287 题意 一个长度为M的正整数数组A,表示从左向右的地形高度。测试一种加农炮,炮弹平行于地面从左向右飞行,高度为H,如果某处地形的高度大于等于炮弹飞行...

2018-09-10 18:56:25

阅读数 71

评论数 0

51nod 1281 山峰和旗子 (二分试探法)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1281 题意 题解 求出山峰点放入数组中。 然后二分枚举旗子数。 AC代码 #include <bits/stdc+...

2018-09-10 17:13:06

阅读数 67

评论数 0

51nod 1255 字典序最小的子序 (栈、贪心)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1255 题意 给出一个由a-z组成的字符串S,求他的一个子序列,满足如下条件: 1、包含字符串中所有出现过的字符各1个。 2、是所有满足条件1的串中,...

2018-09-10 12:49:06

阅读数 97

评论数 0

51nod 1280 前缀后缀集合 (离散化、哈希、素数表)

题目链接 https://www.51nod.com/onlineJudge/submitDetail.html#!judgeId=627203 题意 一个数组包含N个正整数,其中有些是重复的。一个前缀后缀集是满足这样条件的下标对(P,S), 0<= P,S &...

2018-09-10 11:10:53

阅读数 63

评论数 0

51nod 1109 01组成的N的倍数 (BFS搜索、string)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1109 题意 给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。 例如:N...

2018-09-08 10:11:35

阅读数 94

评论数 0

51nod 1103 N的倍数 (鸽巢原理)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1103 题意 一个长度为N的数组A,从A中选出若干个数,使得这些数的和是N的倍数。 例如:N = 8,数组A包括:2 5 6 3 18 7 11 19,...

2018-09-08 09:30:36

阅读数 74

评论数 0

51nod 1107 斜率小于0的连线数量 (树状数组求逆序对、离散化)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1107 题意 二维平面上N个点之间共有C(n,2)条连线。求这C(n,2)条线中斜率小于0的线的数量。 二维平面上的一个点,根据对应的X Y坐标可以表示...

2018-09-07 16:36:19

阅读数 51

评论数 0

51nod 1737 配对 (贡献、贪心、树形dp)

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1737 题意 给出一棵n个点的树,将这n个点两两配对,求所有可行的方案中配对两点间的距离的总和最大为多少。 题解 先随便选个点作为根,将无根树变成有根...

2018-09-07 10:45:48

阅读数 59

评论数 0

51nod 1110 距离之和最小 V3 中位数、乘法的含义

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1110 题意 X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i]。点P到点P[i]的带权距离 = 实际距离 * P[i]的权值。求...

2018-09-05 15:29:08

阅读数 46

评论数 0

51nod 1108 距离之和最小 V2 中位数、三维独立处理

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1108 题意 三维空间上有N个点, 求一个点使它到这N个点的曼哈顿距离之和最小,输出这个最小的距离之和。 点(x1,y1,z1)到(x2,y2,z2)的...

2018-09-05 15:21:46

阅读数 45

评论数 0

51nod 1076 2条不相交的路径 边双连通分量、桥

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076 题意 给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径。(两条路径不经过相同...

2018-09-05 11:09:37

阅读数 54

评论数 0

51nod 1086 背包问题 V2 01背包变形、二进制

题目链接 https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1086 题意 有N种物品,每种物品的数量为C1,C2……Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2……Wn(Wi为整数),与之相...

2018-09-04 21:29:05

阅读数 54

评论数 0

Wannafly挑战赛23 A字符串 (求最短的子串包含所有小写字母)尺取法

题目链接 https://www.nowcoder.com/acm/contest/161/A 题意 小N现在有一个字符串S。他把这这个字符串的所有子串都挑了出来。一个S的子串T是合法的,当且仅当T中包含了所有的小写字母。小N希望知道所有的合法的S的子串中,长度最短是多少。 题解 尺取法...

2018-09-03 22:00:21

阅读数 72

评论数 0

Codeforces 1037D Valid BFS? (BFS、STL)

题目链接 http://codeforces.com/contest/1037/problem/D 题意 给定n和n-1条边,即一个树图。 然后给定一个BFS序列。 问该BFS序列是否可以从结点1开始进行BFS得到。 题解 模拟给定的BFS序列看是否合法。 初始将结点1放入队列。 ...

2018-09-03 17:29:36

阅读数 482

评论数 2

Codeforces 1037C Equalize 贪心

题目链接 http://codeforces.com/contest/1037/problem/C 题意 给定两个只有0,1组成的字符串a和b。 操作如下: 将第i个字符的值取反,代价为1. 交换第i个字符和第j个字符的值,代价为abs(i-j). 求使得a等于b的最少代价。 题解...

2018-09-03 17:19:19

阅读数 61

评论数 0

Codeforces 1037B Reach Median (STL,二分)

题目链接 http://codeforces.com/contest/1037/problem/B 题意 给定n和s。然后有n个数。 对第i个数可以进行操作,将其值加1或者减1。 求使得n个的中位数为s的最少操作次数。 中位数的意思就是将n个数排序后恰好在第n/2+1位的数。n保证是奇...

2018-09-03 17:14:03

阅读数 74

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭