上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 最短路 Floyd多源最短路 基本用法 for(int i=1;i<=p;i++) for(int j=1;j<=p;j++) dis[i][j]=INF; for(int k=1;k<=p;k++) for(int i=1;i<=p;i++) for(int j=1;j<=p;j++) dis[i 阅读全文
posted @ 2019-08-21 16:54 UCPRER 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一块n m的矩形区域,在区域内有若干点,每个顶点发出一条射线,有上下左右四个方向,问矩形被分成了几个区域? 思路: 稍加观察和枚举可以发现,区域数量=射线交点数+1(可以用欧拉定理验证,但是我不会),问题就转变为统计射线交点数量 可以将四个方向的射线分开,用左右的射线去查询与多少个上下的 阅读全文
posted @ 2019-08-21 12:49 UCPRER 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 原题:https://ac.nowcoder.com/acm/contest/889/H 题意: 给你一些竹子,q个询问,问你从第l到第r个竹子,如果你要用y次砍完它,并且每次砍下来的长度是相同的,问你第x次砍在哪。 思路: 先求前缀和,(l,r)区间要砍y刀,每刀总长度step=(sum[r] s 阅读全文
posted @ 2019-08-19 10:10 UCPRER 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 主席树 可持续化线段树:在普通线段树的基础上,能询问/修改每个历史版本的线段树的信息(每次询问与修改都会产生一个新的版本)。 即每次更新都会产生一个新的树,由于是单点更新,因此只会有一条链发生改变,每次只要新加一条链即可,当然链上的节点一个儿子是旧的节点,一个儿子是新的节点。为了能够访问不同版本的线 阅读全文
posted @ 2019-08-17 14:29 UCPRER 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 树状数组 模板 例题 HH的项链 大小为N( include include include using namespace std; const int maxn=1e6+5; struct Q{ int l,r,id; }q[maxn]; bool cmp(Q a,Q b){ return a. 阅读全文
posted @ 2019-08-16 12:27 UCPRER 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 原题:https://ac.nowcoder.com/acm/contest/889/J 题意: 二维平面上有n个矩形,每个矩形左下角是(i−1,Li)(i−1,Li), 右上角是(i,Ri)(i,Ri),矩形一开始全是黑色,平面不被矩形覆盖的地方是白色,你要把某些黑色区域涂白(一个矩形可以内部颜色 阅读全文
posted @ 2019-08-16 12:07 UCPRER 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 原题:https://ac.nowcoder.com/acm/contest/889/D 题意: 给定大小为n( include include using namespace std; typedef long long ll; const ll maxn=1e6+5; struct node{ 阅读全文
posted @ 2019-08-15 18:56 UCPRER 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 原题:https://ac.nowcoder.com/acm/contest/889/E 思路: 做并查集,维护每个集合大小,初始化操作前的总方案数,每次合并两个集合时减少的数量=合并的两个集合大小相乘, 再乘以从其他集合中选出2个不在一个集合内的方案数。 从其他集合中选出2个不在一个集合内的方案数 阅读全文
posted @ 2019-08-15 18:48 UCPRER 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 莫队算法 普通莫队(二维) 莫队算法要求询问能离线处理,并且对于两个相邻询问能够快速转移(通常是O(1)、O(log n)) 基础时间复杂度:L移动:\(O(m*block)\),R移动:\(O(n^2/block)\) ,$block=n/sqrt(m)$时整体复杂度最小,为$O(n*sqrt(m 阅读全文
posted @ 2019-08-14 12:52 UCPRER 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=6534 题意: 给你一个数组,对于第i个数来说,如果存在一个位置j,使得j i并且a[j] k include include using namespace std; const int maxn=27 阅读全文
posted @ 2019-08-13 19:32 UCPRER 阅读(123) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页