
刷题
文章平均质量分 70
acwing、leetcode、codeforces、nowcoder
鱼竿钓鱼干
万丈高楼平地起,勿在浮沙筑高台
展开
-
Kuangbin专题12 基础DP
Kuangbin专题12 基础DP讲解视频链接A - Max Sum Plus Plus「题意」给你一个整数序列S,要求找m个不相交的连续段,使得这几个连续段的和最大,输出所选的连续段中,和最大的连续段的值「代码」在这里插入代码片B - Ignatius and the Princess IV「题意」找出现次数最多的数「代码」#include <bits/stdc++.h>using namespace std;typedef long long LL;const原创 2021-07-17 10:46:28 · 266 阅读 · 1 评论 -
【二进制枚举】阶乘之和
【二进制枚举】阶乘之和题目链接题目思路阶乘增长很快,10!就已经超过1e6了。原本想背包存在性DP整一波,写了一半发现不用,直接二进制枚举选与不选即可即可。比较一下01背包和二进制枚举01背包O(nm)01背包 O(nm)01背包O(nm)二进制枚举O(2n)二进制枚举 O(2^n)二进制枚举O(2n)这里n很小,所以二进制枚举更好一些代码#include<bits/stdc++.h>using namespace std;typedef long long LL;原创 2021-06-01 22:53:36 · 140 阅读 · 0 评论 -
【解题报告】Acwing每日一题 夏季 [1/16]
【解题报告】Acwing每日一题 夏季 [1/16]好久没刷acwing了,补一下每日一题活动WEEK 1题目解题报告3481. 阶乘的和WEEK 2WEEK 3WEEK 4原创 2021-06-01 22:57:00 · 139 阅读 · 0 评论 -
【ST模板题】天才的记忆
【ST模板题】天才的记忆思路RMQ问题可以通过ST算法O(NlogN)O(NlogN)O(NlogN)的预处理,实现O(1)O(1)O(1)查询,缺陷是不支持修改只能查询。ST算法实现原理主要通过动态规划的思想来进行预处理定义f[i][j]为从i开始的2j个数的最大值f[i][j]为从i开始的2^j个数的最大值f[i][j]为从i开始的2j个数的最大值即子区间[i,i+2j−1][i,i+2^j-1][i,i+2j−1]里的最大值,递归边界显然为f[i][0]=A[i]f[i][0]=A[i]f[i原创 2021-03-15 23:44:27 · 124 阅读 · 0 评论 -
【解题报告】CF EDU #ROUND 107A~D
【解题报告】CF EDU #ROUND 107A~D比赛链接打烂了,又要掉分了呜呜呜,教育场日常被教育。疯狂读错题目啊啊啊A. Review Site思路脑子抽了WA了一发,这题直接type1放第一个,type2放第二个,type3放第一个就可以了代码// Problem: A. Review Site// Contest: Codeforces - Educational Codeforces Round 107 (Rated for Div. 2)// URL: https://co原创 2021-04-13 19:20:27 · 245 阅读 · 0 评论 -
【解题报告】CF EDU DIV2 #ROUND 108 A~D
【解题报告】CF EDU DIV2 #ROUND 108 A~D比赛链接晚上准备打,结果貌似网炸了,离谱。十来分钟了都没加载出题目,镜像也蜜汁挂掉,所以白天打的虚拟场。晚上好像篮球比赛,室友貌似挺兴奋,估计也不适合打cf吧hh。A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:...原创 2021-04-30 16:17:19 · 257 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 712 A~D
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接字符串专场hh5059名,失误挺多的,不过还好连跪三把之后没有继续掉分,回升了一点A.Déjà Vu思路这次A题没有一发瞬秒而且严重拖慢了进度,原本憨憨交了一发TLE。思路还是很简单的,如果全是a那就输出NO,反之可以插入得到非回文串,接下来让我们瞅瞅原本TLE的代码TLE代码// Problem: A. Déjà Vu// Contest: Codeforces - Codeforces Round #712 (Div.原创 2021-04-05 15:48:34 · 289 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 721 A~C
【解题报告】CF DIV2 #ROUND 721 A~C比赛链接比赛评价:A题码了后实在太累了,明天还要早训就没交题,白天补的题目。各位还是要注意身体健康呀,这几天感觉确实不大对劲。A. And Then There Were K题意找到最大的k满足上面的式子思路比较简单1发AC先暴力打了一遍程序找的规律ans=2int(log2k)−1ans=2^{int(log_2k)}-1ans=2int(log2k)−1不过据说有人用pow实现的,然后WA了代码// Problem:原创 2021-05-22 10:47:52 · 379 阅读 · 0 评论 -
【解题报告】CF DIV3 #ROUND 713 A~E
【解题报告】CF DIV2 #ROUND 713 A~E比赛链接A. Spy Detected!思路代码// Problem: A. Spy Detected!// Contest: Codeforces - Codeforces Round #713 (Div. 3)// URL: https://codeforces.com/contest/1512/problem/A// Memory Limit: 256 MB// Time Limit: 2000 ms// FishingRod原创 2021-04-12 13:14:19 · 399 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 718 A~D
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接开的虚拟,不算如意的一场,又被B题卡了,5分钟切A然后B卡很久都没写出来,后面花了20来分钟切C,5000+排名A. Sum of 2050思路看有没有解直接看能不能整除就行,最少需要多少,看成2050进制数,把每位加起来即可代码// Problem: A. Sum of 2050// Contest: Codeforces - Contest 2050 and Codeforces Round #718 (Div. 1 + D原创 2021-04-28 23:23:23 · 266 阅读 · 1 评论 -
【解题报告】CF DIV2 #ROUND 714 A~D
【解题报告】CF DIV2 #ROUND 714 A~D比赛链接开了虚拟场A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:...原创 2021-04-16 13:57:27 · 236 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 723 A~D
【解题报告】CF DIV2 #ROUND 723 A~D比赛链接比赛评价:发现这场十点就开了,然后就和ph巨佬一起玩了一场。我两分别再A和B罚时罚飞了,索性后面把C1,C2整出来了排名2500+,而且极其刺激,最后3分钟找出C1错误,最后30S交了C1,C2。爽到飞起A. Mean Inequality题意2*n个数成环,找到一个排列使得任意位置满足2∗bi!=bi−1+bi+12*b_i!=b_{i-1}+b_{i+1}2∗bi!=bi−1+bi+1思路先排序,然后结果我憨憨的原创 2021-05-29 17:08:44 · 286 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 707 A~C
【解题报告】CF DIV2 #ROUND 707 A~C比赛链接半夜开比赛容易吵到室友所以以后开虚拟场了A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片反思A:B:C:...原创 2021-03-28 20:34:50 · 184 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 716 A~C
【解题报告】CF DIV2 #ROUND 716A~D比赛链接数学场/规律场A题5分钟速切,B题开始没看懂先看了C,发现C整不来,B整了半天打表找规律一发AC。排名:4300+A. Perfectly Imperfect Array思路完全平方数=完全平方数x完全平方数所以只要看有没有非完全平方数即可。赛后很多人FST了,原因是sqrt误差,我这里先转化成int再判断的所以没事代码// Problem: A. Perfectly Imperfect Array// Contest:原创 2021-04-20 20:06:13 · 409 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 708 A~C,E1
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:原创 2021-03-19 09:45:11 · 291 阅读 · 1 评论 -
【解题报告】CF DIV2 #ROUND 711 A~D
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:原创 2021-04-02 17:09:37 · 215 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 715 A~D
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接rating,已经无所谓了hhB想了个假算法,卡了半天,C也没时间看,我蠢爆了。A.Average Height思路速A了,先把奇数全部输出,然后把偶数全部输出即可代码// Problem: A. Average Height// Contest: Codeforces - Codeforces Round #715 (Div. 2)// URL: https://codeforces.com/contest/1509/pr原创 2021-04-17 15:45:01 · 305 阅读 · 0 评论 -
【解题报告】CF DIV2 #ROUND 717 A~C D(只有思路)
【解题报告】CF DIV2 #ROUND 717 A~D比赛链接排名3694,终于上分了,回归pupil好耶A. Tit for Tat思路简单的贪心,字典序最小那就让前面的-1,然后+1全部加到最后一个数上即可代码// Problem: A. Tit for Tat// Contest: Codeforces - Codeforces Round #717 (Div. 2)// URL: https://codeforces.com/contest/1516/problem/A//原创 2021-04-22 23:14:33 · 523 阅读 · 4 评论 -
【解题报告】CF DIV3 #ROUND 734 A~D1
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接比赛评价:一般性,有段时间没打了,甚至忘记多组输入hh。顺便吐槽一下翻译软件确实不行,以后还是直接看英文好了A. Polycarp and Coins题意给定n,要求满足n=a+2bn=a+2bn=a+2b,让a和b尽量接近思路直接三等分,然后暴力上下微调即可(懒得动脑了hh)代码#include<bits/stdc++.h>using namespace std;typedef long long LL;原创 2021-07-25 20:41:27 · 196 阅读 · 0 评论 -
【解题报告】CF EDU #ROUND 110 A~C
【解题报告】CF EDU #ROUND 110 A~D比赛链接比赛评价:掉分大场,被B题干爆呜呜A.Fair Playoff题意给四个不同元素a[i],判断是否满足max(a[1],a[2]),max(a[3],a[4])max(a[1],a[2]),max(a[3],a[4])max(a[1],a[2]),max(a[3],a[4])是四个元素中的最大和次打思路模拟就行代码// Problem: A. Fair Playoff// Contest: Codeforces - Educ原创 2021-06-10 21:14:29 · 220 阅读 · 1 评论 -
Codeforces 685 Div2 A~D
A. Subtract or Divide(AC)题意:猜想n可以通过若干次的下面两个操作变为1,输出最小操作次数1:减去12:除以除自身以外的因子思路:找规律,分奇数和偶数讨论,n<3特判输出#include<bits/stdc++.h>using namespace std; int main(){ int n,t; cin>>t; while(t--) { int cnt=0; cin>>n; if(n==1)cout原创 2020-11-24 18:09:53 · 188 阅读 · 0 评论 -
【解题报告】CF EDU #ROUND 109A~D (C待补)
【解题报告】CF EDU #ROUND 109A~D比赛链接比赛评价:19分钟速杀了AB两题,算是新突破?然后就罚坐卡题,C看了一遍是一道模拟转战D,写了半天贪心结果WA7暴毙。A. Potion-making题意每次可以加一次水或者魔法,问最少多少次水和魔法的比例达到要求的百分比思路100/gcd(n,100)即可代码// Problem: A. Potion-making// Contest: Codeforces - Educational Codeforces Round 1原创 2021-05-18 10:36:20 · 261 阅读 · 1 评论 -
【解题报告】CF DIV2 #ROUND 709 A~C
【解题报告】CF DIV2 #ROUND 709 A~D比赛链接A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:原创 2021-03-24 14:55:21 · 281 阅读 · 0 评论 -
【解题报告】CF EDU #ROUND 106 A~D
【解题报告】CF EDU #ROUND 106 A~D比赛链接A. Domino on Windowsill思路模拟水题,但是WA了一发啊啊对于一个减法式子如果确定答案要非负那么就加abs啊啊代码#include<bits/stdc++.h>using namespace std;int T,n;int main(){ int k1,k2,ww,bb; scanf("%d",&T); while(T--) { scan原创 2021-03-20 23:58:02 · 284 阅读 · 0 评论 -
【解题报告】CF DIV3 #ROUND 710 A~E
【解题报告】CF DIV2 #ROUND 707 A~D比赛链接A思路代码在这里插入代码片B思路代码在这里插入代码片C思路代码在这里插入代码片D思路代码在这里插入代码片反思A:B:C:D:原创 2021-03-27 13:19:06 · 293 阅读 · 0 评论 -
2017 ACM-ICPC Asia Xi‘an Regional Contest
2017 ACM-ICPC Asia Xi’an Regional Contest自闭线段树专场,啥都不会签到罚坐5h,慢慢补题吧。学长讨论的东西一个都听不懂淦知识点概况题目知识点B - Lovers带删除的二分F - God of Gamblers找规律,概率J - LOL组合计数+暴力+剪枝/状压DPH - Arrangement for Contests贪心+线段树A - XOR线性基+线段树G - Sum of xor sumDP+原创 2021-05-03 23:20:51 · 416 阅读 · 0 评论 -
哈尔滨理工大学软件与微电子学院程序设计竞赛(同步赛)A~Q
前10题考试题不做详述A#include<bits/stdc++.h>using namespace std;int main(){ printf("V V\n"); printf(" V V\n"); printf(" V V\n"); printf(" V\n"); return 0;}B#include<bits/stdc++.h>using namespace std;int main(){ double a,b;原创 2020-11-29 00:30:22 · 755 阅读 · 0 评论 -
【解题报告】2021CCPC东北四省赛
【解题报告】2021CCPC东北四省赛重现赛链接第一次打了正式的比赛(虽然是线上)摸了个铜,感觉还行但还是失误很多。签到题开局和学长一起读错题目(英语水平大雾)十多分钟才出了第一题。还好后面A的题目全都是1发,保了个铜尾。题目C-Vertex Deletion思路树形DP没写过,以前只写过一道依赖背包有点类似树形DP。既然没学过那就学吧!树形DP入门题:没有上司的舞会代码在这里插入代码片E-Easy Math Problem思路数论构造6p=p+2p+3p6p=p+2p+3原创 2021-06-18 22:53:54 · 4998 阅读 · 15 评论 -
NEFU大一集训总结赛题解
整体难度还行思维性不是很高,好在寒假刷题的时候开阔了一些眼界所以大致上还算顺利(可能前几天被牛客的集训杀爆了吧hh)最后一个多小时挣扎了一下A题感觉搞不出来就先到这里写一下题解(当然不是最优解啦,大概讲讲解法,emm部分题目如果有需要的话可以这篇博客评论区里留个言,我可以专门写博客来分析比赛链接B-密码解锁快速幂+打表一般这种题目吧,要么数学推导,要么打表找规律我这种蒟蒻当然是打表找规律啦数学推导的话(应该可以用欧拉降幂吧,不过我不咋会就打表了)打表发现基本都是前面一段不循环,后面一段循环的原创 2021-02-05 17:42:39 · 1192 阅读 · 4 评论 -
【CF/其他 经验总结贴】Key&Mind篇(一)
食用说明 \(‘ - ‘)/个人训练总结用,主要是关键词联想丰富自己脑洞Key&Mind题目考点关键词联想题解集合原创 2021-04-16 14:06:45 · 642 阅读 · 4 评论 -
[PLAN]暑期复健训练&其他东西
[PLAN]暑期复健训练&其他东西学期末应付考试和看基础书籍放了一个月的算法训练,乘着暑假空闲抓紧恢复训练。DAY1:打一场 CF,写kuangbin专题DAY2:打一场 CF , 写kuangbin专题DAY3 : 补题,写CF题解博客,写kuangbin专题DAY4:调整日用于计划调整,如果没事情就看CSAPP/学汇编/学PYTHON/玩LINUXDAY5:Acwing 学算法,看b站数论课DAY6:写kuangbin专题题解博客(前几天应该写完一个专题了),录kuangbin题解原创 2021-07-11 21:18:44 · 130 阅读 · 0 评论 -
【线段树 信息维护 单点修改】你能回答这些问题吗
【线段树 信息维护 单点修改】你能回答这些问题吗思路1单点修改,只需要pushup。2查询:查询区间内最大连续子段和一、维护哪些信息思考:查询区间内最大连续子段和需要存哪些信息基本的struct Node{ int l,r;//区间左右端点 int tmax;//最大连续子段和 }但是我们无法通过左右儿子的tmax得到父节点的tmax。有可能横跨左右子区间。可以发现横跨左右子区间的最大连续子段和=左子区间的最大后缀和右子区间的最大前缀所以我们还需对维护每个区间的最大后缀和以原创 2021-06-15 23:42:16 · 120 阅读 · 0 评论 -
[线段树 区间取模] D. The Child and Sequence
[线段树 区间取模] D. The Child and Sequence题目题目链接思路区间求和,单点修改,区间取模区间取和和单点修改比较easy主要问题是区间取模怎么做,其实和区间开根类似我们没法对整段区间中每个数字取模后没法立刻得到sum,所以没法直接使用lazy标记但是我们可以发现,区间取模操作一定次数后有很大概率<mod,不需要操作(具体证明可以看其他博客),因此我们可以通过剪枝优化,维护一个区间最大值,如果区间最大值<mod,那么可以直接跳过这个区间的修改操作,否则直原创 2021-09-07 17:53:57 · 272 阅读 · 1 评论 -
[数据结构] 主席树初识(理论,代码待补)
[数据结构] 主席树初识前置知识权值线段树权值:序列中每个数的值权值线段树:以权值作为下标的线段树,每个节点上记录的是对应的一段值域中数的出现次数主要用途是:求序列中一段值域中数出现的个数,查找一个区间的第k大的值权值线段树->主席树权值线段树求的是整个数列中某个值域数的出现次数那么如何求出数列中任意区间中某个值域数的出现次数即查询[l,r]的[vl,vr]的出现次数[vl,vr]我们可以用权值线段树处理[l,r]可以想到前缀和主席树(可持久化线段树)=前缀和+权值线段树?朴原创 2021-09-09 00:17:24 · 106 阅读 · 0 评论 -
【Acwing提高】并查集
【Acwing提高】并查集知识点题目知识点格子游戏并查集判环搭配购买并查集维护集合大小+01背包程序自动分析并查集判冲突+离散化银河英雄传说并查集维护距离,边带权题目格子游戏思路裸的并查集不用维护什么东西,点与点成环游戏结束,即构建关系的时候在同一集合里。这里有个技巧,并查集维护一个数比较方便,所以把二维坐标利用x*n+y转化成二维的(注意要让输入也自减,保证从0开始)代码#include<bits/stdc++.h>原创 2021-02-26 18:58:05 · 204 阅读 · 0 评论 -
[线段树 多tag]D-数据结构
[线段树 多tag]D-数据结构题目思路多tag的线段树有时序性问题,因此不能直接把标记累计。例如:对于同样两个标记+和*,ax+b和(x+b)*a是不一样的,因此我们需要设计tag合并的规则。对于一个标记,他可以表示成ax+b的形式,因此我按照下图的方式来推导合并后的lazy同时推导区间所需要的区间和,区间平方和信息设计好lazy相关函数就完事了 void init_lazy(int root) { t[root].lazy[0] = 1;//乘法把1作为初始原创 2021-08-24 15:23:50 · 286 阅读 · 0 评论 -
[线段树 差分 区间转单点]区间最大公约数
[线段树 差分]区间最大公约数思路操作1:区间[L,R]增加一个数操作2:求区间最大公约数gcd(a[l],a[l+1],a[l+2]……a[r])gcd(a[l],a[l+1],a[l+2]……a[r])gcd(a[l],a[l+1],a[l+2]……a[r])首先思考维护哪些信息struct Node{ int l,r; LL g;//gcd}只是查询的话已经够了,接下来思考修改怎么办。如果是做区间修改的话很麻烦,我们可以利用差分把区间修改转为单点修改。(x,y,z)=(x,原创 2021-06-16 23:55:08 · 139 阅读 · 0 评论 -
【线段树 懒标记 区间加】一个简单的整数问题2
【线段树 懒标记】一个简单的整数问题2题目思路感觉还是蓝书上的解析比较容易懂首先考虑维护信息。sum:如果考虑当前节点及子节点上的所有标记,当前区间和是多少(不考虑所有祖先节点标记)add(增量延迟标记):给当前区间的所有儿子加上add(不包括自己)struct Node{ int l,r; LL sum,add;}tr[N*4]延迟标记的含义是:该节点曾经被修改但其子节点尚未被更新,也就是说如果存在延迟标记,那就是子节点待更新并且它自身保存的信息应该已经被修改完了。主要看注释原创 2021-06-23 12:43:19 · 140 阅读 · 0 评论 -
[拆位线段树]RMQ
[拆位线段树]RMQ题目https://ac.nowcoder.com/acm/problem/21414思路区间或,区间求和对于区间或,异或这种位运算,没法之间打懒标记。但是如果我们按位拆分,可以发现对于原数组都为01的线段树来说,或运算等效于区间设1。那么我们对每一位进行区间设1,区间求和操作,然后再最终求解答案的时候带上位权即可代码#include<bits/stdc++.h>using namespace std;typedef long long LL;const原创 2021-10-05 16:56:28 · 185 阅读 · 0 评论 -
《算法竞赛进阶指南》0x11栈 例题Largest Rectangle in a Histogram
Largest Rectangle in a Histogram知识点:单调栈(先自己看一下蓝书P54)代码#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e5+10;int n,tt;ll stk[N],h[N],l[N],r[N];int main(){ while(cin>>n) { if(n==0)break;原创 2021-01-21 17:03:19 · 192 阅读 · 1 评论