自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ACM模板检索

essayssolutions for problems、algorithm and data structure、solutions for contestsToblock1 . . .block2 . . .block3 . . . block4 . . . block5block1IO优化数据结构· 单调栈· 单调队列· 堆+优先队列· ST表· 树状数组· 线段树· 分块· 珂朵莉树(模板)高精度STLblock2分治· 归并排序(+求逆序对)· 最近点对

2021-04-23 10:44:35 1495 2

原创 在Centos8上部署基于jnoj二次开发的qluoj的流程,以及出现的问题和解决方法

问题:/usr/bin/ld: cannot find -lc/usr/bin/ld: cannot find -lm/usr/bin/ld: cannot find -lstdccollect2: error: ld returned 1 exit status解决方法:安装glibc-static和stdlibc+±static静态链接wget http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/glibc-s..

2021-08-21 17:27:24 759 2

原创 每日Codeforces题解 [20210401]

文章目录D题.[Codeforces 678D] Iterated Linear FunctionD题.[Codeforces 678D] Iterated Linear Function题目链接思路: gn(x)=Anx+An−1B+An−2B+...+AB+Bg^{n}(x)=A^nx+A^{n-1}B+A^{n-2}B+...+AB+Bgn(x)=Anx+An−1B+An−2B+...+AB+B应用等比数列前nnn项和公式,gn(x)=x+nBg^{n}(x)=x+nBgn(x)=x+nB,

2021-04-02 09:20:16 190

原创 每日Codeforces题解 [20210318]

文章目录D题.[Codeforces 876D] Sorting the CoinsD题.[Codeforces 876D] Sorting the Coins题目链接思路:看第二组数据,6、8、3、4依次被替换序列是OOXXOXOX,需要假设第二个位置被替换,序列变成OXXXOXOX,

2021-03-18 23:20:32 1215

原创 [QLU Regular Contest 003] G.Youmu with greedy money problem //dp+滚动数组

题目链接题意: 给一个初始纯度值mmm,一共度过nnn天,给出序列a[i]a[i]a[i]和b[i]b[i]b[i],第iii天可以执行下列操作之一:不操作;用a[i]a[i]a[i]纯度值换取b[i]b[i]b[i]金钱收益;用a[i]a[i]a[i]纯度值换取2∗b[i]2*b[i]2∗b[i]金钱收益,但是第i+1i+1i+1天的金钱收益b[i+1]b[i+1]b[i+1]将降为⌊b[i+1]2⌋\lfloor\frac{b[i+1]}{2}\rfloor⌊2b[i+1]​⌋,而且第i+1i

2021-02-08 17:54:01 236

原创 [HDU 5510] Bazinga //KMP

题目链接题意:给nnn个字符串,求一个最大的iii,使得至少存在一个j(1≤j<i)j (1\leq j<i)j(1≤j<i),s[j]s[j]s[j]不是s[i]s[i]s[i]的子串。子串是指连续的子串。思路:首先这个题要用到KMP字符串匹配算法,它可以在O(n+m)O(n+m)O(n+m)的时间复杂度之内,求字符串str[i]str[i]str[i]是否是str[j]str[j]str[j]的子串,其中n=str[i].length(),m=str[j].length()n

2021-02-01 19:43:48 155

原创 QLU_ACM 2021 专题训练(一)题解 [暴力、排序、贪心、二分]

文章目录暴力A.水仙花数 (多组输入)B.求数列的和C.第几天? (闰年, 每个月份的天数)D.Subsequence (尺取法)E.Jessica's Reading Problem (尺取法)排序F.稳定排序 (稳定排序的定)G.[模板]数组排序 (快速排序, 归并排序, std::sort, 堆排序)H.EXCEL排序 (字符串排序, 多关键字排序)贪心I.Saruman's Army (区间贪心)J.Fence Repair (合并果子, 堆排序)K.Cleaning Shifts (最小区间覆盖)

2021-01-18 10:02:38 700

原创 每日Codeforces题解 [20210114]

文章目录C题.[Codeforces 782C] Andryusha and Colored BalloonsC题.[Codeforces 782C] Andryusha and Colored Balloons题目链接思路: 给一棵树,a−b−ca-b-ca−b−c 相连的三个节点颜色互不相同,所以我们选一个节点作为根,那么对于节点iii只需要保证:①节点iii和它的兄弟不同色②节点iii和它的父亲不同色③节点iii和它的祖父(父亲的父亲)不同色即可,具体过程可以用dfs来实现,传递参数父

2021-01-14 20:05:43 204

原创 [2019 ICPC HongKong] G. Game Design //构造

题目链接题意: 要求构造一个有根树,这棵树上每个节点都有一个(权值)花费。树的所有叶子节点是怪物,在一个父亲节点上建造防御塔可以防御它这棵子数的所有怪物。给定一个方案数KKK(1≤K≤1e91\leq K\leq 1e91≤K≤1e9),要求构造出任意一个有根树,并且安排每个节点的权值(花费),使得能够防御住所有怪物、且总花费最小的不同建塔方案数恰好等于KKK。(当且仅当至少存在一个节点,一个方案中在这个节点建立了防御塔,而另一个方案没有在这个节点建立防御塔时,这两个方案被视为不同)思路:#

2020-12-11 13:45:53 399

原创 第二届齐鲁工业大学(山东省科学院)与山东师范大学ICPC大学生程序设计竞赛联赛 [官方题解]

题目目录A. A+B ProblemB. 77777C. MergeD. 魔法少女:承E.学妹的任务F. AKIE's PenaltyG. A-B ProblemH. 翻转队列I. 魔法少女:转J. 挑选队列K. 魔法少女:合L. 神奇的转盘M. AAON. 来自异世界的巧克力O. hina的迷宫A. A+B Problem题意: 找一个最小的整数K(2≤K≤9)K(2\leq K \leq 9)K(2≤K≤9)满足(a+b)10=(n)K(a+b)_{10}=(n)_K(a+b)10​=(n)K​,找

2020-11-22 20:33:14 3151 7

原创 [蓝桥杯2020] E题.七段码 //dfs+并查集

第十一届蓝桥杯第二次省赛. 填空题E题题目描述:小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有 7 段可以发光的二极管,分别标记为 a, b, c, d, e, f, g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b 发光,其他二极管不发光可以用来表达一种字符。例如:c 发光,其他二极管不发光可以用来表达一种字符。这种方案与上一行的方案可以用来表示不同的字符,尽管看上去比较

2020-10-20 21:33:41 17770 43

原创 block5

目录Tarjan 强连通分量Tarjan 强连通分量#include<bits/stdc++.h>using namespace std;#define next Nextconst int N=1e5+7,M=1e5+7;struct Graph{ struct Edge{ int v,next; }e[M]; int n,m,dfn[N],low[N],vis[N],head[N],tot,cnt,size[N]; stack<int>st; void

2020-10-06 17:34:06 323

原创 每日Codeforces题解 [20200826]

文章目录C题.[Codeforces 242C] King's PathC题.[Codeforces 242C] King’s Path题目链接思路:题目中说了这句话所有线段的总长不超过105,也就是说,二维平面里最多只有105个允许走的点。所以可以把线段拆成点,用二维map标记,把每个点向八个方向连边,建图跑最短路。//AC代码#include<bits/stdc++.h>using namespace std;typedef long long LL;const int

2020-08-26 21:54:29 179

原创 20200814

文章目录C题.[Codeforces 146C] Lucky ConversionD题.[Codeforces 146D] Lucky Number 2C题.[Codeforces 146C] Lucky Conversion题目链接思路: 从a,b串不一样的所有位置 i 里,记录a[i]==4的数量cnt_4,和a[i]==7的数量cnt_7,方案肯定是能交换的交换,最后不能交换的改变。所以ans=min(cnt_4,cnt_7)+(max(cnt_4,cnt_7)-min(cnt_4,cnt

2020-08-14 21:40:16 131

原创 20200813

文章目录C题.[Codeforces 125C] Hobbits' PartyC题.[Codeforces 125C] Hobbits’ Party题目链接思路: 有两个要求:一个人最多被邀请2天,任意两天一定有同一个人被邀请。所以最优方案一定是任意两天被邀请的人中, 只有一个人相同。也就是说任意两天消耗一个人,k天消耗 k*(k-1)/2 个人,那么最大天数k应该是满足 n>=k*(k-1)/2 的最大的k。得到k之后,再k2枚举任意的两天消耗掉一个人的过程,得到结果序列。//AC代

2020-08-13 20:43:09 745

原创 20200710

文章目录B题.[Codeforces 53B] Little FrogB题.[Codeforces 53B] Little Frog题目链接思路: 枚举题目中要求的2x第一次枚举高=2x(0<=x<=30) ,若w>=floor(2x/0.8), 则H取2x, W取floor(2x/0.8);若floor(2x/0.8)>w>=ceil(2x/1.25), 则H取2x, W取w;否则无法按要求比例裁剪。第二次枚举宽=2x(0<=x<=30) ,若h&gt

2020-07-10 21:06:32 132

原创 20200601

文章目录C题.[Codeforces 1038C] GamblingD题.[Codeforces 1038C] SlimeC题.[Codeforces 1038C] Gambling思路: 按照题意模拟,用两个大根堆存a和b数组。player A的决策:①若a堆空,则删b堆中的最大值②若b堆空,则取a堆中的最大值③若a堆和b堆都未空-----若a中最大值大于b中最大值,取a堆中的最大值-----若a中最大值小于b中最大值,删b堆中的最大值player B的决策:就是把上面的a,b交换最

2020-06-01 21:16:17 300

原创 20200523

文章目录C题.[Codeforces 330C] PurificationD题.[codeforces 330D] Biridian ForestC题.[Codeforces 330C] Purification思路: 看这个样例5EE.EEE.EE.E…E.EE.EEE.EE不难看出如果有解,要么每行都有一个点(随意哪个列上的点都行),要么每列都有一个点,否则无解。所以判断并任意输出一种方案或无解。//AC代码#include<bits/stdc++.h>using

2020-05-23 20:39:29 145

原创 20200512

文章目录C.String ReconstructioC.String Reconstructio题目链接思路:线段树。用线段树维护区间[l…r]中元素是否已全部染色,对每个ti的所有[xi, xi+|ti|-1]调用线段树的updata染色,并打上标记已染色,遇到已染色的就不继续往下走,这样因为每个位置只染色一次,所以时间复杂度为O(LlogL),(L为答案字符串长度上限,|ti|为ti的长度)。同时更新(xi+|ti|-1)max得到答案字符串的长度L,最后输出[1…L]的染色序列,若某个位置未染

2020-05-12 20:47:12 161

原创 20200508

日期2020050820200508C题题解:题目链接复杂版:b[1]肯定是要放入某个位置的,放到某个位置之后,按照a数组的特定顺序分别向前逆打分、向后正打分,就会得到特定的按照a数组打每个分后应该公布的每个分值(设其为数组B),这时候如果b数组中的每个值在B数组中都存在,我们前面放置b[1]的这种方案就合法,这时向前逆打分过程中求出来的最初分值就是一个合法的最初分值。(逆打分的意思就是还原打分前的情况,即依次-a[i]。正打分就是继续打分,即依次+a[i])所以做法就是枚举b[1]可以放的

2020-05-08 21:22:08 177

原创 [2019 ICPC Taipei-Hsinchu] A.Rush Hour Puzzle //bfs

题目链接题意:思路://写过的最长的bfs [汗.jpg]#include<bits/stdc++.h>using namespace std;int a_[7][7],ans=11,cnt=1,c,sum;struct node{ int len; int u,pos,s,t; //u=1行,u=0列 node(){u=-1;s=7;}}v[20...

2020-04-01 23:10:33 1168

原创 [Codeforces 336D] Vasily the Bear and Beautiful Strings //组合数学

题目连接题意:定义modification操作为取string(长度>=2)的最后两个字符,如果为(01,10,11)则将这两个字符变为0;如果为00,则将其变为1。给定n,m,g [0<=n,m<=1e5,0<=g<=1]问有多少个不同的string,符合以下条件:①string中有n个0,m个1②string经过任意次modification操作后,s...

2020-03-31 21:28:41 216

原创 [Codeforces 635E] Package Delivery //贪心+栈

题目连接题意:终点d(<=1e9),中间有m(<=2e5)个加油站,每个加油站一个xi,pi分别表示坐标和单位油价,邮箱容量为n(<=1e9),起初位于位置0,油箱是满的。问到达d点的最小花费,若不能到达输出-1。思路:①若当前位置 i 加满油能到达后面第一个油价pj<=pi 的加油站,就加到刚好能到达加油站 j 的油量,然后到位置 j。②否则,即后面能到达的加...

2020-03-28 14:37:44 469

原创 [Codeforces 680D] Bear and Tower of Cubes //贪心+map暴力

题目链接题意:思路:#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef map<ll,int>::iterator IT;ll m,ans1,ans2,ans2_,now;map<ll,int>mp;int cnt;ll solve1(ll m...

2020-03-25 01:12:19 188

原创 [Codeforces 1312D] Count the Arrays //组合数学

题目链接题意:给定n和m,计算符合如下条件的数组个数对998244353取模,1.含有n个元素2.每个元素从1到m3.存在位置k,从1到k严格递增,从k到n严格递减4.有且仅有一对相等的数思路:#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll p=99824435...

2020-03-10 17:13:06 200

原创 [Codeforces 1311F] Moving Points //离散化+树状数组

题目链接题意:给n(<=2e5)个点,每个点一个初始位置xi(各不相同)和速度vi,(-1e8<=xi,vi<=1e8),d(i,j)定义为i点与j点在所有时刻的最小距离(从0开始的任意时刻,可以不为整数)。求∑1≤i<j≤n d(i,j)思路:令xi>xj,如下所以可以按xi从大到小排序使xi>xi+1,把vi离散化。以vi为下标、xi和点的数量为值放...

2020-02-25 11:42:21 203

原创 [Codeforces 66C] Petya and File System //字符串暴力+map/建树dfs

题目链接题意:给不定行字符串代表文件目录,diskName:\folder1\folder2…\ foldern\fileName.xxx,(n>=1),每行字符串建立一个文件。磁盘不算文件夹,求文件夹中直接或简介包含的子文件夹的最大数量,和文件夹中直接或间接包含的最大文件数。思路:...

2020-02-21 08:39:56 278

原创 [2020牛客寒假第四场C题] 最大连续子段乘积 //线段树/乘法逆元

目录ProblemSolutions1.线段树2.乘法逆元Problem2020牛客寒假训练赛第四场C题-链接题意:给定n(<=2e5)的序列和k,求长度为 k 的连续子段的乘积对 998244353 取模余数的最大值Solutions1.线段树思路:线段树维护区间乘积,枚举起点查询[i,i+k-1]的乘积更新最大值#include<iostream>#...

2020-02-12 10:13:09 368

原创 [SDOI 2011] 染色 //树链剖分

题目链接给定一颗有n个节点的无根树和m个操作,操作有2类:1.将节点a到节点b路径上的所有点都染成颜色a;2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”、“1”。...

2020-02-09 20:42:32 177

原创 折半搜索 [meet in the middle]

目录LearningPractice[洛谷 4799] 世界冰球锦标赛Learning在使用搜索的时候,当n过大2n会超时,这时候可以用折半搜索,把时间复杂度降低到2n/2+1具体方法:分别搜索前一半,把状态放入a数组,搜索后一半,把状态放入b数组,最后统计答案。一般meet in the middle的难点主要在于最后答案的组合统计。我们可以现将a或b数组sort,让其有序。然后通...

2020-02-09 20:06:53 1619

原创 动态最大连续子段和 [线段树]

一般涉及操作:单点修改,区间查询最大连续子段和线段树维护最大子段和的具体思路:①线段树需要维护的是:_1.[x,y]内的最大子段和 ms_2.[x,y]的区间和 s_3.[x,y]内的紧靠左端点的最大子段和 ls_4.[x,y]内的紧靠右端点的最大子段和 rs②维护方法:ls有两种情况:_1.左儿子的ls_2.左儿子的s+右儿子的 ls同理,rs有两种情况:_1.右...

2020-02-09 15:02:51 363

原创 矩阵快速幂

目录矩阵乘法矩阵乘法矩阵a[ i行 * k列 ] x 矩阵b[ k行 * j列 ] = 矩阵c[ i行 * j列 ](①第一个矩阵的列数必须等于第二个矩阵的行数,②结果矩阵的行数等于第一个矩阵的行数,列数等于第二个矩阵的列数)c[ i ][ j ] = a[ i ][ 1 ] * b[ 1 ][ j ] + a[ i ][ 2 ] * b[ 2 ][ j ] +…+ a[ i ][ k ]...

2020-02-05 16:24:26 272

原创 SDNU2020寒假训练赛2题解+补题

目录E.TransformationI*TravelK*Best Cow FencesM.Fight Against Monsters题目链接E.Transformation题意:长度为n的区间,初始值都是0,四种操作:opt,x,y,z1.把区间[x,y]每个数加上z2.把区间[x,y]每个数乘上z3.把区间[x,y]所有数变成z4.计算区间[x,y]内所有数的z次方和(这一...

2020-01-24 18:02:29 377

原创 SDNU2020寒假训练赛1题解+补题

目录C*.PlanningF*.ThorG.Hard problem题目链接C*.PlanningF*.ThorG.Hard problem

2020-01-24 11:43:57 2844

原创 凉脾的比赛补题

目录D.Keeping on trackD.Keeping on track题意:比赛时写的并查集+带判断的暴力删点[Accept]思路:#include<iostream>#include<stdio.h>#include<string.h>#include<map>#include<algorithm>#in...

2020-01-21 13:09:08 292

原创 凉肝的比赛补题

目录D.Dr. Evil UnderscoresH.Rolling The PolygonD.Dr. Evil UnderscoresH.Rolling The Polygon题意:顺时针给处凸n边形的顶点坐标p0,p1…pn-1,与其内一点Q的坐标,让多边形沿直线滚动一圈,求点Q的轨迹长度。思路:因为点Q随着凸n边形整体滚动,所以不需要求旋转后的坐标,第i次翻滚之前,点Q到右下方顶...

2020-01-16 13:19:44 308

原创 凉心的比赛(一)补题

目录E.心火牧日常计算G.法法非法是朋友题目链接E.心火牧日常计算G.法法非法是朋友题意:通过圆心坐标(x1,y1)和半径R给定一个大的圆形范围和一个点(x2,y2),找一个圆形范围使其不包含点(x2,y2)和大圆外任意点。思路:找内切圆,半径为 dis[(x1,y1),(x2,y2)]+R注意:若(x1,y1)和(x2,y2)重合,不包含点(x2,y2)的最大内切圆的半径...

2020-01-11 11:20:57 372

原创 Loj分块入门1-9

参考题目来源、hzwer的题解链接目录1.区间加法、单点查值2.区间加法、询问区间内小于变量c的元素个数3.区间加法、询问区间内小于变量c的前驱(比其小的最大元素)4.区间加法,区间求和1.区间加法、单点查值用lazy数组,简单#include<bits/stdc++.h>using namespace std;typedef long long ll;#defi...

2020-01-08 11:34:16 342

原创 block4

目录KMPKMP详解链接//从字符串s中找字符串t#include<bits/stdc++.h>using namespace std;const int N=1000007;char s[N],t[N];int next[N];void get_next(char t[],int next[]){ int len=strlen(t),i=0,j=-1; next...

2020-01-04 16:14:57 522

原创 新生赛002题解

目录A.构造最长递增子序列B.Is it beautiful?C.JuicerD.Eat CandiesE.由你来决定怎么颁奖F.XorXorG.0011H.Perfect StringI.十进制中的二进制J.新年快乐题目链接A.构造最长递增子序列题意:给定一段序列,选其中连续的一段(ai,ai+1…,aj),最多更改其中的一个数为任意值,使其变为递增子序列。求这样的递增子序列的最大...

2020-01-02 21:40:00 861

空空如也

空空如也

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

TA关注的人

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