上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 20 下一页
摘要: 传送门 然鹅我并不觉得这道题很清新rua 思维巧妙!(参考) 对于第k小,我们可以这样考虑,若是第k小,那么比它小的方案应该是有k-1个。 在排列组合中,若固定i放在j位置,方案数是确定的,即:i固定在j位置,满足这个条件的序列的rank是在一个范围内的。 对于逆序对 常见思考方式是从小到大枚举数字 阅读全文
posted @ 2019-08-21 10:43 yyys 阅读(187) 评论(0) 推荐(0)
摘要: 传送门 公式图片来自洛谷题解 因为求V之和与P之和的比值的最大值。这个值不超过200 考虑到二分答案,设ans为最大值,则有 可以看出是01分数规划 那么每次就重新分配边的权值: ans*ci-vi 再判负环,有说明ans不成立,反之成立。 特别提一下:这里判负环是用dfs版的spfa,而不是bfs 阅读全文
posted @ 2019-08-21 10:43 yyys 阅读(169) 评论(0) 推荐(0)
摘要: 传送门 求对于每个点删掉1到他的最短路上的最后一条边(就是这条路径上与他自己相连的那条边)后1到他的最短路的长度。 即:最短路径树:图中的源点到所有结点的最短路径构成的树。 最短路径树在dijkstra过程中就可以求出来,因为这个过程就相当于走一棵树。 然后就是选入杂边,对于一条杂边<u,v>,它加 阅读全文
posted @ 2019-08-21 10:42 yyys 阅读(397) 评论(0) 推荐(0)
摘要: 传送门 主要考察了对Floyd算法的认识程度(告诉我们背板子是不行的)。 Floyd,代码很简单,而其本质思想是通过其他的点进行中转来求的两点之间的最短路。因为我们知道,两点之间有多条路,如果换一条路可以缩短距离的话,就更新最短距离。而它最本质的思想,就是用其他的点进行中转,从而达到求出最短路的目的 阅读全文
posted @ 2019-08-21 10:42 yyys 阅读(237) 评论(0) 推荐(0)
摘要: 模板题传送门 一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图。 朱刘算法用来求最小树形图,复杂度O(nm)。 大概思想就是缩点+贪心加边。 如果图中存在环,就把环缩成一个点,一直到没有环为止。 考虑正确性: 最小树形图和最小生成树的区别就在与有方向,对于一个环,我 阅读全文
posted @ 2019-08-21 10:08 yyys 阅读(1971) 评论(0) 推荐(0)
摘要: 并查集 普通的并查集没有什么好说的,对于遇到的题目,我们主要是要把它抽象成并查集的模型,比如萌萌哒这道题就是一个对于模型的抽象,相同的标记其实就是一个并查集。 然后想说一下并查集的两种合并,一种是路径压缩,一种是按秩合并。 按秩合并更多是对于可撤销并查集(还没打过板子)和可持久化并查集 然后个人觉得 阅读全文
posted @ 2019-08-20 09:52 yyys 阅读(205) 评论(0) 推荐(0)
摘要: 一道权限题 题面 描述农夫Byteasar买了一片n亩的土地,他要在这上面种草。 他在每一亩土地上都种植了一种独一无二的草,其中,第i亩土地的草每天会长高a[i]厘米。 Byteasar一共会进行m次收割,其中第i次收割在第d[i]天,并把所有高度大于等于b[i]的部分全部割去。Byteasar想知 阅读全文
posted @ 2019-08-20 09:41 yyys 阅读(377) 评论(0) 推荐(0)
摘要: 传送门 三个操作 0:区间赋值基础操作,打标记就行。 1:查询了[l1​,r1]中1个数后,[l1​,r1]区间赋值基础操作,然后在[l0​,r0]区间修改,因为要求“脑洞治疗仪仅会尽量填补位置比较靠前的脑洞”,所以能改左子树就改左子树,再右子树。 2:区间查询最大值,因为是求最长连续0,所以代码里 阅读全文
posted @ 2019-08-20 09:40 yyys 阅读(253) 评论(0) 推荐(0)
摘要: 传送门 镜像点思路 具体见这篇博客 i的信息存在i'里在2操作时就不会有影响 #include<bits/stdc++.h> #define N 200003 using namespace std; int read() { int x=0,f=1;char s=getchar(); while( 阅读全文
posted @ 2019-08-20 09:29 yyys 阅读(247) 评论(0) 推荐(0)
摘要: 模板题 可持久化就用主席树实现,学习自这篇博客 #include<bits/stdc++.h> #define N 4000005 using namespace std; int read() { int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){ 阅读全文
posted @ 2019-08-17 22:57 yyys 阅读(131) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 20 下一页