CF
文章平均质量分 76
dplovetree
华东师大 数据学院在读
展开
-
Educational Codeforces Round 125 (Rated for Div. 2) E. Star MST
E. Star MST 题意: 定义一个无向完全图是 美丽的,当且仅当,每条边的边权 在 1到k1到k1到k 之间,且与 111号点连接的边权和 等于 整张图最小生成树的权值和。 n<=250,k<=250n<=250,k<=250n<=250,k<=250 思路: 既然题目涉及了 最小生成树,那肯定会想 克鲁斯卡尔算法,想象克鲁斯卡尔算法的过程 就是按照边权从小到大 加入边,直到所有点都联通。那么不妨加一个条件,当边权相同时,优先加入和 111号点相连的边。那么可以推断原创 2022-03-23 18:46:28 · 477 阅读 · 0 评论 -
Codeforces Round #762 (Div. 3) H Permutation and Queries
H Permutation and Queries 题意: 给你一个 n(1≤n≤105)n(1≤n≤10^5)n(1≤n≤105) 个数的排列 p,你需要维护以下两种操作: 1xy1 x y1xy :交换 pxp_xpx 和 pyp_ypy。 2ik2 i k2ik :令 i=pii=p_ii=pi,kkk次后输出iii 。 操作数量小于等于 10510^5105。 思路: 首先分析题目,考虑 从iii 向 pip_ipi 连接一条边,因为数组是排列,所以每个点 只有一条出边和一条入边,那么构成的原创 2022-02-24 15:18:36 · 151 阅读 · 0 评论 -
Codeforces Round #760 (Div. 3) G. Trader Problem
Codeforces Round #760 (Div. 3) G 题意: 你手里有nnn个物品,第iii个价值为aia_iai。另外mmm个物品,第iii个价值为bib_ibi。你可以把你手里的价值为xxx的物品与不属于你的价值不超过x+kx + kx+k的物品进行交换,交换后原本属于你的物品不再属于你并且可以在新的交换中被换回来,而作为交换,原本不属于你的那个物品现在属于你并且可以被用于新的交换中。现在有qqq次询问,给定kkk,求经过任意次数交换后属于你的物品的价值的最大值。 思路一: 自己想的复杂原创 2022-02-23 21:22:04 · 385 阅读 · 0 评论 -
Codeforces Round #744 (Div. 3) 解题报告
文章目录A. Casimir's String SolitaireB. Shifting SortC. TicksD - Productive Meeting A. Casimir’s String Solitaire 题意: 对于一个字符串,有两种操作: 1、选择字符串中的一对‘A’和‘B’,删除他们; 2、选择字符串中的一对‘B’和‘C’,删除他们; 问能否通过一系列操作把字符串变成空串。 思路: 计三种字符的个数,只要’B’的个数是’A’和‘C’的个数和即可。 代码: #include<bits原创 2021-09-29 22:02:36 · 277 阅读 · 1 评论 -
Educational Codeforces Round 114 (Rated for Div. 2) D
D. The Strongest Build 题意: 给你nnn个位置(n<=10n<=10n<=10),每个位置有cicici个备选的数(ci<=200000ci<=200000ci<=200000),然后有mmm个组合(m<=200000m<=200000m<=200000),求除了这些组合之外的 和最大的组合,输出最大和。 思路: 根据mmm个限制,建一颗字典树,然后遍历字典树,在当前点,保证取当前点到根的数,下面的位置贪心取,遍历完字典树之后的最原创 2021-09-29 12:41:57 · 136 阅读 · 1 评论 -
Codeforces Round #742 (Div. 2) F. One-Four Overload
F. One-Four Overload 题意: 给你n∗mn*mn∗m的网格,n<=500,m<=500n<=500,m<=500n<=500,m<=500,有些格子是‘X’,有些格子是‘.’,题目保证网格的最外围一圈都是‘.’,现在我们需要在‘.’的格子中填1或者0,‘X’上的值,是它上下左右,四个方向的‘.’的格子的权值和。 问有没有一种填色方案,使得所有‘X’格子上的值都是5的倍数。有的话,输出构造方案。 思路: 比较显然的思路,我们按照‘X’格子四个方向上‘.’原创 2021-09-11 11:35:06 · 134 阅读 · 1 评论 -
Codeforces Round #740 Div. 2 解题报告
A. Simply Strange Sort 模拟 题意: 给你一个长度为nnn (nnn<=1000 且 nnn是奇数) 的排列; 有一种操作,定义第iii次操作: 如果iii是奇数,对所有奇数位置pospospos(pospospos<n),如果 第pospospos位大于第pospospos+1位,那么交换。 如果iii是偶数,对所有偶数位置进行上面那个操作; 求在第几次操作之后,整个序列有序。 思路: 因为给的nnn很小,对于一个数,他回到原本的位置,最多需要nnn次操作,那么nnn个数原创 2021-08-25 02:20:51 · 320 阅读 · 2 评论 -
Codeforces Round #739 (Div. 3)解题报告
文章目录ABCDEF1F2 A 题意:找出第k个既不是3的倍数也不以3结尾的数 思路:1≤t≤100,1≤k≤10001\le t\le100,1\le k\le10001≤t≤100,1≤k≤1000由样例得k=1000k=1000k=1000时,答案等于166616661666,所以暴力枚举1∼16661\sim16661∼1666即可 #include<bits/stdc++.h> using namespace std; int ans[1010], now; bool pan(int原创 2021-08-19 03:08:50 · 592 阅读 · 0 评论 -
Educational Codeforces Round 111 (Rated for Div. 2) C 补题
Manhattan Subarrays(思维) 题意: 定义 d ( a , b ) 指的是 a和b的曼哈顿距离。 认为一个点的三元组 {a,b,c} 是不好的指,d (a,b) = d (a,c) + d(b,c) ; 给你一个长度2e5的数组A,问有多少个字串满足不存在不好的三元组 { (A[i] , i ),(A[j] ; j) ,(A[k] , k) }。 思路: 通过绝对值等式,我们不难发现如果一个三元组是不好的,只有可能是d(a,c)=d(a,b)+d(b,c); (a<b<c);原创 2021-08-06 04:14:37 · 176 阅读 · 0 评论