自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codeforces题解

Codeforces Round #562 (Div. 2)

2019-05-29 13:18:52 718

原创 edu计划

Educational Codeforces Round 48 (Rated for Div. 2)

2019-05-29 13:15:50 207

原创 [leetcode 正则表达式匹配][大讨论+dp]

题目链接题意:两个字符串s和ps只有小写字母p只有小写字母以及".“和”*",其中".“可以匹配任意一种字母,” * "表示之前的一个字母存在若干个(可以为0)判断s是否可以由正则表达式p推得s和p都可能为空串题解:这种两个串之间是否"相等"的判断显然可以用dp做,只不过本题情况复杂一些,但是也只是需要大讨论着dp(具体讨论见代码注释)#include<bits/stdc++...

2020-01-01 22:56:26 303

原创 读者-写者问题(读者优先)(写者优先)

读者优先int Rcount=0;//记录是否为第一个读者semaphore RcountMutex = 1;//互斥修改Rcount//对读者操作加锁(因为允许多个读者同时阅读,所以为了保证Rcount的正确性必须加锁)semaphore Read_Write_Mutex = 1;//读-写操作加锁void writer(){ while(true){ sem_w...

2019-12-10 12:37:31 664

原创 cf1183G. Candy Box (hard version) [离散化+优先队列]

传送门题意:给出n个物品,每个物品有两个属性:种类ai(1<=ai<=n)和标记bi(bi为0或者1)。要求选出最多数量的物品满足:各个种类之间的选取数量不同,并且使bi=1的物品尽可能多题解:容易想到直接统计出每个种类的物品个数sumi以及每个种类物品bi=1的数量,显然应该按照数量非递增的种类开始取,如果当前可以取的数量之前已经取过,那么将当前可以取的物品的数量sumi减去1,...

2019-11-09 14:36:57 248

原创 cf1203 F2. Complete the Projects (hard version)[贪心+dp]

传送门题意:有n道问题,每个问题都有一个最低rating要求ai(ai>=1),做完该题之后可以得到rating就会变化bi(-300<=bi<=300),初始时的rating是r,求最多能做多少题题解:显然可以把问题分为bi>=0的和bi<0的,肯定先做bi>=0的较优,对bi>=0的按照ai排序,依次做即可,对于bi<0的想到用dp解决,但是...

2019-11-09 14:24:34 179

原创 洛谷P2617 Dynamic Rankings [动态区间第k大][带修改主席树/整体二分]

传送门题意:动态区间第k大题解:带修改主席树或者整体二分。带修改主席树普通的主席树是通过让rt[i]重用前一棵树rt[i-1]来降低若干个权值线段树复杂度的数据结构,带修改的主席树是通过rt[i]重用上一个版本的rt[i]来降低若干个权值线段树复杂度的数据结构。普通的主席树通过重用前一棵树来直接朴素地计算前缀和,带修改的主席树通过重用上一版本的自己来更新当前点,所以不再是通过继承前一棵树的...

2019-10-19 16:36:29 256

原创 cf1195E. OpenStreetMap [单调队列]

传送门题意:给出一个n * m的矩阵(n,m<=3000),求其所有a*b的子矩阵内的最小值之和题解:对于每一列倒序维护一个单调递增的单调队列可以得到以每个格子为起点的长度为a的子矩阵的最小值,然后对于每行倒序对这些得到的最小值维护一个单调递增的单调队列即可得到每个格子为左上角的大小为a*b的子矩阵的最小值,求和即可(维护单调队列的题目要注意正序还是倒序)#include<bit...

2019-10-18 21:26:36 184

原创 E. Count The Rectangles [思维+优先队列+树状数组]

传送门题意:给出n(n<=5000)条水平和垂直的线段,计算共形成多少个矩形题解:枚举矩形的上下边即枚举水平线段,显然如果有x个垂直线段与这两条边同时相交那么就形成了x*(x-1)/2个矩形,如果直接暴力枚举垂直线段,那么复杂度为O(n^3),复杂度爆表是因为垂直线段这样被重复计算贡献,思考能不能快速地计算贡献,对于纵坐标为(y1,y2)的垂直线段,其能产生贡献的区间就是下边界为>...

2019-10-18 15:07:58 235 1

原创 D. Alice and the Doll [思维+模拟]

传送门题意:有一个n*m的矩阵(n,m<=1e5),有k个障碍物(k<=1e5),初始时在(1,1)点,在每个格子里可以向右改变一次方向,初始方向向右,问是否能在不重复走格子的情况下走遍所有非障碍格子题解:由于n,m巨大,k很小,只需要存储障碍物的位置进行模拟就行了。具体地,用set存下每行每列的障碍物位置,每次移动肯定是移动到最远距离然后进行转向,直接用lower_bound求出...

2019-10-18 11:20:03 432

原创 P5043 【模板】树同构([BJOI2015]树的同构)[树hash]

P5043 【模板】树同构([BJOI2015]树的同构)题意:输出与第i棵树同构的树的最小编号题解:树hash或者最小表示法树hash,有根树直接从根结点开始hash即可,对于无根树,由于每棵树的重心最多有两个,所以找到重心当作根节点开始hash即可。我这里采用的hash方程为 sort(g.begin(),g.end()); for(int i=0;i<g.siz...

2019-10-17 18:03:08 259

原创 cf1223E. Paint the Tree [树形dp]

传送门题意:给出一棵树,选择若干条边使边权值和最大,要求每个结点至多被k条边覆盖题解:(感觉做E题不那么吃力了)树形dp。考虑子结点与父节点的关系可知有两种情况,一种情况子结点已经连完k条边则不可以与父节点连边,另一种是留一条边和父节点相连,所以可以很容易想到用dp[0][u]表示选择k条当前结点和子节点的边得到的以u为结点的子树最大值,dp[1][u]表示选择k-1条当前结点和子节点的边得...

2019-10-16 21:02:33 190

原创 [[SCOI2008]奖励关][状压+期望dp]

传送门题意:有n种卡(n<=15),k轮游戏,每轮游戏可以抽一张卡(每一轮抽出每种卡的概率都是1/n),卡的价值为ai(ai可以为负数),并且某些卡需要另一些卡作为引导即只有在得到某些卡的时候才能获得这些卡,每轮游戏抽到的卡可以选择获得(前提是前驱卡已经获得)或者不获得,求选择最优策略的情况下的总价值的期望。题解:显然可以使用比较容易理解的记忆化搜索解决,定义dp[i][j]为第i轮状态...

2019-10-16 17:06:12 134

原创 悬线法-dp

P1169 [ZJOI2007]棋盘制作题意:给出一个01矩阵,求一个面积最大的子矩阵满足相邻的元素互异题解:悬线法,up[i][j]表示当前点(i,j)向上满足条件的最长长度,left[i][j]表示从(i,j)向左满足条件的位置,right[i][j]表示从(i,j)向右满足条件的位置,转移方程为假如(i-1,j)和(i,j)都满足条件那么up[i][j]=up[i-1][j]+1,lef...

2019-10-16 12:14:09 590

原创 cf1244E. Minimizing Difference [二分+单调队列]

传送门题意:给一个数组,可以对任意元素进行+1或者-1的操作,操作可以进行k(k<=1e14)次,求整个数组内最大值-最小值最小为多少题解:二分。先排序,对于某个待检验的答案,只需要假设当前元素为最小值时是否成立以及当前元素为最大值时是否成立即可,其中可以用单调队列维护出当前元素为最小值或最小值时之前的满足条件的元素同时使用一个变量num记录不满足条件元素的个数遍历数组时计算贡献即可#...

2019-10-15 09:37:32 544 5

原创 cf1175E. Minimal Segment Cover[倍增]

传送门题意:给出n个线段,然后m次询问,每次询问一个区间[L,R],输出最少需要的线段数能将区间内所有实数点覆盖题解:倍增,注意查询时只有dp[L][i]<R时转移,dp[L][i]==R时不转移#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=5e5+5;#...

2019-10-10 22:29:49 119

原创 cf1238E. Keyboard Purchase [状压dp]

传送门题意:给一个只含有前m(m<=20)个小写字母的字符串S,求一个只含有前m种字母的字母表的排列,使S种所有相邻字母在字母表中的距离和最小题解:看到m范围就应该想到状压dp,通过记录每两种字母的相邻次数,在转移的时候只需要每次用已经在集合中的元素对没有在集合的元素的次数进行更新即可(之所以可以用次数更新而不需要用距离更新是因为状压过程就是一个填数过程,填的字母表中的距离为k的元素自然...

2019-10-10 09:13:18 154

原创 洛谷P1903 [国家集训队]数颜色 / 维护队列 [带修改莫队]

传送门题意:有一个长度为n的数组,q次操作,询问[L,R]区间不同数字个数或者修改某个位置的数字题解:带修改莫队模板题。比普通的莫队题多了个修改操作,带修改莫队也就比普通莫队多了一维时间,记录之前一次修改操作的位置,具体实现看代码#include<bits/stdc++.h>using namespace std;typedef long long ll;#define ...

2019-10-09 18:23:16 189 1

原创 cf1181D Irrigation[思维+权值线段树求第k小]

传送门题意:给一个长为n的数组,q次询问(n,q<=5e5),每次给一个k(k<=1e18),求第k次填数是填第几个数(每次填数选择最小的数进行+1操作,如果有多个优先加下标最小的那个)题解:离线,又由于每次改变都是成块地改变,同时用权值线段树求第k小#include<bits/stdc++.h>using namespace std;typedef long ...

2019-10-08 22:17:55 274

原创 cf1204D2. Kirk and a Binary String (hard version) [思维+dp]

传送门题意:给出一个01串,要求在不改变所有子串的最长非递减子序列长度的情况下把它改造成一个0尽可能多的串题解:显然原串中的0不用改变,那么考虑1什么情况下可以进行改变。假如把某个位置的1改为0导致一个子串的最长非递减子序列长度改变了,那么考虑整个串的最长非递减子序列是否改变。假设不改变,那么显然就是整个串的最长非递减子序列长度不增也不减,考虑不增,显然原串的最长非递减子序列在该子串左端时...

2019-10-07 15:29:38 165

原创 CF1207F Remainder Problem[分块]

传送门题意:有一个大小为5e5的数组,初始时数组元素全为0,有两种操作1 x y,为a[x]+=y2 x y,为求数组下标%x==y的所有元素之和题解:分块,当模数小于T时可以直接预处理出模数为i余数为j的元素和sum[i][j],更新时sum[i][x%i]+=y,更新复杂度为O(T),而模数大于T时直接暴力求和,时间复杂度为O(N/T),当T=sqrt(N)时二者复杂度相同,则可以据此...

2019-10-05 15:04:14 271

原创 [2019牛客国庆集训day1D][dp]

传送门题意:有一个长度为n的由0~9组成的数字串,其中已知有m个区间的区间乘积%9==0,求满足条件的数字串的个数%(1e9+7)的结果题解:要想区间乘积是9的倍数,区间内因子3的个数至少为2个,其中0和9相当于2个3,3和6相当于1个3,其余数字相当于0个3,那么可以用dp[i][j][k]表示前i个里面距离i最近的两个3在j和k位置的情况数,如果两个区间的右端点一样,那么显然只要使最小的那...

2019-10-03 10:59:53 198

原创 树形dp专题练习

洛谷p1272题意:给出一棵含有n个结点的树,求最少删除几条边可以得到一个大小为p的子树题解:树形dp。dp[u][siz]为得到一个以u为根结点大小为siz的树最少需要删除的边数,那么最后结果就是dp[u][p]的最小值+(u是否等于整棵树的根,如果不是则需要+1用于砍掉与根的联系,否则不需要+1)洛谷p1273题意:给出一棵以1为根的含有n个结点的树,树的边权值为非正数,树的叶子结点权...

2019-09-25 20:10:54 303

原创 hdoj4819 [二维线段树(线段树套线段树)]

传送门题意:有一个n*n的二维数组,q次询问,每次询问一个二维区间的最大最小值并且将二维区间的中心的值更改为(最大值+最小值)/2题解:rmq,如果不带修改则可以用倍增求rmq,带修改就用线段树,一维如此,二维也是如此,做的第一道二维线段树题,注意写法#include<bits/stdc++.h>using namespace std;typedef long long l...

2019-09-19 11:58:37 269

原创 洛谷P1016 旅行家的预算 [单调队列]

传送门题意:给出n个加油站的位置posi和重点t以及每个加油站油的价格vi以及油箱的体积L,求最小花费题解:如果油箱容量是无限大的那么显然可以直接使用优先队列每经过一个加油站就直接丢进去价格然后每次需要加油就弹出即可,而这里限制了油箱体积为L,就不能无脑无限量地使用最小值,此时维护一个价格单调递增的队列,每次选取队列头的油进行消耗,每次经过加油站,弹出尾部比当前油费贵的油,然后插入体积为L-油...

2019-09-11 21:42:11 181

原创 CF1197D Yet Another Subarray Problem [思维+线段树/dp]

传送门题意:给一个长度为n的整数序列,定义一段连续子序列的价值为这段连续子序列之和sum(L,R) — k * f(len/m),其中k为给定的整数,len为这段连续子序列的长度,f(x)表示x向上取整,其中m为给定整数,求出连续子序列的最大价值题解:这题并不难 (虽然我手残地写崩线段树wa了一个多小时还好最后几分钟过了)首先把 sum(L,R) — k * f(len)把sum(L,R)转化...

2019-09-09 17:17:58 140

原创 洛谷p4197 [克鲁斯卡尔树+主席树+倍增]

传送门题意:给出一个带权无向图,图的边有权值同时点也有权值,有q次询问,每次询问v x k,求从v出发只经过权值不超过x的边可以走到的权值第k大的点,不存在则输出-1题解:由经过不超过x的边可知可以直接建立克鲁斯卡尔树,同时dfs给原结点重新编号,并得出每个新建结点可以管辖的老节点的区间[L,R],那么可以对重新编号后的原结点建立主席树,对每次询问,倍增得到不超过x的最高结点,同时得到它管辖的...

2019-09-06 22:53:26 150

原创 bzoj2588 [主席树+LCA]

传送门题意:给出一棵树,m次询问,每次询问u到v路径上的第k小题解:参照前缀和的思想对于每个结点建立从当前结点到根节点的权值线段树,每个节点单独建树显然会MLE,由于每个结点只比父节点多了一个当前结点的数据,所以可以使用主席树的方式建立权值线段树,显然主席树可以求区间第k小,u到v的区间可以用root[u]+root[v]-root[LCA(u,v)]-root[fa[LCA(u,v)]]得到...

2019-09-04 08:46:20 155

原创 [cdq分治习题练习]

bzoj1935题意:给出n棵树的位置(xi,yi),有m次询问,每次询问一个以(Xi,Yi)为左下角,(Li,Ri)为右上角的矩形内树的个数题解:显然的三维偏序问题,一维是询问的时间T,一维是横坐标,一维是纵坐标。把初始的n棵树的位置当作插入,把询问当成4个二维前缀和相加减,由于时间是按照输入的顺序,所以第一维不需要排序,直接cdq分治处理第二维,树状数组维护第三维即可/*********...

2019-08-20 17:08:41 497 2

原创 [bzoj3680吊打xxx][模拟退火]

传送门3680: 吊打XXXTime Limit: 10 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 6513 Solved: 2221[Submit][Status][Discuss]Descriptiongty又虐了一场比赛,被虐的蒟蒻们决定吊打gty。gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了。蒟...

2019-08-16 20:11:59 168

原创 [CF1199 F. Rectangle Painting 1][区间dp]

传送门F. Rectangle Painting 1time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere is a square grid of size n×n. Some cells are colored in black...

2019-08-16 13:46:33 504

原创 [杭电多校第八场1006][树形dp+换根]

题目传送门题意:在一个有n个结点n-1条边的树状的网络中,键盘侠a和键盘侠b一起移动,两个人轮流选择一个当前结点的相邻结点移动,每个结点至多被经过一次,当没有可以移动的结点的时候旅途结束,到达结点i后两个人获得的金币为A[i]-B[i],键盘侠a想让最终结果金币尽可能多,b想让最终结果金币尽可能少,第一轮由a任选一个结点作为起点,求最终的结果(a肯定会选择一个能使最终结果最大的结点作为起点啦~)...

2019-08-15 12:37:19 174

原创 三维偏序(陌上花开)[cdq分治]

三维偏序(陌上花开)题目背景这是一道模板题可以使用bitset,CDQ分治,K-DTree等方式解决。题目描述有 n n 个元素,第 i i 个元素有 a_i ai​ 、 b_i bi​ 、 c_i ci​ 三个属性,设 f(i) f(i) 表示满足 a_j \leq a_i aj​ ≤ai​ 且 b_j \leq b_i bj​ ≤bi​ ...

2019-08-04 19:19:45 228

原创 树状数组 1 [cdq分治]

树状数组 1题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某一个数加上x2.求出某区间每一个数的和输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3个整数,表示一个操作,具体如下:操作1: 格式:1 x k 含义:将第x个数加上k操作2: 格式:2 x ...

2019-08-04 16:54:40 151

原创 二逼平衡树 [树套树]

二逼平衡树(树套树)题目描述您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:查询k在区间内的排名查询区间内排名为k的值修改某一位值上的数值查询k在区间内的前驱(前驱定义为严格小于x,且最大的数,若不存在输出-2147483647)查询k在区间内的后继(后继定义为严格大于x,且最小的数,若不存在输出2147483647)#注意上面两条要求和tyvj或...

2019-08-04 08:56:26 247

原创 SPOJ KQUERYO - K-Query Online [归并树/主席树]

KQUERYO - K-Query Onlineno tagsGiven a sequence of n numbers a1, a2, …, an and a number of k-queries. A k-query is a triple (i, j, k) (1 ≤ i ≤ j ≤ n). For each k-query (i, j, k), you have to return ...

2019-08-03 13:56:34 276

原创 杭电多校第四场1008K-th Closest Distance[二分+主席树]

K-th Closest DistanceTime Limit: 20000/15000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 2400 Accepted Submission(s): 860Problem DescriptionYou have an a...

2019-08-02 15:20:57 173

原创 CF1187E. Tree Painting[树形dp+换根]

E. Tree Paintingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a tree (an undirected connected acyclic graph) consisting of n ...

2019-08-01 20:29:34 286

原创 2018CCPC 吉林 DThe Moon[概率dp/记忆化搜索]

The MoonTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 359 Accepted Submission(s): 160Special JudgeProblem DescriptionThe Moon card s...

2019-07-30 21:29:28 289

原创 CF938D Buy a Ticket[建图+最短路]

D Buy a Tickettime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputMusicians of a popular band “Flayer” have announced that they are going to “mak...

2019-07-29 09:45:15 241

空空如也

空空如也

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

TA关注的人

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