自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CCPC 2020 ChangChun J 与 L

2020CCPC长春J题意:给定一个区间 [0,n][0,n][0,n] ,区间内由一些圆,圆的半径和圆心都是整数,且圆上所有点都在区间内,每对圆的交点个数不超过 111 个,圆的半径不超过 555 ,求有多少种合法的方法加入新的圆。思考:这道题,一开始看着就觉得是个区间 dp ,但是又感觉不是那么好处理。但其实这道题就是一个最基础的区间 dp 题。这道题的答案满足区间 dp 的一个普遍特征,最后由一个个大圆不相交的构成。借助这道题,来总结一下区间 dp 的一般做法:区间 dp 一般是按照区

2021-10-20 15:00:44 187

原创 HDU 7136 Jumping Monkey 与 kruscal重构树

题目传送门:HDU7156题意:给定一棵树,有 nnn 个点,树上每个点都有互异的一个权值 aia_iai​ 。如果 uuu 能跳到 vvv ,那么 uuu 到 vvv 最短路径中没有权值比 aua_uau​ 大,且 ava_vav​ 比 aua_uau​ 大。问每个节点最多跳转多少次。思考:这道题画画图,就可以发现如果 uuu 能够跳转到 vvv,且 uuu 能和 ppp 直接相连,如果 ava_vav​ 小于 apa_pap​,那么 uuu 能跳转到 vvv ,然后再跳转到 ppp 。因

2021-10-12 17:34:03 198

原创 2021国庆牛客第6场--2018牛客多校第6场 I-Team Rocket

题目传送门:click here题意:给定 nnn 个区间 [li,ri][l_i, r_i][li​,ri​] ,每次给定一个点 xxx ,所有覆盖它的区间全部删除掉。求问,每次加入该点删掉多少个区间,每个区间在第几个点被删掉。(强制在线)...

2021-10-08 20:38:59 107

原创 通过 cf Round745-C Train Maintenance 浅谈分块

借 Train Maintence 来总结一下分块

2021-10-04 11:21:45 188

原创 2021HDU多校第四场7-Increasing Sequence

题目链接:HDU6991题意:给定一个排列,求极长上升子序列的个数。极长上升子序列的定义是不存在包含它的比它更长的子序列。思考:面对一道题时,最先要做的事情就是将问题抽象为一个可以实现的模型。这道题的模型可以这样来定义:定义 dp[i]dp[i]dp[i] 为以 a[i]a[i]a[i] 结尾的极长上升子序列个数。首先,对于初始状态 dp[i]=1dp[i] = 1dp[i]=1 满足不存在 a[j]<a[i],j<ia[j] < a[i], j < ia[j]<a

2021-08-06 20:39:17 167

原创 2021HDU多校第四场5-Didn‘t I Say to Make My Abilities Average in the Next Life?!

线段树维护历史信息和

2021-08-05 15:52:54 138

原创 又是一期关于期望的讨论

2021牛客多校第一场的I和第四场的B,两道题来理解期望dp

2021-07-29 11:02:56 80

原创 位运算相关的题目

1.牛客多校第四场 Tree Xor2.hdu多校第一场Xor Sum3.hdu多校第二场I love counting4.hdu多校第二场I love max and multiply

2021-07-27 09:47:10 51

原创 21.7.20

随便记点想法:关于区间的有关时间的问题,例如每次修改都是基于上一次修改的修改,然后查询两个时间点之间的差异(标准的可持久化)这样的问题在21杭电多校的1010上体现就是,已知每个点坐标(i,f(i))(i,f(i))(i,f(i)),查询一个矩阵内有多少个不同的yyy值。这个问题当时的第一反应就是二维线段树,但是对于不涉及修改的,似乎主席树也可以统计。但是对这道题来说是有问题的,因为不好统计不同的值的个数,更方便的是统计个数,而不是不同的个数。而这道题给出了另一个对于这种无修改的做法,分块+莫队。用

2021-07-20 20:35:43 46

原创 个人日常使用的vimrc

Ubuntu版:set nocompatibleset mouse=aset backspace=2set numberset tabstop=4set shiftwidth=4set cindentset autoreadsyntax oncolor tortemap<F5> <Esc>:w<cr>:! g++ % -o %< <cr>imap<F5> <Esc>:w<cr>:! g++ %

2021-05-26 15:23:36 65

原创 zkw费用流

挂个链接:zkw的zkw博客原理参考zkw的博客题目:cf edu 109 D两个版本:区别在最短路的求法上面1.修改顶标(原始版本)适用于:最终流量较大, 而费用取值范围不大的图, 或者是增广路径比较短的图 (如二分图),#include<bits/stdc++.h>#define For(aa, bb, cc) for(int aa = (bb); aa <= (int)(cc); ++aa)using namespace std;const int inf =

2021-05-23 13:45:27 729

原创 再谈后缀自动机

个人SAM总结反思,借2021hdu多校第四场4-Display Substring来做个总结

2021-05-02 16:24:41 94

原创 区间问题相关

1.hdu5919题意:给一个序列,每次询问[l,r][l,r][l,r]中,每个数第一次出现时的下标的中位数。思考:这道题首先需要判断一个区间内出现了多少个不同的数。对于这个问题,我们考虑记录每个数最后出现的位置,那么,满足最后出现位置在[l,r][l,r][l,r]之间的数的个数就是答案。但是,这样得出来的结果是[l,r][l,r][l,r]中,每个数最后出现的位置,要想得到最先出现的位置,需要想办法。怎么做?倒过来加入序列,此时的最后位置(倒序列)就是最前位置(正序列)。然后就是区间中位数(

2021-05-01 10:31:18 493

原创 codeforces div716 C、D

CFdiv716 CDC是数学结论D是线段树的维护

2021-04-21 17:27:09 114

原创 ICPC2020 南京 M Monster Hunter

题意:牛客ICPC2020南京的M题这道题考场上写了两个小时,奈何最近dp练习太少,写了半天把自己绕晕了,现在来重新捋一下思路。首先很明确的一点,使用的药水要从小往大进行dp(尝试过从大到小,没办法列方程)。先观察一下要些什么状态:当前节点,以他为根的子树用了多少瓶药,他自己是否用药被杀。最后一个状态我在考场上设立的是是否被杀,其实本质上是一样的。下面来解释dp的含义:dp[i][j][0/1]dp[i][j][0/1]dp[i][j][0/1]以iii为根的子树中,用jjj瓶药,iii是否被用药杀

2021-03-25 10:12:21 467

原创 左偏树

左偏树,顾名思义,就是向左边偏的树。偏,是相对于树的距离而言;距离,是一个节点到最近叶子节点的距离。左边的距离大于右边的距离。这个树满足堆的性质,左右节点的权值都小于/大于根节点的权值。具体构造方法:(大根堆)合并两个左偏树,首先找出权值大的那颗子树,将小的那一颗和大的的右子树合并(左偏性质)。递归进行处理。回溯的时候,更新距离,处理左右子树大小。int merge(int x, int y){//大根堆 if(!x) return y; if(!y) return x; if(v[

2021-01-27 20:41:37 175 1

原创 20-12-17随笔---深入理解线段树lazy_tag操作

第二十一次CSP认证第五题深入理解线段树lazy_tag操作

2020-12-17 23:53:49 154

原创 2020-12-5总结

2020的台北的e题

2020-12-05 20:36:42 77

原创 2019-2020 ICPC Asia Hong Kong Regional Contest J题

一道数位dp的题

2020-11-22 20:36:02 807

原创 2020.11.11随笔

icpc网络赛某题,ccpc绵阳站J题,ccpc威海站某题

2020-11-11 15:46:07 124 1

原创 icpc2018南京站B题 tournament

wqs二分以及nlogn的dp优化

2020-10-06 20:24:56 379

原创 关于dp斜率优化的一些感悟

学习链接感悟:dp的斜率优化的基础用法是在1D1D型的dp上,如HNOI2008玩具装箱,这里是dp[i]=min⁡dp[j]+(s[i]−s[j]−L)2 dp[i]=\min{dp[j]+(s[i]-s[j]-L)^2} dp[i]=mindp[j]+(s[i]−s[j]−L)2这里假设一个j1<j2j_1<j2j1​<j2且满足j1j_1j1​的答案没有j2j_2j2​的优,那么可以推得一个斜率dp的公式:...

2020-08-10 17:46:50 83

原创 2-sat问题简介

对于2-sat问题的每一个约束:两个条件中至少满足一个;这里加入满足x∣yx|yx∣y,只需要xxx或者yyy满足条件就可以了。那么如果xxx不满足条件,那么yyy必须满足条件;反之亦然;那么就可以对于这种约束条件建边在xxx不满足条件的情况下,yyy必须满足条件,即!x−>y!x->y!x−>y;同理可以知道!y−>x!y->x!y−>x;这个建边方式可以推广到一般的约束中去,只要是2-sat,即两者之间的约束都可以(约束关系只在x,y之间)。这样的话,对于图

2020-08-03 11:46:30 114

原创 20.08.02总结

LibreOJ 2054:SPOJ QTREE2 :CodeForces 228E:Gym 100739Ahdu6638

2020-08-03 11:33:46 88

原创 20.07.27总结

今天用脑子把树链剖分补完了,没有写代码,简单来说说吧。碰到了一道题,要求从aaa走到bbb,找出两个点x,yx,yx,y满足dis(a,x)<dis(a,y)dis(a,x)<dis(a,y)dis(a,x)<dis(a,y)使w[y]−w[x]w[y]-w[x]w[y]−w[x]最大。这里用树链剖分把树上问题划归到序列上。对于序列上的话,可以考虑用线段树维护。从[L,R][L,R][L,R]可以分为[L,mid][L,mid][L,mid]和[mid+1,R][mid+1,R][mid

2020-07-28 10:02:54 72

原创 20.07.24总结

1.发现取模和开根这两个操作对一个确定数的有效操作次数都是小于log的,这样也就导致了可以暴力操作,只需要最大值判断一下就可以了。2.对于一连串数的gcd的操作,可以用更相减损法的性质来操作:gcd(x1,x2,x3…,xn)=gcd(x1,x2-x1,x3-x2,x4-x3…,xn-xn-1),这样也就可以转到差分上去,也把区间修改变成了单点修改。...

2020-07-25 14:18:21 57

原创 20.07.22总结

hdu比赛

2020-07-22 21:26:17 88

原创 20.07.21总结

线段树优化建图

2020-07-21 22:50:59 71

原创 20.7.20总结

7.20总结

2020-07-20 19:51:03 92

原创 1-15总结

1.今天看了看昨天晚上没写完的一道题,一道线段树的题,结果理解错题意了。原题:CodeForces 1000F 我的题面:求数列a[]a[]a[]的[L,R][L,R][L,R]区间内有多个数字只出现了一次。原题意:写出任意一个在数列a[]a[]a[]的[L,R][L,R][L,R]区间内只出现过一次的数,没有则输出0。不过做法可能差不多,这里简单谈一谈我所学到的做法:若记pre[x]...

2020-01-15 20:25:05 92

原创 树状数组的一些理解

树状数组中的lowbitlowbitlowbit的一些具体意思,有一点感悟。原理:这个百度上都有,就不说了。y=x+lowbit(x)y=x+lowbit(x)y=x+lowbit(x):此时的yyy,在树状数组的图形中,就是xxx的父亲节点,也就是yyy包括xxx的覆盖范围。y=x−lowbit(x)y=x-lowbit(x)y=x−lowbit(x):此时的yyy,在树状数组的图形中就...

2020-01-14 10:06:23 108

原创 1月12号总结

今天做了几道题,来谈一谈感想。首先是CF11080F:求最小生成树的个数。这道题我的作法是:构造一颗最小生成树,枚举其他不在里面的边,若加入这条边,一定可以构成一个环。在这个环中(除开这条边)的最大边权与这条边相等,则可以多出一颗最小生成树。维护最大值和环,用树上倍增就可以了。不过倍增一个地方容易写错,这里提出来一下:void init(){ for(int j=1;(1<&...

2020-01-12 21:00:00 113

原创 拓扑排序

简单的回顾了一下拓扑排序,并做了几道题,在此做一下总结。拓扑排序算法原理比较简单,但在实现上,给我提供了一种比较好用的技巧。对这种需要判断环的存在的,需要区分历史遍历过的和现在正在遍历的。这里对vis[]vis[]vis[]进行了扩展,用−1-1−1来表示标记现在正在访问的路径,而访问结束标记为111。当然,这个只能在dfsdfsdfs中使用。bool dfs(int node){ vis...

2020-01-11 09:26:29 180

原创 bzoj2324拯救皮卡丘

说实话,我是没有想到用费用流来求解的。

2017-10-18 20:20:38 223

原创 国庆集训总结

感谢mtm和dyy的指导

2017-10-10 22:12:02 399 1

原创 关于期望线性性的探讨

期望线性性的探讨

2017-10-07 19:55:02 2429 1

原创 凸包问题的回溯操作

昨天考试的第三题,已经看出来是维护上凸包,但是对于dfsdfs回溯时凸包怎么去维护只会暴力拿栈维护(但是好像对于随机数据时间复杂度为O(nlog2nO(n log_2 n)),然而正解做法就是用了一个可持久化栈.

2017-10-07 10:07:55 298

原创 9-7考试总结

今天考试因为一些原因,爆0了。 我感觉我一些错误反复的犯。

2017-09-07 20:20:40 272

原创 关于某个问题的探讨

一个问题: 对于给定aa,bb求aaaa..a(modp)a^{a^{a^{a^{.^{.^a}}}}} \pmod p(其中有b个a)。

2017-09-03 16:54:34 322

原创 各种错误总结

最近考试经常放的错。 1.没有开long long 2.递推或DP没有取模 3.数据范围没有看清 4.初始化定义过小 5.数据有负数,没有写负数读入优化, 初始化没有相应的定义为很小的负数

2017-09-02 08:11:34 269

空空如也

空空如也

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

TA关注的人

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