构造
文章平均质量分 53
ZLTJohn
这个作者很懒,什么都没留下…
展开
-
STL中的set与multiset
终于打过平衡树了!我来写写set的小科技。写得不一定完全。调用和定义首先#include<set>然后就set<struct_type> nameormultiset<数据类型> 名字不需要给set开空间的~~~进一步了解实际上set或multiset是个平衡树,只要重定义 < 就可以用来干很多事情。 每一个位置是一个迭代器,就像指针一样,迭代器支持++运算。然后要取值就要用*号,比如我们用一原创 2016-06-30 09:51:33 · 662 阅读 · 0 评论 -
[agc011f]Train Service Planning
题目大意有n+1个车站,n条轨道,第i条轨道联通i-1和i车站,通过它要花a[i]时间,这条轨道有b[i]=1或2条车道,也就是说,他是单向还是双向的。现在有两种火车,一种从0到n,一种从n到0,有无限辆,同种的发车间隔是K。 现在请你分别确定两种火车在每个站停留的时间,确保单车道不会有两辆车相向而行,且同一条轨道(不是车道),不能同时存在两部同向的火车。 要求最小化两种火车从起点到终点的...原创 2018-02-24 16:15:53 · 575 阅读 · 0 评论 -
[arc072e]Alice in linear land
题目大意给你一个数组d[1..n],棋子初始距离终点D(区分大小写),按顺序遍历d[],新的到终点的距离为D1=min(D,|D-d[i]|)。 现在有m个询问,问如果只修改d[x]为任意值,是否能让棋子到不了终点?是输出YES否则NO。 n,m<=5e5,d[1..n],D<=1e9思路假设询问x,那么前面x-1个操作之后,你的位置是确定的,假设距离为y。根据操作的特...原创 2018-02-23 17:15:42 · 362 阅读 · 0 评论 -
[arc072f]Dam
题目大意有个水库,最多能存L单位水,一开始是空的,对于n天,每天早上有v[i]单位的,水温为t[i]的水流进来。每天晚上你可以放掉一些水,多少自定。但是必须保证第二天水库不会溢出。现在问,对于每个i,在使用最优放水策略的情况下,第i天水库是满的情况下最高水温(i之间互相独立)。混合后的温度计算就和混合溶液浓度一样计算。 n<=1e5,其他数1e9范围内解题思路似乎有点无从下手。...原创 2018-02-22 16:54:34 · 751 阅读 · 0 评论 -
[agc009d]Uninity
题目大意请你确定一种点分治策略,使得点分树的深度最小。 n<=1e5解题思路根据原题面,定义一个点x的“海胆值”f[x]为max(f[son])+1,son是x在点分树上的儿子。 根据一般点分治,我们可以发现f最大是O(logn)级别的。 还是不好做,再观察一下其他性质。 考虑两个点x,y,其中f[x]=f[y],那么在原树中,x到y的路径必然存在点u,满足f[u]&...原创 2018-02-19 19:12:41 · 456 阅读 · 0 评论 -
[agc010d]Decrementing
题目大意有一个序列a[],两个绝顶聪明的人在操作它,每次操作,选一个大于1的数,让它-1,然后再让整个序列每个元素除以所有数的GCD。不能操作的输。保证一开始GCD=1,问先手还是后手必胜。 n<=1e5,a[i]<=1e9解题思路看上去是一道结论博弈题。但是似乎有点复杂。 考虑一种简单的情况,要是有个1,那么无论怎样GCD都=1,那么这时候只需要统计sum{a[i]-...原创 2018-02-19 18:09:20 · 419 阅读 · 0 评论 -
[agc016d]XOR Replace
题目大意给你两个长度为n的序列a,b,要你进行尽量少的操作,把a序列换成b序列,并输出最少操作数,不行就-1。 操作:设x为a的异或和,你可以把a[i]替换成x,i=1~n. n≤1e5解题思路稍微分析一下,可以发现除了一开始的异或和是新的数,每次你操作之后,异或和会变成替换的那个数。 为了方便,我们把a和b的异或和都添加在各自的末尾。 那么就相当于置换了。每次换一轮,假设...原创 2018-02-18 14:43:56 · 484 阅读 · 0 评论 -
[agc017e]Jigsaw
题目大意给你n块积木,每块积木由三列构成,每块中间那列最长,为固定的H;对于每一块i,左边一列底部会比中间底部高c[i],然后长度为a[i],右边类似地,d[i],b[i]. 现在要求你把积木拼接起来,使得所有积木中列底部在同一水平线上,左右两列要么在这条水平线上,要么紧贴着另一块积木某一侧的顶端。 判断是否能够这样拼。 n≤1e5,H≤200,a,b>0,a+c,b+d≤H....原创 2018-02-17 18:45:42 · 476 阅读 · 0 评论 -
[agc003e]Sequential operations on Sequence
题目大意有一个数字串S,初始长度为n,是1 2 3 4 …… n。 有m次操作,每次操作给你一个正整数a[i],你先把S无穷重复,然后把前a[i]截取出来成为新的S。 求m次操作后,每个数字在S中出现的次数。 n,m<=10^5,a[i]<=10^18。解题思路一般这种题考虑倒着退回去。 考虑一个函数solve(x,l),它返回的是一个cnt[1..n]表示每个...原创 2018-02-27 15:12:44 · 379 阅读 · 0 评论 -
[JZOJ5405]Permutation
问题描述你有一个长度为n 的排列P 与一个正整数K 你可以进行如下操作若干次使得排列的字典序尽量小 对于两个满足|i-j|>=K 且|Pi-Pj| = 1 的下标i 与j,交换Pi 与Pj 对于前20% 的数据满足n <= 6 对于前50% 的数据满足n <= 2000 对于100% 的数据满足n <= 500000分析我有个没有正确性也没有复杂度的水法….能拿90。 国外的题能够刷新脑原创 2017-10-12 16:41:00 · 548 阅读 · 0 评论 -
[JZOJ5374]永远的三日天下
题目大意给你一个长度为n的字符串s,要求你构造一个长度为n的括号序,满足:是合法的括号序匹配的一对括号下标对应的字符相同字典序最小n≤150000n\leq150000分析在考虑字典序最小之前,考虑如何构造合法括号序。这是前提。 我们用贪心构造出括号序,可以证明任何合法的括号序都可以变为贪心这一种。 就是把字符加进栈里面,如果新加入的和栈顶相同就两个都退掉,形成一对匹配的括号。 那么暴原创 2017-10-07 20:52:56 · 545 阅读 · 0 评论 -
[arc080d]Prime Flip
题目大意有一个长度为无限的数组,其中有若干个位置x[1~n]为1,其他为0。现在你每次操作,可以选择一个大于3的质数p,然后把某个长度为p的区间01翻转,问至少操作多少次? n<=100,x[i]<=1e7解题思路先考虑一下为什么一定操作成功。发现1可以由7-3-3凑出来,2可以5-3,4可以17-13,6可以23-17…更大的数和到底要多少次操作,我们考虑分类讨论。...原创 2018-02-19 20:57:08 · 337 阅读 · 0 评论