Processing math: 100%

随笔- 152  文章- 1  评论- 9  阅读- 33146 
09 2019 档案
[校内训练19_09_10]sort
摘要:题意 给一个非负整数序列,每次问能否异或上一个正整数使得所有的数单调不减。如果能,输出最小的x,否则输出-1。单点修改。多测。要求最多一个log。 思考 只要考虑相邻的两个数。找到这两个数最高的不同的一位,那么只要考虑是一定要异或或者是一定不要异或。 代码 1 #include<bits/stdc+ 阅读全文
posted @ 2019-09-20 09:24 GreenDuck 阅读(186) 评论(0) 推荐(0) 编辑
[校内训练19_09_06]排序
摘要:题意 一个这样的算法: 现在你cnt和原始数组a,求cnt步数后a的结果。注意a是n排列。 1n106,1cntn(n1)2 思考 对于某个i,如果j从i+1循环到了n,那么含义就是将i~n中最小的数放到第i位上,剩下的访问过 阅读全文
posted @ 2019-09-20 09:00 GreenDuck 阅读(131) 评论(0) 推荐(0) 编辑
[校内训练19_09_06]直径
摘要:题意 构造一棵树,让它有k条直径。边权都是非负整数,要求点数不能超过5000。 k5000000 思考 让树根底下分别挂着长度为a,b,c的边权为0的链,然后将链的某一端向根连一条边权为1的边,这样共有ab+ac+bc条直径。可以发现,对于数据范围内的k,可以很快地找到这样的a,b, 阅读全文
posted @ 2019-09-20 08:47 GreenDuck 阅读(157) 评论(0) 推荐(0) 编辑
[校内训练19_09_05]ca
摘要:题意 对于任意1 ≤k≤N,求有多少个左右区分的恰有k个叶子节点的二叉树,满足对于每个节点要么没有叶子节点要么有两个节点,同时不存在一个叶子节点,使得根到它的路径上有不少于M条向左的边。 答案对998244353取模。 思考 将问题放到平面上考虑。起初在原点,我们考虑树的dfs序,每次向左走一次,得 阅读全文
posted @ 2019-09-20 08:37 GreenDuck 阅读(305) 评论(0) 推荐(0) 编辑
[校内训练19_09_02]不同的缩写
摘要:题意 给n个字符串,要求给每个字符串选一个子串(可以不连续),并且子串互不相同。求子串最大长度的最小值,并给出一个方案。 n100,|si|100。 思考 鸽了 阅读全文
posted @ 2019-09-20 07:45 GreenDuck 阅读(142) 评论(0) 推荐(0) 编辑
[校内训练19_09_03]c Huge Counting
摘要:题意 有一个定义在 k 维非负整点上的函数:f(x1,x2,...,xk):Nk0>{0,1} ,定义方法如下: 若存在j[1,k],xj=0,则f(x1,x2,...,xk)=0 若对j[1,k]都有xj=1则$f(x_1,x_2,..., 阅读全文
posted @ 2019-09-20 07:40 GreenDuck 阅读(243) 评论(0) 推荐(0) 编辑
[校内训练19_09_02]C
摘要:题意 给出一棵N 个节点的树,树上的每个节点都有一个权值ai。 有Q 次询问,每次在树上选中两个点u, v,考虑所有在简单路径u, v 上(包括u, v)的点构成的集合S。 求wSawordist(u,w) 其中dist(u,w) 为简单路径u,w 上的边数,or 阅读全文
posted @ 2019-09-20 06:55 GreenDuck 阅读(227) 评论(0) 推荐(0) 编辑
[校内训练19_09_02]A
摘要:题意 给出N 个形如fi(x)=aix2+bix的二次函数。 有Q 次询问,每次给出一个x,询问max{fi(x)}N,Q5105。 思考 首先将x大于0还是小于0分类,对于某一类全都除以x,那么就得到了一些直线。最优的答案一定在某条最上 阅读全文
posted @ 2019-09-20 06:42 GreenDuck 阅读(206) 评论(0) 推荐(0) 编辑
[校内训练19_09_02]原样输出
摘要:题意 给出n个字符串,每个字符串的开头和结尾可以去除一些连续的子串,也可以不删。问这样删去后连成的不同字符串有多少个。要求线性。 思考 如果是一个字符串,那么建一颗SAM即可。 因为是几个字符串拼在一起,那么在某个字符串的SAM上的某一个点,随时都可以跳到下一个字符串的SAM上的某个一点。那么从后往 阅读全文
posted @ 2019-09-20 06:39 GreenDuck 阅读(153) 评论(0) 推荐(0) 编辑
[HNOI2014]道路堵塞
摘要:这是一篇没有代码的博客。目的是在全是玄学复杂度的算法中留下有复杂度保证的算法。 原文摘自千年之狐_天才 : 靠谱做法应该是A+线段树。用A跑k短路,第一次跑到的一定是所给最短路,其次跑到的所有最短路将答案更新。如果只是单纯这样的话,是不行的,因为所有路径都会被更新一次。但是我们不难发现一个信息,假设 阅读全文
posted @ 2019-09-13 15:23 GreenDuck 阅读(250) 评论(0) 推荐(0) 编辑
[模板]三维凸包(无讲解)
摘要:1 // luogu-judger-enable-o2 2 #include<bits/stdc++.h> 3 using namespace std; 4 typedef long double ld; 5 const int maxn=2E3+5; 6 const ld eps=1E-9; 7 阅读全文
posted @ 2019-09-13 12:45 GreenDuck 阅读(198) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示