
小算法
文章平均质量分 84
Just_JK
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2019 ICPC Asia Nanchang Regional (dsu on tree+treap平衡树)
题意: 给你一棵树,每个点有一个val 让你找树上有多少有序对(x,y)满足以下条件: 1.x!=y 2.x不是y的祖先;y不是x的祖先 3.x与y的最短路径长度<=k 4.x与y的最小公共祖先的值vz,满足2vz=vx+vy 解析: 就是启发式合并,同时建n棵权值treap树,来维护该权值下,有多少深度的点插入进来。 在遍历轻孩子找答案时,每一次,已经确定根和一个点...原创 2019-12-13 13:50:53 · 382 阅读 · 0 评论 -
牛客练习赛26 D xor序列(线性基)
题目链接 题意: 给你一个序列a,然后q个询问,每一个询问问你a中是否存在几个数异或和=x^y 解析: 线性基模板题 线性基详解 线性基模板 模板一 #include <cstdio> #include <vector> #include <cstring> #include <algorithm> #include <cct...原创 2018-09-15 21:13:51 · 246 阅读 · 0 评论 -
HDU 6444 Neko's loop(线段树+裴蜀定理/最长子段和)
题目链接 Neko's loop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1557 Accepted Submission(s): 362 Problem Description Neko has a loop ...原创 2018-09-09 10:59:18 · 335 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 B. Call of Accepted(计算中缀表达式模板(中缀转后缀))
题目链接 题意: 定义一个运算d:xdy的值是一个区间[x,x*y] (x>=0&&y>=1),即他的值可以去该区间内的任意一个数 然后给你一个中缀表达式,让你输出这个表达式结果的最小值和最大值 解析: 因为d运算的存在,表达式的操作数不再是单个的数字,而是一个二元组[l,r], (l表示通过该运算所能得到的最小值,r表示通过该运算所能得到的最大值) 那么...原创 2018-09-10 15:53:08 · 258 阅读 · 0 评论 -
2018-2019 ACM-ICPC, Asia Nanjing Regional Contest D - Country Meow(最小球覆盖——三分/模拟退火)
题目链接 题意: 给你n个点,让你在平面中找一个点,使得这个点到各个点的距离中的最大值最小,然后输出这个最大距离 解析: 南京赛的一道题目,一看以为是最小圆覆盖,但是有3个坐标,以为原理差不多 结果就相差一个字,解法天差地别。 这个是最小球覆盖的模板题。 两种做法一种是三分,一种是模拟退火 三分一般可以使用的原理是答案函数一般是凸函数或凹函数,只有一个最大值/最小值,如下图 ...原创 2018-11-19 17:30:26 · 623 阅读 · 0 评论 -
HDU 2243考研路茫茫——单词情结(ac自动机构造dp矩阵+快速幂和公式(矩阵/数))
考研路茫茫——单词情结 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7165 Accepted Submission(s): 2510 Problem Description 背单词,始终是复习英语的重要环节。在荒废了...原创 2018-12-07 15:51:46 · 290 阅读 · 0 评论 -
牛客练习赛38 F 出题人的无向图(level 3)(启发式合并优化+离线+线段树/堆维护最大值)
题目链接 题意: 给你一个n个点,m条边的无向图,每一个点有两个属性ai,bi<=INT_MAX 有q个询问,每一个询问,一个边界v,和k个点c1..ck 对于每一次询问,进行操作(此操作只作用于本次询问) 先将ai>v的点全部删除,包括连接这些点的边 在把剩下的图中编号为c1..ck这些点各自对应的连通块删除 再对最后剩下的图中的连通块定义其权值:一个连通块的权值是 ...原创 2019-02-08 17:16:45 · 493 阅读 · 0 评论 -
Educational Codeforces Round 2 E. Lomsat gelral(level 3)(dsu on tree)
题目链接 题意: 给你一颗树,每一个节点有一个颜色,在节点v的子树中,颜色x出现的次数最多,则称x支配v的子树,注意一颗子树可能被多个颜色支配,让你输出对于每一个节点,支配他的子树的颜色的编号和 解析: code force上大佬的讲解——dsu on tree 树上启发式合并的模板题 总结一下,对于在做节点x的子树问题时,答案是通过x的重孩子继承过来,然后在遍历x的每一个轻孩子...原创 2019-02-17 20:36:31 · 319 阅读 · 0 评论 -
1145 Hashing - Average Search Time (25 分)(level 1)(二次方探测再散列)
题目链接 题意: 给你一个hash表的大小msize,如果这个大小是一个合数,那么你要自己把它变成第一个大于它的素数 再试你要插入的n个数,如果给你的这n个数中无法插入到hash表,那么你要输出X cannot be inserted. 最后给你m个数,让你查询,输出查询的平均时间(一个数的查询次数就是他在hash表里比较的次数) H(key)=key%size 解决冲突的方法用正增量...原创 2019-03-01 20:22:03 · 461 阅读 · 0 评论 -
HDU 6223 Infinite Fraction Path(level 3)(bfs+剪枝/倍增)
题目链接 题意: 给你一串长度为n的数字,对于里面的每一个位置,第i个位置与第(i*i+1)%n个位置有一条单向的路径 你可以从任意位置出发,走n次,得到n个字符组成的数字 让你输出你能得到的最大的数字 解析: 这道题做的时候真的想爆了..什么反向建边变成一棵树,再用树上倍增..还有tarjan缩点...什么想法都想了.. 但是后来看题解发现这是暴力直接做......要说线索可以打一...原创 2019-03-17 21:24:00 · 216 阅读 · 0 评论 -
2018 ACM-ICPC 上海大都会 H A Simple Problem with Integers(level 4)(线段树+floyd判环+暴力)
题目链接 题意: 给你长度为n的数组,然后有q个操作,2种类型(n,q<=5e4) 1. C a b means performing Ai = (Ai2 mod 2018) for all Ai such that a ≤ i ≤ b. 2. Q a b means query the sum of Aa, Aa+1, ..., Ab. Note that the sum is not...原创 2019-03-27 19:00:01 · 506 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 I. Skr (马拉车+字符串hash/回文自动机)
题目链接 题意: 给你一个只有0~9的数字组成的字符串,定义一个字符串的价值就是他表示的数字,"120"的价值是120 问你在字符串内不同的回文子串的价值总和是多少 解析: 马拉车算法求最大回文子串 马拉车算法里面匹配回文串的时候,其实就已经遍历过字符串内所有不同的回文子串至少一遍 那么我们就可以在马拉车算法里面由于回文串匹配的while()里面来处理就可以了。 然后这里因为马拉车...原创 2018-09-05 10:30:22 · 498 阅读 · 0 评论 -
找区间内第一个比x小(大)的数(线段树/单调栈)(ACM-ICPC 2018 南京赛区网络预赛 B G题解)
ACM-ICPC 2018 南京赛区网络预赛 G Lpl and Energy-saving Lamps 题目链接 题意: 有n个房间,每个房间有k[i]栈台灯。现在你要把所有房间的台灯换成新的节能台灯 你在每个月一开始会买m栈节能台灯。 换台灯的规则是先从列表上的第一个房间开始,如果当前房间的台灯数量<你拥有的节能台灯的数量, 那么就全部把他换掉,同时把这个房间从列表上清除。...原创 2018-09-02 15:29:52 · 1283 阅读 · 0 评论 -
Manacher's Algorithm 马拉车算法
原文链接 这个马拉车算法Manacher‘s Algorithm是用来查找一个字符串的最长回文子串的线性方法,由一个叫Manacher的人在1975年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性,这是非常了不起的。对于回文串想必大家都不陌生,就是正读反读都一样的字符串,比如 "bob", "level", "noon" 等等,那么如何在一个字符串中找出最长回文子串呢,可以以每一个字符...转载 2018-09-04 11:26:24 · 187 阅读 · 0 评论 -
Wannafly挑战赛11 D 白兔的字符串 (字符串hash)
点击打开链接 解析: 字符串hash就是进制表示,就是让每一个字母都有一个值,类似与二进制 例如 01011011 (二进制)-> 91 (十进制) 这样每一个二进制数都对应一个十进制数,且不会有两个二进制数对应一个十进制数的情况 这样到字符串的话,就将a-z字母每一个定义一个权值(0-26等等都可以,只要是连续的),进制选取的话根据你定义的权值选取,如果按我那样选取的话...原创 2018-03-12 15:22:58 · 444 阅读 · 0 评论 -
第十四届华中科技大学程序设计竞赛决赛 A Beauty of Trees(带权并查集)
点击打开链接题意:n个数的序列,值都为止,有m次记录,每一次记录给你一个区间和该区间的异或和。每一次记录正误的标准是如果该记录与之前的记录无矛盾,则正确,否则错误。让你输出每一条错误记录的标号。...原创 2018-05-21 22:02:45 · 236 阅读 · 0 评论 -
POJ 1182 食物链(带权并查集)
食物链Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 86456 Accepted: 25880Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所...原创 2018-05-26 20:59:23 · 164 阅读 · 0 评论 -
hdu 6197 array array array (LIS,最长上升子序列模板题)
array array array Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 727 Accepted Submission(s): 421 Problem Description One day, Kaito原创 2017-09-15 15:35:41 · 347 阅读 · 0 评论 -
HDU 6284 Longest Increasing Subsequence(LIS+思维)
Longest Increasing SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 232 Accepted Submission(s): 57Problem DescriptionBobo has a seq...原创 2018-07-14 15:16:21 · 785 阅读 · 0 评论 -
HDU 6304 Chiaki Sequence Revisited(二分+找规律)
题目链接 Chiaki Sequence Revisited Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2106 Accepted Submission(s): 585 Problem Description Ch...原创 2018-07-26 09:15:52 · 281 阅读 · 0 评论 -
HDU 6319 Problem A. Ascending Rating(单调队列详解)
题目链接 Problem A. Ascending Rating Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 2057Accepted Submission(s): 622 Problem Descriptio...原创 2018-07-31 10:33:18 · 244 阅读 · 0 评论 -
HDU 6356 Glad You Came(st表/线段树/单调队列)
题目链接 题意: Let the i-th result value of calling the above function as The i-th operation of Steve is to update aj as vi if , where 一开始给你一个序列a,里面全是0,然后有m次操作,每次操作给你[l,r],v,更新[l,r]区间,将所有区间内小于v的元素都改...原创 2018-08-07 16:05:17 · 251 阅读 · 1 评论 -
HDU 6383 p1m2 (2018 “百度之星”程序设计大赛 - 初赛(B))(二分答案)
p1m2 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 736 Accepted Submission(s): 268 Problem Description 度度熊很喜欢数组!! 我们称一个整数数组为稳定的,若且唯...原创 2018-08-13 10:46:59 · 211 阅读 · 0 评论 -
HDU 6406 Taotao Picks Apples(方法小结:线段树/单调栈/二分)
题目链接 Taotao Picks Apples Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 860 Accepted Submission(s): 251 Problem Description There i...原创 2018-08-16 14:20:30 · 556 阅读 · 0 评论 -
Codeforces 939E Maximize! (三分查找)
E. Maximize! time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given a multiset S consisting of posit原创 2018-02-18 19:56:03 · 1081 阅读 · 0 评论