返回顶部

随笔分类 -  Codeforces

上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要:题意:给出一个长度为$n$的序列$a$,根据$a$构造一个序列$b$,要求: ​ 1.\(b_{1}=0\) ​ 2.对于$i,j(i\le i,j \le n)$,若$a_=a_$,则$b_=b_$ ​ 3.对于$i\in [1,n-1]$,有$b_{i+1}=b_$或$b_{i+1}=b_+1$ 阅读全文
posted @ 2020-09-05 18:26 _Kolibri 阅读(141) 评论(0) 推荐(0)
摘要:题意:给你一个长度为$3*n$的字符串,要求修改最少的次数,使得字符串中$0,1,2$的个数相同,并且在最少次数的情况下使字典序最小. 题解:贪心,$0$一定放在前面,$1$和$2$放后面,首先统计$0,1,2$的个数,因为题目要求字典序最小,所以我们先从左边开始遍历,如果$2$的个数大于$n/3$ 阅读全文
posted @ 2020-09-05 18:02 _Kolibri 阅读(253) 评论(0) 推荐(0)
摘要:题意:有$n$扇门,你每次可以攻击某个门,使其hp减少$x$($\le 0$后就不可修复了),之后警察会修复某个门,使其hp增加$y$,问你最多可以破坏多少扇门? 题解:首先如果$x>y$,那么我肯定全部都能破坏,否则,统计$hp\le x$的门的个数,谁先碰门谁先赢,而我是先手,所以能破坏的门的个 阅读全文
posted @ 2020-09-05 17:52 _Kolibri 阅读(202) 评论(0) 推荐(0)
摘要:题意:给你$n$个数字,用$k$种颜色给他们涂色,要求每个数字都要涂,每种颜色都要用,相同的数字不能涂一样的颜色. 题解:用结构体读入每个数字和它的位置,然后用桶记录每个数字出现的次数,判断是否合法,然后对数字进行排序,从$[1,k]$不断循环的去涂颜色,这样的好处是一定能保证相同数字涂的颜色不同, 阅读全文
posted @ 2020-09-05 17:43 _Kolibri 阅读(168) 评论(0) 推荐(0)
摘要:题意:给你$n$个点,每个点都有权值,现在要在这$n$个点中连一颗最小树,每两个点连一条边的边权为两个点的点权,现在还另外给了你几条边和边权,求最小权重. 题解:对于刚开始所给的$n$个点,假如不考虑后来给的边,仅用这些点来构造,那么最优解一定是最小点权的那个点和其他点连边,所以我们先把这样连边存起 阅读全文
posted @ 2020-08-22 00:50 _Kolibri 阅读(123) 评论(0) 推荐(0)
摘要:题意:给你一串括号,每次仅可以修改一个位置,问有多少位置仅修改一次后所有括号合法. 题解:我们用栈来将这串括号进行匹配,每成功匹配一对就将它们消去,因为题目要求仅修改一处使得所有括号合法,所以栈中最后一定会有两个括号剩余,并且这两个括号要么是$((\(要么是\)))\(,\))(\(是无论如何都不合 阅读全文
posted @ 2020-08-22 00:32 _Kolibri 阅读(97) 评论(0) 推荐(0)
摘要:题意:有$n$个熊小孩,绕着树转圈圈,编号$i$的小孩可以记住$a_{i,1}$和$a_{i,2}$两个小孩,这两个小孩是顺时针相邻的,但谁前谁后不一定.现在给你每个小孩的$a_{i,1}$,\(a_{i,2}\),要求还原序列. 题解:对于第$i$个小孩,我们去判断他的$a_{i,1}$和$a_{ 阅读全文
posted @ 2020-08-21 22:35 _Kolibri 阅读(145) 评论(0) 推荐(0)
摘要:题意:给你一个数$n$,问是否能有$k$个$2$次方的数构成,若满足,输出一种合法的情况. 题解:从高到低枚举二进制的每一位,求出$n$的二进制的$1$的位置放进优先队列中,因为$2$次方最小的值是$1$,并且只能拆分不能合并,所以判断一下是否满足,然后对于$2i$,我们可以拆分成$2$和$2^\( 阅读全文
posted @ 2020-08-21 22:18 _Kolibri 阅读(130) 评论(0) 推荐(0)
摘要:题意:有$n$个点,$m$条边,只有当你的智力值大于这条边的$w$才能走,问在花费不超过$k$的情况下,从$1$走到$n$的所需的最小智力值. 题解:这题比赛为什么没想出来呢?赛后看题解发现可以二分答案然后跑最短路来check,网上的题解全都是SPFA啊,我还是喜欢写dijkstra qwq. 代码 阅读全文
posted @ 2020-08-20 21:34 _Kolibri 阅读(248) 评论(0) 推荐(0)
摘要:题意:有$n$个人,每个人居住在某个节点,所有人都在节点$1$上班,下班后沿着最短路径回家,在回家途中心情可能会变差(心情只会变差不会变好),每个节点都有一个开心值,开心值等于所有经过时的好心情人数减去差心情人数,现在给你每个城市的开心值,问是否满足情况. 题解:这题真的好难想啊,假设第$i$个城市 阅读全文
posted @ 2020-08-20 20:40 _Kolibri 阅读(91) 评论(0) 推荐(0)
摘要:题意:给你某个字符串的$n-1$个前缀和$n-1$个后缀,保证每个所给的前缀后缀长度从$[1,n-1]$都有,问你所给的子串是前缀还是后缀. 题解:这题最关键的是那两个长度为$n-1$的子串,我们只要判断哪个是前缀就行了,然后再遍历一遍所给的子串,用长度为$n-1$的前缀子串来判断是子串是前缀还是后 阅读全文
posted @ 2020-08-18 12:38 _Kolibri 阅读(106) 评论(0) 推荐(0)
摘要:题意:有$n$个话题,每次都必须选取不同的话题,且话题数必须是上次的两倍,第一次的话题数可以任意,问最多能选取多少话题数. 题解:我们首先用桶来记录不同话题的数量,因为只要求话题的数量,与话题是多少无关,所以我们可以开个新数组然后离散化一下,比如$mp[5]=6$可以离散化成$disc[1]=6$, 阅读全文
posted @ 2020-08-18 12:26 _Kolibri 阅读(102) 评论(0) 推荐(0)
摘要:题意:在$x$轴上有很多传送点和钻石,当位于传送点上时,可以传送到其他任意传送点(不记操作数),位于钻石上时可以吃掉它,每次可以移动一个单位,问最少多少次可以吃掉所有的钻石. 题解:对于某个位置上的钻石,我们可以从它左边的传送点走过来,或者从它右边的传送点走过来,又或者从上一个钻石的位置直接走过来, 阅读全文
posted @ 2020-08-14 12:24 _Kolibri 阅读(242) 评论(0) 推荐(0)
摘要:题意:给你一个字符串,可以交换两个字符的位置,问操作后能否在字符串中找到子串$"happiness"$,如果不能,输出交换的两个位置. 题解:这题其实用string中的find函数很是方便啊,假如字符串中不含子串,我们判断一下交换$1$和$2$位置的字符后是否含有子串,如果有就直接交换$1$和$3$ 阅读全文
posted @ 2020-08-14 12:13 _Kolibri 阅读(206) 评论(0) 推荐(0)
摘要:题意:有$n$个吃鸡玩家,在某个时间段给你他们每个人的杀敌数,判断数据是否合法,并输出每个人对应的杀敌情况. 题解:刚开始写的是直接暴力枚举,向后去找并且标记,然后存到vector最后输出,结果一直MLE,后来发现可以用双指针来搞.首先只要总杀敌数不大于$n-1$,那么就永远都是合法的,然后不难发现 阅读全文
posted @ 2020-08-14 11:54 _Kolibri 阅读(129) 评论(0) 推荐(0)
摘要:题意:对于某个序列,若$1\le i\le n$,$1\le j\le i$且$p_j>p_i$,或者$1\le i\le n$,$i<j \le n$且$p_j>p_i$,那么就可以在$i$和$j$之间连一条边,求有多少能够成环的长度为$n$的序列. 题解:对于长度为$n$的序列,也就是有$n$个 阅读全文
posted @ 2020-08-12 23:20 _Kolibri 阅读(210) 评论(0) 推荐(0)
摘要:题意:有$n$个点,$m$条边的无向图,可以给每个点赋点权${1,2,3}$,使得每个点连的奇偶不同,问有多少种方案,答案对$998244353$取模. 题解:要使得每个点所连的奇偶不同,很明显是二分图染色,那么对于某一个联通块,我们可以对左边的点赋$2$,右边的点赋${1,3}$,那么左边的点没有 阅读全文
posted @ 2020-07-31 13:22 _Kolibri 阅读(146) 评论(0) 推荐(0)
摘要:题意:在二维坐标轴上给你一堆点,在x轴上找一个点,使得该点到其他点的最大距离最小. 题解:随便找几个点画个图,不难发现,答案具有凹凸性,有极小值,所以我们直接三分来找即可. 代码: int n; long double x[N],y[N]; long double check(long double 阅读全文
posted @ 2020-07-24 15:19 _Kolibri 阅读(419) 评论(0) 推荐(0)
摘要:题意:有两个数组$a$和$b$,每次比较它们最左端的元素,取小的加入新的数组$c$,若$a$或$b$其中一个为空,则将另一个全部加入$c$,现在给你一个长度为$2n$的数组$c$,问是否能有两个长度为$n$的数组$a$和$b$构成. 题解:我们从左向右看$c$,记一个最大值$mx$,观察样例不难发现 阅读全文
posted @ 2020-07-24 15:10 _Kolibri 阅读(164) 评论(0) 推荐(0)
摘要:题意:给你两个长度为$n$的01串$s$和$t$,可以选择$s$的前几位,取反然后反转,保证$s$总能通过不超过$2n$的操作得到$t$,输出变换总数,和每次变换的位置. 题解:我们现将$s$串全部变成$1$或$0$,确保$s[n]=t[n]$,然后我们倒着遍历$t$,若遇到相邻的两个字符不同,我们 阅读全文
posted @ 2020-07-24 14:43 _Kolibri 阅读(225) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页