积极的防守者的博客

泛白的青空飘来过去的歌

小米 Online Judge TCO 预选赛 Rectangle (二维差分)

题意 题解 因为是求期望,答案应该是:所有出现的面积交的和/选矩形的方案数,对于一块面积,如果它被x个矩形覆盖,那么它作为面积交就出现了(x-1)*x/2次。所以只要统计每一块面积被覆盖次数就可以了。 第一反应就是扫描线去维护每块面积对答案的贡献,然后开始敲bug。最后调了1个多小时bug,终于...

2019-06-06 22:02:54

阅读数 18

评论数 0

拉格朗日插值法求多项式系数 (附代码)

写在前面: 学了拉格朗日插值法之后发现大家都说可以在O(n^2)时间内得到多项式系数,但是没有找到代码,网上找了很多资料又因为我太弱了没能看懂,最后在emofunx学长的帮助下终于搞明白了。 由于太弱没能看懂的文章 引入 我们都知道n个点可以确定一个n-1次的多项式F(x),然后用拉格朗日插值法可...

2019-06-06 14:56:08

阅读数 19

评论数 0

2019 icpc西安邀请赛 E. Tree(树链剖分+带修改的区间异或和)

题目链接 题意: 给一棵树,根结点为1,每个点有权值,有三种操作: 让根节点到u的路径上所有点的权值&t 让根节点到u的路径上所有点的权值|t 查询根节点到u的路径所有点的异或和是否等于t 题解: 树链剖分把树上路径问题转换成区间问题,然后对权值的每一位建一棵线段树,查询的时候...

2019-05-28 14:37:55

阅读数 18

评论数 0

2019河北省大学生程序设计竞赛(重现赛)部分题解

补题链接 A:Battle of Balls 把左右边界也看成点,如果球不能在两个点之间过去,就在点之间拉上一条警戒线,当警戒线把顶层和底层分割开来就说明球不可能到达顶层(PS:注意精度 #include<bits/stdc++.h> using namespace s...

2019-05-25 23:12:12

阅读数 40

评论数 0

牛牛的回文串(预处理 + 区间DP)

题目链接 题意: 牛牛喜欢回文串,牛妹给了牛牛一个字符串S,牛牛想把S变成回文串 牛牛可以做如下三种操作 1:在任意位置增加一个字符 2:删除一个字符 3:改变一个字符 每种操作都有限定的字符,比如,只能删除’a’,增加’b’,把’c’变成’d’等等 每种操作都有相应的代价 用M条语句来描述能进行...

2019-05-25 10:25:14

阅读数 13

评论数 0

HDU - 6183 Color it(动态开点线段树)

题目链接 题意:一个二维坐标系上,有两种操作: 1:在(x,y)这个点插入一个颜色为c的点 2:在横坐标范围为(1,x),纵坐标范围为(y1,y2)的区域查询有多少不同颜色的点。 题解: 颜色最多有51个,所以可以对每个颜色,维护一个最小值线段树,每次查询就在(y1,y2)这个区间查询最小值,如果...

2019-05-23 11:36:36

阅读数 16

评论数 0

牛客小白月赛14 H-图上计数(主席树求子树上第k大)

题目描述 给定一棵以 1 为根,大小为 N 的树,每个点有若干条出边,如果你要 dfs 的话,它们需要按照输入的顺序去遍历(就是指定了dfs 序) 你需要维护一种数据结构,支持两种操作: 1 x:将 x 为根的子树中的节点,以dfs 序为下标,编号大小为关键字排序。相当于树的形态不变,但是子树里节...

2019-05-12 12:04:14

阅读数 15

评论数 0

一句话网络流(EK,Dinic,最小费最大流,(最大/最小)可行流,最小费用可行流)

EK算法求最大流: BFS找增广路增广直到无法增广 复杂度:O(V*E^2) 核心代码(邻接表存图):(一开始学最大流的时候写的代码,非常丑) int pre[maxn]; int vis[maxn]={0}; bool bfs(){//bfs求路径 for(int i = 0;i &l...

2019-05-09 22:44:21

阅读数 28

评论数 0

CCF201812-5 管道清洁 题解(最小费可行流)

无汇源的最小费可行流。 需要清洁的管道下界为1,然后建图直接跑最小费用流。 AC代码: #include<iostream> #include<queue> #include<string.h> using nam...

2019-05-09 21:03:40

阅读数 25

评论数 0

小米 OJ 编程比赛 04 月常规赛

A:不一样的排序 题意: 有 n 个数(a1,a2…an),需要用因子个数的多少进行排序,因子个数多的排在后面,因子个数少的排在前面,如果因子个数相同那么就比较这个数的大小,数大的放在后面,数小的放在前面。现在让你说出排序之后第 K 个位置的数字是多少。(n<1e7,ai,k&...

2019-04-30 22:27:25

阅读数 36

评论数 0

[Gym-100827G] Number Game(博弈)

description: Alice and Bob are playing a game on a line of N squares. The line is initially populated with one of each of the numbers from 1 to N. Al...

2019-04-21 00:24:10

阅读数 39

评论数 0

ZOJ-4097 Rescue the Princess(Tarjan边双连通缩点 + LCA)

题目链接 题目大意: 给你一个图(不保证连通,可能存在重边),多次查询,一次查询给出三个点u,v,w,(可能会重合),求有没有两条路径使得v到达u,w到达u,且这两条路径不重合。 点的数量 和 查询次数都是1e5级别。 题解: 先对原图进行边双连通缩点,判断的时候分为以下情况: 1.三个点都在同一...

2019-04-18 21:04:41

阅读数 33

评论数 0

CodeForces-1143E Lynyrd Skynyrd(倍增)

Description: Recently Lynyrd and Skynyrd went to a shop where Lynyrd bought a permutation p of length n, and Skynyrd bought an array a of length m, c...

2019-04-11 21:04:14

阅读数 54

评论数 0

perflab实验smooth函数优化

优化1: 一个看到有个函数avg,回想一下书上的例子,减少函数调用算是一个优化,于是就把avg的内容直接写在循环体里面 char smooth_descr[] = "smooth: Current working version"; void smooth(int dim, p...

2019-04-11 17:32:11

阅读数 231

评论数 0

二分图最大匹配-HK算法的简单理解和实现

求一个二分图的最大匹配,朴实的匈牙利算法的复杂度为O (VE),优点是代码量很少,而且顶点数目在1000以内的时候表现不错。 bool dfs(int u,int tot){ for(int i = head[u];i != -1; i = e[i].nxt){ int v= e[i].v;...

2019-04-08 22:46:48

阅读数 93

评论数 0

Tarjan算法的练习

基本介绍: Tarjan算法其实就是一种带技巧的DFS,比普通的dfs多了两个标记:dfn和low,实质上还是一种DFS。 Tarjan算法能做什么? 求有向图的强连通分量 求无向图的割点 求无向图的桥(割边) 求LCA(最近公共祖先) 网上有很多的tarjan算法详解,这里就不重复造轮子了。...

2019-04-03 23:31:48

阅读数 47

评论数 2

朱刘算法求最小树形图

最近刷到一道题,题意是求有向图的最小生成树,一看题意就想用prime写,结果听取wa声一片,搜了一下题解才知道要用朱刘算法写。学了一下朱刘算法。 https://www.cnblogs.com/xzxl/p/7243466.html 学的时候,这篇博客的缩点部分看了好一会它的描述觉得好绕,其他的教...

2019-03-29 23:06:14

阅读数 30

评论数 0

小爱密码2.0(矩阵快速幂+扩展欧几里得)

小爱密码2.0 小米3月赛的C题,题意是求第n个Fibonacci质数/3 模上一个数m的结果,保证m和3互质。1<=n<=5e5,4<=m<=1e9 Fibonacci质数的定义: 若某Fibonacci数与任何比它小的Fibonacci数...

2019-03-29 22:10:53

阅读数 34

评论数 0

深入理解计算机系统实验二 datalab

深入理解计算机系统实验二 datalab 深入理解位运算的一个实验……参考了网上dalao的实现方式,其中感觉最巧妙的就是bitCount的二分思想,这里附上链接 http://blog.chinaunix.net/uid-20729605-id-1884367.html http://blog....

2019-03-28 01:12:12

阅读数 186

评论数 0

2019湖南多校第三场补题

K: Sixth Sense 题意:你和对手都有n个数字,进行n轮比较,每轮数字大的数字获胜,比较过的数字不能再比较,已知对方出牌顺序,问你如何出牌能够让获胜次数最多。需要输出字典序最大的答案。 思路:如果不管字典序,这个问题就简单了,回忆一下田忌是怎么赛马的,对于每一轮,如果我们手里有比对手大的...

2019-03-27 11:26:13

阅读数 41

评论数 0

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