codefroces problemset

 

D. Not Adding https://codeforces.com/problemset/problem/1627/D

description

找出集合n中任意子集的gcd集合,求集合的个数(ai<=1e6)

solution

观察到 ai 的数据范围,可以知道子集的元素都是1e6的范围内,那么我们枚举 x(1-1e6) 。

对于x,找出所有他的倍数,如果这些倍数的gcd==x。

View Code

 

 

D1. Game on Sum (Easy Version) https://codeforces.com/problemset/problem/1628/D1

description

博弈+概率。Alice选择一个数,Bob选择正负(但选择正的次数不能超过m次)

solution

参考博客:https://blog.csdn.net/qq_51690312/article/details/122710359

取平均值

(没给概率p时,就先求概率或一个数的期望,不好求时,直接dp。n=2000,范围不大的,能直接去想dp,就看n的范围,先看范围!)

(有逆元:说明分母是离我们比较近的,例如:2^n , 2)

View Code

 

 

https://codeforces.com/problemset/problem/1632/D

D. New Year Concert

description

求出最小修改的次数,使得不存在gcd(a[l]..a[r])!=(r-l+1)

solution

我们可以发现,对于同一端点,随着长度的在增加,gcd减少,那么我们可以使用双指针维护

对于每次修改,改成无穷大质数,那么相当于一个墙

需要用到 st 表维护区间gcd

View Code

 

 

https://codeforces.com/problemset/problem/1635/D

D. Infinite Set

description

 求集合最终的不超过pow(2,p)的个数

solution

可以发现,一个是左移一位加一,另一个数左移两位。用进制位进行dp

不过要消除重复的,比如1000与10,比赛的时候就卡在这里!!那么我们可以从小到大枚举,如果大的数可以被小的数通过变换得到, 那么就相当消除这个元素

View Code

 

 

 

https://codeforces.com/problemset/problem/1637/E

E. Best Pair

description

找出最大的(x+y)*(cntx+cnty), cnti即i在数组中年出现的次数

solution

我们可以发现,用cnt相同作为分组,这样组数不超过 sqrt(n) 。然后我们只需要枚举 cnt ,贪心的选择cnt里面尽可能大的即可

组内排序,二分查找是否在bad。尽早break。

View Code

 

 

https://codeforces.com/problemset/problem/1638/D

D. Big Brush

description

涂色,每次只可以涂2*2矩阵,求最终完成给出的图案的策略。

solution

bfs,将后覆盖的加入队列里,那么在后覆盖的地方,可以铺任意颜色。

View Code

 

 

链接:https://codeforces.com/contest/1624/problem/E

E. Masha-forgetful

description

给出n个串,长度为m。找出n个串中所有的子串拼凑成 s 的方案

solution

dp,每个s分成以两个或三个为单位,dp即可

View Code

 

https://codeforces.com/contest/1622/problem/D

D. Shuffle

description

可以选择其中恰好有k个1的子串,进行任意排序,最多执行一次操作,求最后能形成多少个不同的串

solution

双指针,枚举每个左端点,找尽可能后的右端点,计算排列组合,去重上一个(l+1,r)的答案

View Code

 

 

https://codeforces.com/problemset/problem/1644/D

D. Cross Coloring

一道相对简单的D题,不过我T了,是因为题目没有保证多有的n加起来不超过1e5

然后我就用vector动态开数组了,动态开数组初始化时超时了O(N)!!!!!

 

 

C. Paint the Middle

description

给一个数组,可以进行操作:选择(x<y<z<=n),且ax=az=0,那么可以将ay=1,求最后的和最大

solution

尽可能早最长的区间,并且找交替的延长,贪心

View Code

题解:线性dp

https://blog.csdn.net/m0_51422323/article/details/122895344

 

 

https://codeforces.com/problemset/problem/1627/E

E. Not Escaping

description

逃出去,有梯子可以从低楼层到高楼层,楼层之间走动的代价的dis*xi

solution

对于同一楼层,发现具有单调性,左右遍历一次,dp记录最小值即可。

注意什么放在while里面。。

View Code

 

 

https://codeforces.com/contest/1622/problem/E

E. Math Test

description

n个学生的期望成绩,和n个学生对m道题目的对错,求出一个排列p,表示每道题的得分。

求期望与实际得分的绝对值最大是多少 (n<=10,m<=1e4)

solution

(1<<n) = 1024,每个学生对答案的贡献要么是 (x-r),要么是(r-x)。那么我们枚举每个学生是这两种贡献情况,然后找出最大值。

对于每种情况的组合,+ 前者尽可能大,- 后者尽可能小,那么我们对(sum[+]-sum[-])排序

View Code

 

 

链接:F-交换_牛客小白月赛45 (nowcoder.com)

F.交换

description

选择指令操作集中的一段子串从前往后按顺序执行指令来完成任务。对于每个任务,输出最短可完成任务指令数长度。

solution

字典树上记录dp

View Code

 

 

 链接:Problem - 1646D - Codeforces

D. Weight the Tree

description

给定一个节点为n的树。当一个结点的权值等于周围结点的权值时,这个结点是good。权值由我们自己决定,求最多的good结点,若有多组答案,输出权值和最小的那个。

solution

当n==2时,两个结点都为good结点,权值都为1

当n>2时,一条边的两个结点不可能同时为good结点,于是就可以dp。我们可以让good结点等于他的度,不是good的结点权值为1,这样就能保证权值和最小。
定义数组PII f[i][2] 其中f[i][1]代表当根结点为i时且该结点为good结点,在子树中能形成的最多good结点及其最小权值。 同理f[i][1] 代表i不是good结点…
有上面的分析可知f[u][1] 只能从f[j][0]转移而来,f[u][0]可以从f[j][1]和f[j][0]中的较大者转移而来。

View Code

 

 

链接:Problem - 1641C - Codeforces

 C. Anonymity Is Important

 description

Sam 医生有 n nn 个病人排成一排等候,接下来有 q个事件依次发生,属于以下两种类型:

l r x ,检查报告指出从左到右第 l 个到第 r 个人无人生病(x=0)或至少有一人生病(x=1)。
j ,Sam 想知道从左到右第 j jj 个人一定生病、一定无病,还是有可能得病。
对于每次 Sam 的询问,你需要输出答案(一定生病 YES,一定无病 NO,有可能得病 N/A)。

solution

可以看出 x = 1  的限制区间的性质,如果一个区间完全包含另一个区间,那么大的区间就没有用。

于是,把所有区间按左端点从小到大排序,那么右端点也是单增的。我们可以用 set 简单维护这个序列,每次加入一个区间就把它前面覆盖它的区间删除,或者如果覆盖了后面的区间就把它删除。

把不可能得病的人排除,也可以用一个 set 维护,每次把区间中最靠左的一个没被排除的人暴力删去就是了。

查询的时候,我们可以轻易得到 j 前面最近的未排除病人 i 和后面最近的未排除病人 k ,查找从左到右第一个左端点大于 i  的区间 [ l , r ] (同时也是满足条件的 r 最小区间),如果 r < k 说明此区间唯一覆盖 j  。

 
View Code

 

 

链接:Problem - 1641C - Codeforces

E. Expand the Path

description

D:下,R:右,可以用DD去代替D,同理R,求不超过边界的合法的可以走到的格子个数

solution

当还未遇到R之前,不适合进行偏移,那么就会有部分空白面积,当遇到R之后,可以计算第一个R之后右移动了多少记为cx,下移动了多少记为cy,留白面积就是cx*cy 

View Code
View Code

 

 
2022-03-10 18:13:13
 
 
 
posted @ 2022-03-11 20:15  issleac  阅读(87)  评论(0)    收藏  举报