自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 「学习笔记」2-SAT

2-SAT一.原理二.习题练习1.2.3.4.一.原理二.习题练习1.题目来源:题意:解析:2.题目来源:题意:解析:3.题目来源:题意:解析:4.题目来源:题意:解析:

2021-01-10 13:47:15 1088 2

原创 「学习笔记」单调队列

单调栈一.原理二.习题练习1.Sliding Window2.Non-negative Partial Sums3.One hundred layer4.Balanced Playlist5.OpenStreetMap一.原理单调队列,顾名思义,就是从队头到队尾有序的队列,它和单调栈一样也只是一种思想,这种思想借助队列先进先出的特性,在一些特定场合应用起来能够有效的降低时间复杂度,比如优化dp...

2020-01-22 00:10:19 191

原创 「学习笔记」单调栈

单调栈一.原理二.习题练习1.Largest Rectangle in a Histogram2.Bad Hair Day3.Largest Submatrix of All 1’s4.Feel Good5.Largest Common Submatrix6.I Max answer一.原理单调栈,顾名思义,就是从栈底到栈顶有序的栈,很多人认为其只是一种思想,这种思想借助栈后进先出的特性,在一...

2020-01-15 21:26:37 219

原创 ACM之大数模板整理

目录:一.c++版本1.大数运算2.大数进制转换3.卡特兰数二.java大数一.c++版本1.大数运算typedef long long ll;const ll m=1e8;//大数数组每个元素为8位struct Bigint{ ll s[50];int l;//l为长度 void print(){ printf("%lld",s[l]); for(int i=l-1;i&g...

2020-01-11 13:04:35 467

原创 「学习笔记」尺取法

目录一.尺取法简介二.例题1.Subsequence(Poj 3061)2.Sum of Consecutive Prime Numbers(Poj 2739)3.Graveyard Design(Poj 2100)4.Jessica's Reading Problem(Poj 3320)5.Bound Found(Poj 2566)一.尺取法简介尺取法通常是对数组保存一对下标,即所选取的区间...

2019-11-09 12:28:34 256

原创 「学习笔记」线段树

目录一.线段树入门篇1.建立+单点更新+查询(1)建树模板(2)单点更新模板(3)查询模板(4)例题2.区间更新(1)区间更新模板(2)例题3.扫描线法4.离线询问5.树上二分6.优化建图7.维护可和信息8.维护不可和信息9.维护最大字段和二.线段树进阶篇1.分裂与合并2.可持久化(主席树)3.二维线段树与四分树一.线段树入门篇1.建立+单点更新+查询(1)建树模板#define lson...

2019-11-09 11:20:26 166

原创 「学习笔记」树点分治

目录:一.思想二.例题1.洛谷模板(P3806)一.思想二.例题1.洛谷模板(P3806)题目链接在这题目描述给定一棵有n个点的树询问树上距离为k的点对是否存在。输入格式n,m 接下来n-1条边a,b,c描述a到b有一条长度为c的路径接下来m行每行询问一个K输出格式对于每个K每行输出一个答案,存在输出“AYE”,否则输出”NAY”(不包含引号)#include <b...

2019-10-04 15:13:10 157

原创 大学《数据结构》实验总结

#include <bits/stdc++.h>using namespace std;typedef struct node{ int data; struct node *next;}List;List *init()//初始化链表节点{ List *p=(List *)malloc(sizeof(List)); p->next=NU...

2019-09-20 16:20:54 5390 1

原创 「学习笔记」树状数组

伟大

2019-08-15 22:39:26 311 1

原创 「学习笔记」docker部署开源hustoj

目录一.相关学习二.部署过程1.阅读Docker官方文档,了解特性和基本概念2.搭建Dcoker环境,掌握Dcoker常用命令3.安装Dcoker-compose,理解作用,掌握语法4.利用docker-compose进行应用编排,对hustoj进行部署一.相关学习了解容器技术发展、特点,搭建容器环境并部署应用:  1、阅读Docker官方文档,了解特性和基本概念  2、搭建Dcoker环境,掌握Dcoker常用命令  3、安装Dcoker-compose,理解作用,掌握语法  4、利用dock

2022-02-06 11:36:53 2060

原创 CF Round #678 (Div. 2) E.Complicated Computations //权值线段树

题目链接https://codeforces.ml/contest/1436/problem/E题意  定义 MEX 为一个序列没有出现的最小正数,现给定你一组序列,求出该序列的任意非空子区间的 MEX,然后这些 MEX 组成一个新序列,让你求该新序列的 MEX思路  不难得出,新序列的数据范围为:[1,n+1][1,n+1][1,n+1],那么这组新序列的 MEX 的数据范围为:[1,n+2][1,n+2][1,n+2],直接找不好找,不妨先找到哪些数一定不是新序列的 MEX,可以确定的是这些数

2020-11-04 17:53:47 211

原创 「计蒜之道」 2020-线上决赛 C-攀登山峰 //主席树上二分

题目链接https://nanti.jisuanke.com/t/49111题意nnn 个数,mmm 个操作,每个操作给3个数:l r tl \ r \ tl r t,让你输出这个区间满足个数超过r−l+1t\frac{r-l+1}{t}tr−l+1​的最大的数。思路查询区间满足一定条件数,首先想到主席树,根据原序列建立主席树(可持久化权值线段树),查询的时候,优先去右边找,右边找不到再去左边找,这样能保证找到的数最大.代码#include <bi

2020-10-24 20:05:54 246

原创 zzu-2050 大小接近的点对 //dfs序+主席树

题目链接http://acm.zzuli.edu.cn/problem.php?id=2520题意有一棵有根树,根结点编号为 111,编号为 iii 的结点的权值为 wiw_iwi​,现在定义结点 (u,v)(u,v)(u,v) 为“大小接近的点对”,当且仅当满足:  (1) uuu 是 vvv 的祖先结点(vvv 可以等于 uuu)  (2) ∣wu−wv∣≤k|w_u-w_v|\leq k∣wu​−wv​∣≤k现在对于树上每个结点 iii,需要计算以其为根的子树中“大小接近的点对”的个数。

2020-09-23 08:46:00 141

原创 CF Round #670 (Div. 2)-C.Link Cut Centroids //树的重心性质

题目链接https://codeforces.com/contest/1406/problem/C题意给你一棵树( nnn 个顶点),现在要求拆掉一条边,再加上一条边使得树的重心唯一解析首先需要知道树的重心都有哪些性质:树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个重心,他们的距离和一样。把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。一棵树最多有两个重心,且相邻。这样的话,就好办了,如果树的

2020-09-14 17:21:39 165

原创 「刷题笔记」AC自动机

单调栈一.原理二.习题练习1.洛谷 P3808 AC自动机(简单版)2.洛谷 P3796 AC自动机(加强版)3.洛谷 P5357 AC自动机(二次加强版)4.5.一.原理二.习题练习1.洛谷 P3808 AC自动机(简单版)题目来源:https://www.luogu.com.cn/problem/P3808题意:解析:#include <iostream>#include <cstdio>#include <cstring>#include &lt

2020-08-06 17:53:23 166

原创 CF 888-G Xor-MST //01Trie+Boruvka算法

https://codeforces.com/problemset/problem/888/G题意给你一个 nnn 个节点的完全图,第 iii 个点的权值为 aia_iai​,两点的之间边权为这两个点权值的异或值,求最小生成树的权值。解析nnn 比较大,不能直接用 KruskalKruskalKruskal 或者是 PrimPrimPrim 算法求 MSTMSTMST,代码#include <iostream>#include <cstdio>#include &lt

2020-07-31 15:28:37 151

原创 「百度之星」2020 - 初赛三题解

目录1001.Discount1002. Game1003. Permutation1004. Intersection1005. Chess1006. Ant1007. Fight1008. Graph题目网址链接:2020 年百度之星·程序设计大赛 - 初赛三1001.Discount题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6783思路: 根据题目定义,找出最大的那个优惠比例即可代码#include <iostream>#

2020-07-27 22:32:20 406

原创 「学习笔记」dfs序

原理dfs序:每个节点在dfs深度优先遍历中的进出栈的时间序列(为了方便操作我们往往有两种不同的写法,一种是只记录进栈顺序,一种是进栈出栈都记录)网上偷的图,懒的自己造了:性质子树在dfs序上一定连续dfs序不一定唯一,但不影响使用妙用一般与树状数组、线段树连用维护dfs序区间和单点信息树上单点更新,子树和查询 (线段树单点更新,区间查询)树上子树更新,单点值查询 (线段树区间更新,单点查询)树上子树更新,子树值查询 (线段树区间更新,区间查询)树上单链更新,

2020-07-11 16:48:36 344

原创 「学习笔记」STL用法

文章目录STL集合1 栈(stack)1.1 成员函数1.2 单调栈应用2 队列(queue)2.1 普通队列2.2 双端队列3 迭代器和pair4 动态数组(vector)5 双向链表(list)6 集合(set)6.1 set和multiset6.2 unordered_set和unordered_multiset7 键值对集合(map)7.1 map和multimap7.2 unordered_map和unordered_multimapSTL集合1 栈(stack)1.1 成员函数#incl

2020-07-11 13:48:46 212

原创 「学习笔记」树上差分

学习链接点这里点差分/** * 设差分数组d[],对于一条链(u,v),各点权值加val * d[u]+=val,d[v]+=val * d[lca(u,v)]-=val,d[fa[lca(u,v)]]-=val * 单点查询转化为该点在内的子树和查询 * 链缩成点同样适用,所以如果初始时各点有值,就将各点值也维护到差分数组中去 */边差分/** * 需把边塞给点,即是塞给这条边所连的深度较深的节点 * 设差分数组d[],对于一条链(u,v),路径边权都增加val * d[u]+

2020-07-11 13:24:14 142

原创 Hdu-6567 Cotree //树形dp

题目链接2019CCPC-江西省赛 A题题意  给你两棵树(加一起 nnn 个顶点、n−2n-2n−2 条边),现在需要给两棵树中间加一条边,使得 ∑i=1n∑j=i+1ndis(i,j)\sum_{i=1}^{n}\sum_{j=i+1}^{n}dis(i,j)∑i=1n​∑j=i+1n​dis(i,j) 值最小,即合并的树任意两点的距离和最小。解析  找规律不难发现,将两个树的重心相连会使总和最小,所以分别求下两棵树的重心,然后连一条边,树上任意两点距离和也有求法:求树上任意两点距离和可以转换

2020-06-28 21:03:54 188

原创 「周练」Codeforces Round #514 (Div. 2)

目录一. Codeforces Round #514 (Div. 2)A. CashierB. ForgeryC. Sequence Transformation (数学/找规律)D.E.二. **练习A.B.一. Codeforces Round #514 (Div. 2)比赛网址链接:http://codeforces.com/contest/1059A. Cashier题意 思路 代码B. Forgery题意 思路 代码C. Sequence Transforma

2020-05-13 21:16:15 224

原创 「周练」Codeforces Round #526 (Div. 2)

目录一. Codeforces Round #526 (Div. 2)A. The Fair Nut and Elevator (枚举)B. Kvass and the Fair Nut (贪心)C. The Fair Nut and String (思维+组合数学)D. The Fair Nut and the Best PathE. The Fair Nut and StringsF. Max...

2020-05-10 09:42:26 345

原创 「sql作业」建表、插入数据、查询

问题描述某校学生选课管理数据库各表情况说明如下:Student( Sno CHAR(7) primary key, Sname CHAR(10) , Ssex CHAR(2) , Sage int DEFAULT 20, Sdept CHAR(20) )Course( Cno Char(10) PRIMARY ...

2020-05-09 22:19:17 1500 2

原创 「周练」Codeforces Round #462 (Div. 2)

目录一. Codeforces Round #462 (Div. 2)A. A Compatible Pair (枚举)B. A Prosperous Lot (贪心)C. A Twisty MovementD. A Determined CleanupE. A Colourful Prospect二. 二维dp练习A. 编辑距离B. 最长公共子序列LcsC. Find Black HandD. ...

2020-05-03 12:17:11 214

原创 「周练」Codeforces Round #530 (Div. 2)

目录一. Codeforces Round #530 (Div. 2)A. Snowball (模拟)B. Squares and Segments (数学)C. Postcard (贪心)D. Sum in the tree (dfs+贪心)E. Nice table ()F. Cookies ()二. 二分练习A. Aggressive cows (最大化最小值)B. String Game ...

2020-04-22 23:40:51 369

原创 Poj-1795 DNA Laboratory //状压dp+dfs

题目链接http://poj.org/problem?id=1795题意给定 nnn 个字符串,现要将它们拼接成一个串,拼接的过程中,两个串相同的部分可以重叠在一起,问怎样拼接使得总长度最短,且要求字典序最小思路  首先我们会发现,如果两个串,其中一个串是另一个串的子串,那么这个串就没什么意义了由于 nnn 不大,所以可以考虑暴力拼接,但在拼接的过程中需要知道两点:哪些串用过了,哪...

2020-04-14 19:25:26 115

原创 「周练」Codeforces Round #521 (Div. 3)

目录一. Codeforces Round #521 (Div. 3)A. Frog Jumping (数学)B. Disturbed People (贪心)C. Good Array (前后缀+枚举)D. Cutting Out (二分)E. Thematic Contests ()F. Pictures with Kittens ()二. dp 练习A. Longest Ordere...

2020-04-12 21:51:17 263 1

原创 Poj-2441 Arrange the Bulls //状压dp

题目链接http://poj.org/problem?id=2441题意有 nnn 头牛,mmm 个谷仓,每头牛可以去指定的几个谷仓打篮球,在一个谷仓只能容纳一头牛的前提下,问有多少种方案使得这 nnn 头牛都有地方打篮球解析首先肯定想到暴力搜索的做法,就是先给一头牛分配一个谷仓,然后在与前 i−1i-1i−1 头牛谷仓不冲突的情况下,给第 iii 头牛分配谷仓,直到分配到最后一头牛,合...

2020-04-10 13:34:33 131

原创 Hdu-4549 M斐波那契数列 //矩阵快速幂+费马小定理

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4549题意已知一个数列满足:F0=a,F1=bF_0=a,F_1=bF0​=a,F1​=b Fn=Fn−1∗Fn−2(n>1)F_n=F_{n-1}*F_{n-2}(n>1)Fn​=Fn−1​∗Fn−2​(n>1) 求 Fn%(109+7)F_n\%(10^9+7)Fn​%(109...

2020-04-06 15:33:54 113

原创 Poj-2686 Traveling by Stagecoach //状压dp(递推/记忆化搜索)

题目链接http://poj.org/problem?id=2686题意一个旅行家计划骑马车旅行,现在有 mmm 个城市,城市间有 ppp 条双向道路,每条道路都有权值,穿过道路需要乘坐马车,乘坐马车需要车票,一张车票对应一辆马车,不同的车票对应不同的马匹数,通过一条道路所需时间为 道路的长度除以乘车的马匹数 。现在旅行家有 nnn 张车票,第 iii 张车票对应的马匹数为 cic_ici​...

2020-04-03 21:04:07 144

原创 CF 1324-F Maximum White Subtree //树形换根dp

题目链接http://codeforces.com/problemset/problem/1324/F题意给你一棵树( nnn 个顶点)和一个数组 aia_iai​,每个顶点要不是白色(aia_iai​为 111 ),要不是黑色(aia_iai​为 000 ),问对于每个点( 设为iii ),包含 iii 点的联通块中,白点和黑点的最大差值为多少 (即:max(cnt白−cnt黑cnt_{白...

2020-03-29 22:57:27 142

原创 Hdu-4417 Super Mario //主席树

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4417题意简而言之,就是给你一个序列,qqq 组询问,每次查询一个区间内,不大于 xxx 的数有几个。思路首先将原序列加上 qqq 组查询的数放一起离散化一下,然后根据离散化的序列前缀建 nnn 棵可持久化权值线段树,每次查询根据主席树的函数性质,前缀做差查询。查询操作:对于一个区间 [l,r]...

2020-03-23 20:46:24 131 1

原创 Hdu-4126 Genghis Khan the Conqueror //MST+树形dp

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4126题意简而言之,就是给你一张图(稠密图),现在有 QQQ 次修改,每次依原图更改一条边的权值(只会比原图的大),让你求出每次更改后的最小生成树权值,取这 QQQ 次最小生成树权值的平均值思路我们先不考虑修改,就是求出原图的最小生成树,由于是稠密图,所以一般用 primprimprim 算法,...

2020-03-23 17:40:42 171

原创 HDU 4123-Bob’s Race //树形dp+rmq+尺取

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4123题意题意大概就是给你一棵树,有 nnn 个顶点、n−1n-1n−1 条边,每条边有一个权值,现在让你求出每个点距离其他点的最长距离,然后有 mmm 组询问,每次询问给一个数 qqq ,每次询问在顶点 [1,n] 这个范围内,其中连续的一段(顶点编号连续) 最长距离 的最大值和最小值之差,在不大...

2020-03-16 20:42:37 188

原创 Poj-2104 K-th Number //区域树/主席树

题目链接http://poj.org/problem?id=2104题意给定 nnn 个数,mmm 组询问,每次询问一个区间的第 kkk 小的数是多少。简而言之,就是静态查询区间第 kkk 小思路这个题有多种做法,第一种是利用区域树来做,当线段树的每个结点维护的是一个有序数列或一棵树时,这样的线段树叫做区域树。这里我们让线段树的每个结点维护一个有序数列,然后建树的过程类似于归并排序,然后...

2020-03-01 20:44:06 126

原创 Poj-2155 Matrix //二维差分+BIT

题目链接http://poj.org/problem?id=2155题意就是给一个 nnn 阶矩阵,初始时全为0,然后有 mmm 次操作,每次有两种操作:(1) CCC x1x_1x1​ y1y_1y1​ x2x_2x2​ y2y_2y2​:将这个子矩阵内的元素全部反转( 000变111,111变000 )(2)QQQ xxx yyy :查询矩阵 (x,y)(x,y)(x,y) ...

2020-02-29 20:58:23 217

原创 Poj-1990 MooFest //树状数组

题目链接http://poj.org/problem?id=1990题意一共 nnn 头牛,每头牛有两个属性 pos,vpos,vpos,v,pospospos 指牛的位置,vvv 指牛的听力值。如果两头牛(编号为 i,ji,ji,j )需要交谈,需要的音量值为 dis(posi,posj)∗max(vi,vj)dis(pos_i,pos_j)*max(v_i,v_j)dis(posi​,p...

2020-02-29 13:48:26 118

原创 Poj-2991 Crane //线段树+计算几何

题目链接http://poj.org/problem?id=2991题意简而言之,就是有 nnn 条接在一起的线段,最初是在同一条直线上,然后有 mmm 次操作,每次可以修改某两个相邻线段间的角度,然后问最后一条线段末端的坐标。思路如果把每个线段看成一个向量(x,y)(x,y)(x,y),然后向量间的加减操作很简单,也即是 x,yx,yx,y 的叠加。所以如果把每条线段看作是一个向量的话...

2020-02-15 17:04:04 454

原创 CF Round 82-E Erase Subsequences //dp+序列自动机

题目链接https://codeforces.ml/contest/1303/problem/E题意给定字符串 sss 和 ttt ,问能否用至多两个 sss 的非重叠子序列相加构造出 ttt思路由于字符串长度不大,可以枚举 ttt 的断点,断点前半段和后半段假设为 sss 的两个非重叠的子序列,设前半段和后半段字符串分别为 aaa 和 bbb,长度分别为:∣a∣|a|∣a∣ 和 ∣b∣...

2020-02-14 16:17:19 347

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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