返回顶部

随笔分类 -  Codeforces

上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页
摘要:题意:给你一张图,要你去边,使其成为一个边数为$n-1$的树,同时要求树的最小边权最大,如果最小边权最大的情况有多种,那么要求总边权最小.求生成树后的所有简单路径上的最小边权和. 题解:刚开始想写最大生成树的,但是很明显不能满足总边权最小的要求.所以这里我们可以用二分,二分最小边权的值,然后再去跑k 阅读全文
posted @ 2020-12-26 17:10 _Kolibri 阅读(214) 评论(0) 推荐(0)
摘要:题意:给你四个数字,你可以用这四个数字凑出四个1位数,一个2位数和两个1位数,或一个3位数和一个1位数,你可以用你凑出的数字进行$+,-,x$运算(所有运算符号至少出现一次),问你一共能得到多少个不同的数字. 题解:dfs瞎搞,不合法乘法的细节特别多,在dfs函数里面用flag和mult来分别去除出 阅读全文
posted @ 2020-12-26 16:57 _Kolibri 阅读(251) 评论(0) 推荐(0)
摘要:题意:你在一家公司工作$t$天,负责给饮水机灌水,饮水机最初有$k$升水,水的范围必须要在$[l,r]$内,同事每天白天都会喝$x$升水,你在每天大清早可以给饮水机灌$y$升水,问你在公司工作的这几天内,饮水机会不会发生故障. 题解:假如$x>=y$,那么,我们贪心的思路一定是每天让水减的尽可能少, 阅读全文
posted @ 2020-12-21 21:14 _Kolibri 阅读(162) 评论(0) 推荐(0)
摘要:题意:一个棋盘上有一些"车",现在要让这些"车"跑到左倾斜的对角线上,每次可以移动一个棋子,但是棋盘的任意时刻都不能出现一个"车"能吃另一个"车"的情况.问最少需要移动多少次才能满足条件.("车"的个数小于对角线的格子数). 题解:对于某个棋子的位置$(x,y)$,我们可以$x->y$来建边,如果棋 阅读全文
posted @ 2020-12-21 20:22 _Kolibri 阅读(343) 评论(0) 推荐(0)
摘要:题意:给你两个数组$a$和$b$,对于$j=1,...,m$,找出$a_1+b_j,...,a_n+b_j$的$gcd$. 题解:我们很容易的得出$gcd$的一个性质:$gcd(a,b)=gcd(a,b-a),gcd(a,b,c)=gcd(a,b-a,c-b)$以此往后类推, 那么对于此题,我们要求 阅读全文
posted @ 2020-12-21 18:47 _Kolibri 阅读(298) 评论(0) 推荐(0)
摘要:题意:给你一长度为$n$的序列(可能含有相等元素),你要找到$m$个位置不同的元素使得$max(a_,a_,...,a_)-min(a_,a_,...,a_)\le k$,问你共有多少种不同的元祖满足条件,对答案$mod 1e9+7$. 题解:我们可以先用map做桶统计每个数出现的次数,然后枚举$[ 阅读全文
posted @ 2020-12-19 14:08 _Kolibri 阅读(125) 评论(0) 推荐(0)
摘要:题意:给你含有$n$个节点,$n-1$条边的树,以及$m$个质数和$1$,你需要在这$m$个质数和一个$1$选择数(质数只能选一次,$1$可以多选)给$n-1$条边赋值,求所有简单路径的边权和. 题解:很简单,对于每条边,我们看它左右有多少个点,右边有多少点,左边点数x右边点数就是包含这条边的简单路 阅读全文
posted @ 2020-12-11 13:47 _Kolibri 阅读(79) 评论(0) 推荐(0)
摘要:题意:给你一长度为$n$的数组,有一长度为$k\ (1\le k \le n)$的区间不断从左往右扫过这个数组,总共扫$n$次,每次扫的区间长度$k=i$,在扫的过程中,每次取当前区间内的最小值,存到v中,问每次扫完后v中的数是否能构成一个序列. 题解:我们首先特判区间长度$1$和$n$的情况,这很 阅读全文
posted @ 2020-12-08 19:11 _Kolibri 阅读(259) 评论(0) 推荐(1)
摘要:题意:给你一个$n$x$m$的矩阵,需要在这些矩阵中涂色,每个格子可以涂成黑色或者白色,一个格子四周最多只能有$2$个和它颜色相同的,问最多有多少种涂色方案. 题解:首先我们考虑一维的情况,一个格子的方案数是$2$,两个格子的方案数是$4$,我们记$f[1]=2$,\(f[2]=4\),然后我们考虑 阅读全文
posted @ 2020-12-08 18:02 _Kolibri 阅读(109) 评论(0) 推荐(0)
摘要:题意:定义两个数$a,b$是朋友,如果:\(gcd(a,b)\),\(\frac{a}{gcd(a,b)}\),$\frac{gcd(a,b)}$能构成三角形,现在给你一个正整数$n$,问你$1-n$中有多少数没有朋友. 题解:首先考虑合数,设$a=b*c$,\(b\ge c\),\(b\ge 2, 阅读全文
posted @ 2020-12-02 20:43 _Kolibri 阅读(110) 评论(0) 推荐(0)
摘要:题意:给你一组不重复的序列$a$,每次可以选择一个数删除它左边或右边的一个数,并将选择的数append到数组$b$中,现在给你数组$b$,问有多少种方案数得到$b$. 题解:我们可以记录$b_i$在$a_i$中的位置,然后枚举$b_i$,取它在$a_i$的位置,然后看$a_$和$a_{i+1}$的情 阅读全文
posted @ 2020-12-02 16:29 _Kolibri 阅读(87) 评论(0) 推荐(0)
摘要:题意: 有一个分两层的圆盘,每层从12点方向均分插入$n$和$m$个隔板,当内层和外层的隔板相连时是不能通过的,有$q$个询问,每次给你内层或外层的两个点,判断是否能从一个点走到另外一个点. 题解: 因为是均分,所以内层和外层隔板相连的个数为$gcd(n,m)$,不懂的可以从角度方向来考虑,将$36 阅读全文
posted @ 2020-11-30 17:16 _Kolibri 阅读(115) 评论(0) 推荐(0)
摘要:题意:给你一组非递减的数,你可以对两个连续的数进行异或,使其合并为一个数,问最少操作多少次使得这组数不满足非递减. 题解:首先,给出的这组数是非递减的,我们考虑二进制,对于三个连续的非递减的最高位相同的数,我们可以将后面的两个异或,那么第一个数一定比合并的数大,所以当出现三个最高位相同的数时,操作数 阅读全文
posted @ 2020-11-30 00:51 _Kolibri 阅读(99) 评论(0) 推荐(0)
摘要:题意:有一长度为$n$的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第$p$个位置开始,而且每次都会向右弹$k$个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩,需要花费$x$,在开始的时候,你可以删除前几个单位,每个单位花费$y$,问最少花费多少使得小球能够弹出平台外. 阅读全文
posted @ 2020-11-29 22:11 _Kolibri 阅读(277) 评论(0) 推荐(0)
摘要:题意:有$n$栋房子,每栋房子都有自己的颜色$c_i$,你每次可以对连续的长度为$k$的区间改变任何房子的颜色,问最少多少次可以使得所有房子颜色相同. 题解:因为只有$100$中颜色,所以我们可以直接枚举颜色,然后去遍历房子,如果房子颜色和当前枚举的不符,那么我们操作的次数就要++,并且跳到$j+k 阅读全文
posted @ 2020-11-29 21:54 _Kolibri 阅读(131) 评论(0) 推荐(0)
摘要:题意:有一张$n$x$m$的图,图中每个点都关押着罪犯,在坐标$(r,c)$处有一个出口,每名罪犯每秒可以可以像上下最有移动一个单位或者不动,问所有罪犯能够逃离监狱的最少时间. 题解:直接算四个顶点到出口的值求个最大即可. 代码: #include <bits/stdc++.h> #define l 阅读全文
posted @ 2020-11-29 21:40 _Kolibri 阅读(91) 评论(0) 推荐(0)
摘要:题意:给你带边权的树,有$m$次询问,每次询问有多少点对$(u,v)$之间简单路径上的最大边权不超过$q_i$. 题解:真的想不到用最小生成树来写啊.... 我们对边权排序,然后再对询问的$q_i$排序,我们可以枚举$q_i$,然后从last开始遍历边权,如果边权不大于$q_i$,那么就可以用并查集 阅读全文
posted @ 2020-11-27 09:58 _Kolibri 阅读(81) 评论(0) 推荐(0)
摘要:题意:给你两个长度为$2$的字符串$s$和$t$,你需要构造一个长度为$3n$的字符串,满足:含有$n$个$a$,$n$个$b$,$n$个$c$,并且$s$和$t$不能是它的子串. 题解:首先,假如所给的长度为$2$的字符串两两不相等,那么我们一定可以构造一个类似$aaaabbbbcccc$这样的相 阅读全文
posted @ 2020-11-26 22:33 _Kolibri 阅读(73) 评论(0) 推荐(0)
摘要:题意:有一个$n$个点,$n$条边的图,问你长度至少为$1$的简单路径有多少条. 题解:根据树的性质,我们知道这颗树一定存在一个环,假如一棵树没有环,那么它的所有长度不小于$1$的简单路径数一定是$\frac{n*(n-1)}{2}$,因为每个点都可以和其他任意一个点形成一条路径,除以$2$表示去除 阅读全文
posted @ 2020-11-26 22:20 _Kolibri 阅读(145) 评论(0) 推荐(0)
摘要:题意:给你一个模式串$t$,现在要在主串$s$中删除多个子串,使得得到的$s$的子序列依然包含$t$,问能删除的最长子串长度. 题解:首先,我们不难想到,我们可以选择$s$头部到最右边的子序列的头部和最左边的子序列的尾部到$s$的尾部这两个子串,除去这两个子串,我们要找的最大子串一定在子序列的头部到 阅读全文
posted @ 2020-11-24 15:40 _Kolibri 阅读(92) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 ··· 15 下一页