![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
程序设计竞赛记录
文章平均质量分 61
本专栏记录了本科两年半的程序竞赛的题解,记录等信息,由于退役,这些就归为一类吧
永远鲜红の幼月
喜欢c++抽丝剥茧的细节,掌控程序的快感.
喜欢python方便的实现,多样的库.
展开
-
CF-1188B-Count Pairs(思维+数学)
题目链接:https://codeforces.com/problemset/problem/1188/B题目大意:给出n个元素的数组A。求有多少对(i,j)满足(A[i]+A[j])*(A[i]^2+A[j]^2)%P=k。思路:很巧妙的思路,转化步骤:所以,我们只需要遍历数组,对于A[i]找是否存在A[j]满足上面的式子即可。ACCode:map<ll,ll&g...原创 2019-11-19 20:28:17 · 300 阅读 · 0 评论 -
CF-1252K-Addition Robot(线段树合并)
题目链接:https://codeforces.com/contest/1252/problem/K题目大意:给出一个AB串,给出一个算法。q次操作,1:反转,将区间[l,r]中的A变为B,B变为A。2.查询,每次给出查询区间[l,r],a,b计算最后a和b。思路:题意很明显可以转换成求区间[l,r]中有多少a和b。我们可以进行合并的时候维护。当时打比赛的时候,队友直接推出了合并公式,类似...原创 2019-11-18 20:26:47 · 197 阅读 · 0 评论 -
CF-1252H-Twin Buildings(扫描线+线段树)
题目链接:https://codeforces.com/contest/1252/problem/H题目大意:给出n个矩形小岛,每个小岛有两个属性:长和宽。我们要建两座相同的房子,要求房子的面积最大。这里相同的房子意思是边长对应相等。问最大的面积是多少。可以将一个岛分成两半一边一个。思路:将所有岛都放倒(长的边贴在x轴上)。然后找最大的重叠面积,即覆盖面积>=2的。最后和最大的单独岛...原创 2019-11-18 19:56:00 · 299 阅读 · 0 评论 -
CF-1252G-Performance Review(思维+线段树)
题目链接:https://codeforces.com/contest/1252/problem/G题目大意:给出n个人,每个人有自己的能力值,第一个人表示P。然后给出m年,每年都有新人进入公司。每次都会先踢出新人数量的老人,提出的人都是能力最后的几位。然后加入新人。前一年的新人在下一年就变成了可以被踢出的老人了。q次询问,询问不独立(这次询问对下次询问有影响)。每次将第x年的第i个人...原创 2019-11-18 19:38:08 · 275 阅读 · 0 评论 -
CF-1250C-Trip to Saint Petersburg(线段树)
题目链接:https://codeforces.com/contest/1250/problem/C题目大意:给出一个无限长度的数轴。数轴上的每个点的权值都为-k。其中有n个奖励区间。即选取一个区间后,如果该区间覆盖奖励区间,则区间之和会加上奖励区间的分数。求一个区间的最大分数,输出这个区间和覆盖的奖励区间。思路:由于奖励区间的范围比较小,所以很容易想到,枚举右端点r,找到左端点l,维护奖...原创 2019-11-18 19:24:03 · 361 阅读 · 0 评论 -
CF-Educational 76 A,B,C,D,E
Contest:https://codeforces.com/contest/1257目录A-Two Rival Students(暴力)B-Magic Stick(规律)C-Dominated Subarray(暴力)D-Yet Another Monster Killing Problem(思维+暴力)E-The Contest(思维+DP)A-Two Rival...原创 2019-11-18 19:10:53 · 435 阅读 · 0 评论 -
CF-1252C-Even Path(思维)
题目链接:https://codeforces.com/contest/1252/problem/C题目大意:给出一个n*n的矩阵A。A[i][j]=R[i]+C[j];给出n个元素的数组C和R。每次询问给出一个点对,问能否存在一条路径,满足路径上的所有点的值都为偶数,存在输出YES,否则输出NO。思路:我们用0表示偶数,1表示奇数,取一下同或,容易发现,可以联通的点对只会在一个矩形内。这...原创 2019-11-18 13:27:51 · 459 阅读 · 0 评论 -
CF-1163C2-Power Transmission (Hard Edition)(计算几何,map表示向量)
题目链接:https://codeforces.com/contest/1163/problem/C2题目大意:给出n个点(点不重复)。每个点之间都有一条线相连。重合的直线算一条。问有多少对直线相交。思路:一个常见的方法,map种存上斜率。然后判断斜率不相等的直线的个数。这道题因为重合的直线算一条。所以我又开了一个一般式的直线去重。最后n*n枚举直线,log(n)查询即可。个人感觉多了...原创 2019-11-14 18:30:00 · 165 阅读 · 0 评论 -
CF-1185F-Two Pizzas(思维+二进制暴力,枚举)(SOS DP)
题目链接:https://codeforces.com/contest/1185/problem/F题目大意:给出n个人,m个蛋糕。每个人有自己喜欢的口味(多种).每个蛋糕有自己的口味(多种).每个蛋糕有自己的价格c。当一个人可以吃到所有满足自己口味的食物时,会感到开心(从不同的蛋糕中凑够也算)。问满足最多的人开心,的最少花费的组合时什么。思路:由于口味最多只有9种。所以我们很容易的用一个...原创 2019-11-13 18:35:18 · 237 阅读 · 0 评论 -
CF-1185C2-Exam in BerSU (hard version) (思维+贪心暴力)
题目链接:https://codeforces.com/problemset/problem/1185/C2题目大意:给出一个包含n个元素的数组A,A[i]表示第i个人做完试卷需要多久。一场考试持续m分钟。问第i个人想要写完试卷,前i-1个人最少多少个需要放弃考试。思路:其实我过的还是比较迷的。。因为没什么好方法就想着暴力试试。。就过了。。200ms+。。好了,下面思路(可能不是很好由...原创 2019-11-13 17:01:42 · 194 阅读 · 0 评论 -
CF-1172A-Nauuo and Cards(思维+规律)
题目链接:https://codeforces.com/problemset/problem/1172/A题目大意:给出手牌A,牌库B(1到n和n个0)。每次顺时针旋转(牌库中的第一个牌放入手牌,手牌中随便一个牌放入牌库末尾)。问多少次操作后,可以让所有牌库中的所有牌单调增。求最少次数。思路:首先很明显有一种情况就是将所有牌库中的牌都放入手牌,然后再都依次放入牌库。需要次数为Pos[牌库中...原创 2019-11-13 13:39:10 · 583 阅读 · 0 评论 -
CF-1185D-Extra Element(二分,暴力)
题目链接:https://codeforces.com/problemset/problem/1185/D题目大意:给出一个数组A,判断里面的数删掉一个是否能够组成一个等差数列。如果可以,输出删除的那个数的位置。否则输出-1.思路:将数组排一下序,然后将所有的公差都放入map中。然后枚举每个元素,判断是否可以删除。特判一下第一个和最后一个。ACCode:#include<s...原创 2019-11-12 21:48:58 · 225 阅读 · 0 评论 -
CF-1185E-Polycarp and Snakes(模拟)
题目链接:https://codeforces.com/problemset/problem/1185/E题目大意:给出一个n*m的图,其中有k条蛇,每条蛇只会是一条直线(不会拐弯)。问是否能够分别还原出每条蛇的位置。后面的蛇会覆盖前面的蛇,蛇从a到z。最多26条。思路:从后往前依次拨开蛇。查看最上面的蛇是否连续。拿起蛇后,用一个其他字符表示。表示这个位置可以被下一条蛇占据。代码实现比较多...原创 2019-11-12 20:53:43 · 174 阅读 · 0 评论 -
CF-1186C-Vus the Cossack and Strings(思维,二进制)
题目链接:https://codeforces.com/problemset/problem/1186/C题目大意:给出一个长串A,一个短串B,对于A中的与B等长的不同连续子串C,求对应数位不同的数位数量。如果是数量是偶数,ans++思路:很明显,分别统计B和C的1的数量,很明显,如果都是偶数或者都是奇数的话,不管怎么错开,不相等的数位数量都是偶数。所以统计B和C中1的数量即可。ACC...原创 2019-11-12 17:43:00 · 173 阅读 · 0 评论 -
CF-1186D-Vus the Cossack and Numbers(规律)
题目链接:https://codeforces.com/problemset/problem/1186/D题目大意:给出一个double类型的数组A。看是否存在一个数组B满足B[i]=floor(A[i])||ceil(A[i])。思路:因为B[i]的取值只相差1,所以我们一开始将所有值都按floor确定,sum大的话B[i]取小的,小的话取大的。ACCode:double A[...原创 2019-11-12 16:46:25 · 243 阅读 · 0 评论 -
CF-1187D-Subarray Sorting(思维,二分+线段树)
题目链接:https://codeforces.com/problemset/problem/1187/D题目大意:给出一个数组A和数组B。可以使用无数次区间排序。就是对子序列[l,r]区间排成单调不减的序列。问A能否变成B。思路:我们容易发现,两两排序是影响最小的。因此从左到右遍历,确定一个目标数组B。查看查看区间是否存在与目标值B[i]相等的A[j]&&能交换到该位...原创 2019-11-12 16:01:51 · 145 阅读 · 0 评论 -
CF-1187C-Vasya And Array(差分数组,规律)
题目链接:https://codeforces.com/problemset/problem/1187/C题目大意:给出m个定义,分为两种情况:1,[l,r]范围内的所有数单调不减。2,[l,r]范围内的所有数无序(即存在一个数大于后面的数)。问是否存在这样一个数组,如果存在,输出,否组输出NO。思路:数据范围很小,一开始想的是否可以暴力,后来发现,可以一开始定义数组递减,这样满足所有的定...原创 2019-11-12 15:44:45 · 236 阅读 · 0 评论 -
2019-ICPC-南京网络赛 A,B,F,H
Contest:https://www.jisuanke.com/contest/3004?view=challenges为什么感觉好写的题这么少呢。。A. The beautiful values of the palace(规律+二维偏序问题)题目链接:https://nanti.jisuanke.com/t/41298题目大意:有一个n*n的宫殿,蛇形序列,每个点都有自己的价...原创 2019-10-30 21:57:10 · 385 阅读 · 0 评论 -
2019-计蒜客信息学普及组赛前模拟 #1 A,B,C,D
下午打完训练赛,又不想补题,正好看见计蒜课有一场普及组和提高组的模拟赛,就顺便打一下。为了放松心情,就打了普及组的(本来就被打自闭了,为了开心肯定挑简单题啊Contest:https://www.jisuanke.com/contest/4578?view=challengesA-爬山(签到)题目链接:https://nanti.jisuanke.com/t/41957题目大意...原创 2019-10-28 19:46:25 · 426 阅读 · 0 评论 -
CF #553(Div.2) ABCD
听队友说今天发博客有个1024奖章?草稿箱的发一篇出来Contest:http://codeforces.com/contest/1151像我这样的辣鸡只能看着大佬过题QAQ。A. Maxim and Biology(暴力)题目链接:http://codeforces.com/contest/1151/problem/A题目大意:给出一个n长度的字符串,消去一些字符,并且变换一...原创 2019-10-24 23:02:26 · 184 阅读 · 0 评论 -
2019牛客多校团队补题记录
快两个月了,终于陆陆续续补的差不多了,平均每场剩大概2,3道左右,觉得已经很难再有大的提升了,就以后有什么新进展在更新把(应该)第一场(8/10)题目链接:https://ac.nowcoder.com/acm/contest/881题解连接:https://blog.csdn.net/qq_40482358/article/details/96478650第二场(8/10)...原创 2019-10-21 18:41:21 · 172 阅读 · 0 评论 -
2019牛客多校第五场 A,B,C,E,F,G,H,I,
A-digits 2题目链接:https://ac.nowcoder.com/acm/contest/885/A题目大意:给出一个n<=100,求满足条件的整数:1.数位之和时n的倍数。2.这个数可以被n整除。3.这个数不超过10000位。思路:n个n,完美符合条件ACCode:int main(){ int T;scanf("%d",&T); while(...原创 2019-10-21 18:41:09 · 329 阅读 · 0 评论 -
2019牛客多校第四场 A,B,C,D,E,J,K
A-meeting题目链接:https://ac.nowcoder.com/acm/contest/884/A题目大意:n个点的树。k个人分别在点Xk,求出所有人都到一个点的最短花费时间。思路:将所有多余的树枝都砍掉,两次DFS。剩下的都是有用的。求剩下的这棵树的直径,因为直径上的两端点必定是最长的时间花费,因此两次DFS求出直径后,直接计算直径即可。ACCode:#incl...原创 2019-10-19 15:47:37 · 233 阅读 · 0 评论 -
2019牛客多校第三场 A,B,D,F,G,H,I,J
A-Graph Games题目链接:https://ac.nowcoder.com/acm/contest/883/A题目大意:给出n个点,m条边的无向图,每次有两种操作,1:将第l到第r条边都反转(存在变为消失,消失变为存在) 2:求出x,y相邻的点是否相同。思路:首先判断x,y点是否相同,可以使用异或判断,将每个点赋值一个ll范围内的无符号数,然后通过异或,判断是否相等就可以在O ...原创 2019-10-19 14:53:25 · 399 阅读 · 0 评论 -
2019牛客多校第二场 A,B,D,E,F,G,H,J
A-Eddy Walker题目链接:https://ac.nowcoder.com/acm/contest/882/A数论队友:https://blog.csdn.net/henucm/article/details/97111654B-Eddy Walker2题目链接:https://blog.csdn.net/henucm/article/details/99566371数...原创 2019-10-19 13:20:07 · 340 阅读 · 2 评论 -
动态维护树的直径
打2019ICPC上海网络赛的时候,碰到了一道题(A),可以转化成动态维护树的直径的模型。但是由于不会写,就想要学习该算法,发现方法还多,一点一点学把。首先是例题:https://nanti.jisuanke.com/t/41398方法一:最容易理解和暴力的方法(树剖LCA+线段树)树剖维护树的LCA,线段树合并时维护树的直径。思路:1.首先要会树剖,用树剖处理该树,得到一个线...原创 2019-10-10 10:10:34 · 1757 阅读 · 0 评论 -
CF-Education 72(Div.2) A(二分) B(思维+公式) C(思维+暴力) D(思维+DFS染色) E(思维+线段树合并)
Contest:https://codeforces.com/contest/1217这场比赛。。一言难尽。。不出所料的掉惨了QAQ那天比较困,8点多就睡觉了,半夜正睡觉着,神仙叫我起来打CF了(22:30),一脸懵逼着就下床报名,然后开始准备,甚至脸都没洗,坐在电脑前发呆。。然后就自闭了QAQDE补的也是很艰难(都看了题解才会的QAQ)(F到现在都不会写。感觉好难,就放弃了)A....原创 2019-09-13 11:49:30 · 238 阅读 · 0 评论 -
牛客练习赛51-A(二分) B(二分) C(数论结论) D(二分匹配) E(思维+二分) F(矩阵DP+树剖)
Contest:https://ac.nowcoder.com/acm/contest/1083#question当时comet和这个重了,就去打comet了(谁让comet奖品看起来更好一点呢),结果被吊打,最后一个小时才来写这场,想着混个签到抽抽短袖,结果发现题目意外的简单点?(结果成了二分场?是不是数据很水啊....)A-abc(二分)题目链接:https://ac.nowcod...原创 2019-09-12 09:47:11 · 261 阅读 · 0 评论 -
2019ICPC南京网络赛F-Greedy Sequence(静态主席树+DP)
题目链接:https://nanti.jisuanke.com/t/41303题目大意:给出一个n个元素的数组A,1<=A[i]<=n,找出n个串S满足5个条件:1:S[i][1]=i 2:S[i][j]<=S[i][j-1](就是单调不增) 3:S中相邻元素在数组A中的下标绝对值<=k 4:S的字典序最大 5:A中的每个元素只能使用一次。输出每个...原创 2019-09-03 15:50:31 · 170 阅读 · 0 评论 -
2019ICPC南京网络赛A-The beautiful values of the palace(找规律,离线+线段树)
题目链接:https://nanti.jisuanke.com/t/41298题目大意:给出一个n*n的螺旋递减的矩阵,其中只有m个元素是有效的。对于q此询问,找出询问矩阵的有效元素数位之和!!思路:首先要有一个映射函数,将螺旋递减矩阵映射成真实值,很容易,洛谷有一个类似的题,把当时的代码改一改就好了:https://www.luogu.org/problem/P2239。然后就是求询问区...原创 2019-09-02 14:06:17 · 339 阅读 · 0 评论 -
POJ-3667-Hotel(线段树区间修改,合并)
题目链接:http://poj.org/problem?id=3667题目大意:思路:大概就是线段树的区间合并ACCode:#include<stdlib.h>#include<string.h>#include<stdio.h>#include<time.h>#include<math.h>// srand(...原创 2019-09-01 11:50:51 · 139 阅读 · 0 评论 -
POJ-3264-Balanced Lineup(静态区间RMQ,ST表)
题目链接:http://poj.org/problem?id=3264题目大意:n个元素,q次查询,查询区间最值思路:ST表ACCode:#include<stdlib.h>#include<string.h>#include<stdio.h>#include<time.h>#include<math.h>//...原创 2019-08-31 11:43:42 · 120 阅读 · 0 评论 -
POJ-2528-Mayor's posters(线段树区间修改,查询)
题目链接:http://poj.org/problem?id=2528题目大意:给出长为1e7的墙,有n(1e4)个海报,按时间顺序贴在墙上。问最后能够露出来的海报有多少张。思路:离散化后直接线段树区间修改,维护节点的标记。最后依次查询,记录答案就好了。ACCode:#include<stdlib.h>#include<string.h>#includ...原创 2019-08-31 10:31:59 · 137 阅读 · 0 评论 -
HDU-4614-Vases and Flowers(区间合并,修改)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4614题目大意:n个花,m次操作,每次操作都可以将一个区间的花都拔掉,输出拔掉的个数。或者插入k个花到花瓶中,输出插入的起点和终点。思路:每次插花的时候,找到第一个可以插入的位置,后面再找数量<=k的位置。将整个区间更新为0.把花的时候,直接将整个区间更新为1即可。找对应的插花区间的时候,...原创 2019-08-31 10:24:36 · 116 阅读 · 0 评论 -
HDU-4578-Transformation(线段树多个标记的冲突)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4578题目大意:给你一个n个元素的数组,4种操作,1:区间+k。2:区间*c 。3:区间修改 4:计算区间p次方和思路:三个标记,Add,Mul,U。先加后乘:Add标记同时*c,先乘后加:直接+add即可。区间修改,相当于覆盖,更新Add和Mul,刷新U标记。处理好这三个标记之间的关系就可以了...原创 2019-08-31 10:14:19 · 162 阅读 · 0 评论 -
HDU-3974-Assign the task(DFS序+线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3974题目大意:给出n个人,m个关系,组成一棵树,一个人得到了任务后,他的所有下属都会做这份工作,问每个区间都有多少个不同的工作思路:因为一个节点和他所有的子节点共享一个val。很容易想到DFS序,然后建个线段树就好了,区间更新单点查询。ACCode:#include<stdli...原创 2019-08-31 10:06:36 · 132 阅读 · 0 评论 -
HDU-3911-Black And White(线段树,区间翻转,合并)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3911题目大意:给出n个棋子,0或1,表示黑或白。每次操作可以翻转区间的颜色||查询区间的颜色思路:线段树区间翻转和合并ACCode:#include<stdlib.h>#include<string.h>#include<stdio.h>#i...原创 2019-08-31 09:59:20 · 417 阅读 · 0 评论 -
Codeforces Round #581 (Div. 2) A(规律),B(简单模拟),C(Floyd判断最短路),D(规律+线段树)
Contest:http://codeforces.com/contest/1204A. BowWow and the Timetable(规律)题目链接:http://codeforces.com/contest/1204/problem/A题目大意:火车的开出时间是4^k。给出出发时间(二进制数),判断错过了多少趟火车。思路:很容易发现,由于是一个合法的二进制数,因此第一位必定...原创 2019-08-27 11:01:49 · 137 阅读 · 0 评论 -
Educational Round 71 (Rated for Div. 2) A(简单贪心),B(简单模拟),C(简单DP),D(组合数+容斥),E(交互问题,分治),F(数据结构,分块)
G似乎有点难,估计鸽掉了。。Contest:http://codeforces.com/contest/1207A-There Are Two Types Of Burgers(简单贪心)题目链接:http://codeforces.com/contest/1207/problem/A题目大意:给出b个皮,p个牛肉,f个鸡肉,让你组装成利润最多的组合。牛肉包需要2皮+1牛肉,鸡肉堡...原创 2019-08-27 10:28:40 · 395 阅读 · 0 评论 -
HDU-3642-Get The Treasury(扫描线+线段树,三维)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3642题目大意:给出一个三维坐标系,给出n个立方体,求被三个立方体覆盖的体积和。思路:将z轴离散,平面扫描xy平面,对于每个类似3D打印,注意扫描的区间,不在[z,z+1]范围的立方体要移除扫描序列。ACCode:#include<stdlib.h>#include<...原创 2019-08-24 17:47:34 · 201 阅读 · 0 评论