jjzjj

Educational

全部标签

Educational Codeforces Round 146 (Rated for Div. 2)(B,E详解)

题外话:抑郁场,开局一小时只出A,死活想不来B,最后因为D题出锅ura才保住可怜的分。但咱本来就写不到DB-LongLegs(数论)本题题解法一学自同样抑郁的知乎作者幽血魅影的题解,有讲解原理。法二来着知乎巨佬cup-pyy(大佬说《不难发现》呜呜)题意三种操作:向上走mmm步向右走mmm步给自己一次走的步数加111,即使得m=m+1m=m+1m=m+1问从(0,0)(0,0)(0,0)走到(a,b)(a,b)(a,b)的最小操作次数,值得注意的是操作三不可逆。解析假设我们最终一步的大小增长到mmm,那么在这个过程中我能以[1,m][1,m][1,m](当步数增长到该数时)之间的任何数字向上或

Educational Codeforces Round 135 (Rated for Div. 2)C. Digital Logarithm(思维)

文章目录题目链接题意题解代码题目链接C.DigitalLogarithm题意给两个长度位nnn的数组aaa、bbb,一个操作fff定义操作fff为,a[i]=f(a[i])=a[i]a[i]=f(a[i])=a[i]a[i]=f(a[i])=a[i]的位数求最少多少次操作可以使a、ba、ba、b两个数组变得完全相同题解性质:对于任何数,经过两次操作我们一定可以让其变为111,所以答案小于等于2n2n2n然后我们考虑如何求最少的操作次数,很自然的去考虑贪心,对于相同的数我们不去操作,只取操作不同的数,这些不同的数一定需要进行一次操作,然后操作完一次之后所有的数都被限制到[1,9][1,9][1,

Educational Codeforces Round 161 (Rated for Div. 2) E题 动态规划逼近,二进制拆分补充,注意严格递增strictly increasing

Problem-E-Codeforces目录推荐视频:题意:细节(我踩得没什么价值的坑):思路:对样例3(X=13)做解释:——————总思路:——————动态规划逼近:——————二进制拆分补充剩余:核心代码: 推荐视频:E_哔哩哔哩_bilibili其实有一些细节说的不是特别清楚好理解,可以结合我的题解来看。但是对题目的解析说的还是特别好的 题意:你需要制作一个数组,使其严格递增子序列的数目为X细节(我踩得没什么价值的坑):1.严格递增strictlyincreasing,我直到看了别人的题解才发现,,才能看懂样例,,2.好好读题,我靠X是1e18了,得longlong3.快速逼近的时候w

Educational Codeforces Round 134 (Div.2) D 题解

题目链接D.MaximumAND题目大意给定两组序列\(a\)\(b\),长度为\(n\),现有一新序列\(c\),长度也为\(n\)。其中,\(c_i=a_i\oplusb_i\)。定义\(f(a,b)=c_1\&c_2\&……\&c_n\)。现在你可以随意编排\(b\)序列的顺序,求\(f(a,b)\)的最大值。思路以下位运算均是二进制。由于按位与的运算结果是越来越小的,考虑从高位往低位贪心。将结果的其中一位定为1之后,有一些序列\(b\)中的元素的位置就被定下来了。所以我们要从高位往低位贪心,有一位可以置为1,就把它置为1.具体做法:暴力枚举,时间复杂度\(O(nlognlogA)\),

Educational Codeforces Round 154 (Rated for Div. 2)(A—C)

A.PrimeDeletion思路:从1到9,每个数后面都可以加一个数构成一个含有两个数的质数,只需要从s[1]~s[9]中找到一个数与s[0]构成质数即可代码实现/*******************************|Author:CHC|Problem:A.PrimeDeletion|Contest:Codeforces-EducationalCodeforcesRound154(RatedforDiv.2)|URL:https://codeforces.com/contest/1861/problem/A|When:2023-08-3122:55:13||Memory:512M

Educational Codeforces Round 145 Div. 2 题解

目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo

Educational Codeforces Round 145 Div. 2 题解

目录A.Garland(签到)题面翻译思路:代码B.PointsonPlane(数学)题面翻译思路:代码C.SumonSubarray(构造)题面翻译:思路:代码D.BinaryStringSorting题面翻译思路:代码A.Garland(签到)Youhaveagarlandconsistingof 4 coloredlightbulbs,thecolorofthe i-thlightbulbis si.Initially,allthelightbulbsareturnedoff.Yourtaskistoturnallthelightbulbson.Youcanperformthefollo

Educational Codeforces Round 149 (Rated for Div. 2)

Problem-E-Codeforces思路:我们把比赛看成K层(0~K-1)的完美 二叉树按照题目的要求,第k层我们需要把(1我们讨论第k层输的队伍的方案数首先,我们需要把那些指定在k层这里哪个位置输的位置处理好,如果有两个队伍输在一个位置,无解。处理完后,那些还没有被特别指定哪个队伍属于这个位置的有cnt个,显然对于这些位置,当前只剩下两个空位(一个给这一层这个位置输的人,一个给这一层赢的人),如果赢的人位置没有指定,显然输的人可以任取这两个位置其中一个,如果指定,只能取剩下的一个所以我们也要处理1~(1所以这一层贡献的方案数就是,A为排列,tmp表示这些cnt位置如果有一个是有两个没有指

Educational Codeforces Round 132 div.2 A-F题解

视频讲解:TBDA.ThreeDoors题目大意有333个门和333把对应的钥匙。其中222把钥匙分别在222扇门后,111把在手上。打开门才能获得门后的钥匙,问能否打开所有的门。题解判断前两次开的门后,是否有钥匙即可。参考代码#includeusingnamespacestd;typedeflonglongll;intmain(){ intT,x,a[5],now; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&x,&a[1],&a[2],&a[3]); now=3^2^1^a[1]^a[2]^a[3]; if(a[now]==0||a[

Educational Codeforces Round 132 div.2 A-F题解

视频讲解:TBDA.ThreeDoors题目大意有333个门和333把对应的钥匙。其中222把钥匙分别在222扇门后,111把在手上。打开门才能获得门后的钥匙,问能否打开所有的门。题解判断前两次开的门后,是否有钥匙即可。参考代码#includeusingnamespacestd;typedeflonglongll;intmain(){ intT,x,a[5],now; scanf("%d",&T); while(T--) { scanf("%d%d%d%d",&x,&a[1],&a[2],&a[3]); now=3^2^1^a[1]^a[2]^a[3]; if(a[now]==0||a[
12