DP\text{DP}DP :


B. Yaroslav and Two Strings

题意:

如果两个只包含数字且长度为 n(1≤n≤105)n(1\leq n\leq 10^5)n(1≤n≤105) 的字符串 sss 和 www 存在两个数字 1≤i,j≤n1\leq i,j\leq n1≤i,j≤n,使得 si<wi,sj>wjs_i<w_i,s_j>w_jsi​<wi​,sj​>wj​,则称 sss 和 www 是不可比的。现在给定两个包含数字和问号且长度为 nnn 的字符串,问有多少种方案使得将所有问号替换成0到9的数字后两个字符串是不可比的?

思路:这种存在性的 DP ,可以将存在性与否另开一维,方便转移。

这一题定义 dp(i,0/1,0/0)dp(i,0/1,0/0)dp(i,0/1,0/0) 表示当前当前考虑到第 iii 位,当前否/是存在 iii 使得 si<wis_i < w_isi​<wi​ ,当前否/是存在 iii 使得 si>wis_i > w_isi​>wi​ 。枚举转移即可。

AC代码:https://codeforces.com/contest/296/submission/180167226


D. Pawn

题意:

一个大小为 n×m(2≤n,m≤100)n\times m(2\leq n, m\leq 100)n×m(2≤n,m≤100) 国际象棋棋盘最底行站了一个兵。 它只有两种行动方式: 向上左或向上右走。 它可以选择从最低行哪个节点开始他的旅程。

每个格子上有 0−90-90−9 颗豌豆,而士兵想移动到最上一行并且积累到尽可能多的豌豆。同时,因为这个士兵必须把豌豆平均分给自己和他的 k(0≤k≤10)k(0\leq k\leq 10)k(0≤k≤10) 个兄弟,他所收集到的豌豆必须是 k+1k+1k+1 的倍数。请找到他可以收集到的最多豌豆,并确定他的操作序列。

规定士兵不能手动扔出豌豆,并且他必须捡起所到达的每一个格子的所有豌豆。

思路:简单 DP ,但是输出有点麻烦。

AC代码:https://codeforces.com/contest/41/submission/180170105


构造题( ∗1700∼∗2000^*1700\sim ^*2000∗1700∼∗2000 ):


D. Traps

题意:

这里有 n(1≤n≤2⋅105)n(1\leq n\leq 2\cdot 10^5)n(1≤n≤2⋅105) 个陷阱,你需要按照给出的顺序穿过这些陷阱,每个陷阱将会对你造成 aia_iai​ 的伤害

你有至多 k(1≤k≤n)k(1\leq k\leq n)k(1≤k≤n) 次机会跳过这些陷阱,可以避免你所跳过的陷阱给你造成的伤害,不过接下来的所有陷阱都会给你多造成 111 点伤害

跳过陷阱所造成的额外伤害会叠加,如果你当前已经跳过了 333 个陷阱,接下来的陷阱给你造成的伤害将会是 ai+3a_i +3ai​+3

现在需要你求出受到的最小伤害

题意:我们考虑跳过一个陷阱之后答案会减少多少,分成两个来考虑。如果不考虑跳跃之间的影响,跳过 ai(1≤i≤n)a_i(1\leq i\leq n)ai​(1≤i≤n) 会减少 ai−(n−i)a_i-(n-i)ai​−(n−i) 。额外考虑跳跃之间的影响,如果跳跃了 mmm 次,那么伤害会减少 Cm2=m⋅(m−1)2C_m^2=\frac {m\cdot (m-1)} 2Cm2​=2m⋅(m−1)​ 。

AC代码:https://codeforces.com/contest/1684/submission/180173211


A. Dreamoon Likes Coloring

题意:

给定长为 nnn 的格子和 mmm 种颜色。

Dreamoon 会依次刷这 mmm 种颜色,对于第 iii 种颜色,他会从第 pip_ipi​ 格开始刷到第 pi+li−1p_i+l_i-1pi​+li​−1 格。pip_ipi​ 不能超过 n−li+1n-l_i+1n−li​+1 或小于 111,这样会超出格子。

您的任务是找出一组 pip_ipi​,使得 Dreamoon 刷完所有颜色之后每种颜色至少出现了一次,且每个格子都被刷上了颜色。

1≤m≤n≤1051 \leq m \leq n \leq 10^51≤m≤n≤105,1≤li≤n1 \leq l_i \leq n1≤li​≤n

思路:首先,1. 无重叠可以覆盖完 2. 紧贴着向左放可以放得下是两个必要条件。

然后构造的话,先把所有长度从左到右紧贴着左侧放置,然后如果右侧没有被覆盖的话,就把最后一个区间移过去;如果还不行,就把次末区间向后移致紧挨着最后一个。依此类推,知道可以覆盖整区间。

AC代码:https://codeforces.com/contest/1329/submission/180175688


C. Engineer Artem

题意:

给出一个 n×mn\times mn×m 的矩阵 aaa(1≤n,m≤1001\le n,m\le 1001≤n,m≤100),其中 1≤ai,j≤1091\le a_{i,j}\le 10^91≤ai,j​≤109。

定义一个矩阵是合法的当且仅当没有任何两个相邻的元素是相等的(上下左右为相邻)。

你可以将矩阵中若干个元素加一,使其合法,输出最终矩阵。

形式化地,对于每个 (i,j)(i,j)(i,j),bi,j=ai,jb_{i,j}=a_{i,j}bi,j​=ai,j​ 或者 bi,j=ai,j+1b_{i,j}=a_{i,j}+1bi,j​=ai,j​+1,输出合法的 bbb 矩阵。

ttt 组数据(t≤10t\le 10t≤10)。

思路:诈骗题。我们可以发现元素要么奇数要么偶数,我们将矩阵构造为奇偶相邻的即可。

AC代码:https://codeforces.com/contest/1438/submission/180183834

D. Replace by MEX

题意:

给一个序列AAA,每次操作可以选定一个位置ppp,令ap=a_p=ap​=这个序列的mexmexmex。你需要进行若干次操作,使得这个序列单调不降。操作次数不能超过2n2n2n。

n≤1000,ai∈[0,n]n \leq 1000,a_i \in [0,n]n≤1000,ai​∈[0,n]。

题解:Replace by MEX

思路:手玩样例,发现如果当前 mexmexmex 满足 mex>0mex>0mex>0 ,那么可以直接赋值为 a[mex]=mexa[mex]=mexa[mex]=mex 。如果当前 mex=0mex=0mex=0 ,那么找到一个 a[i]≠ia[i]\neq ia[i]=i 的元素,将 mex=0mex=0mex=0 赋值给他,然后就能再次赋值了。

这样构造出来的序列为 [1,2,3,⋯n][1,2,3,\cdots n][1,2,3,⋯n] 。而且容易知道每次赋值 mex>0mex>0mex>0 的一定满足赋值之前 a[mex]≠mexa[mex]\neq mexa[mex]=mex 。

AC代码:https://codeforces.com/contest/1375/submission/180192769

【11.9】Codeforces 刷题相关推荐

  1. CodeForces刷题:Theatre Square、Watermelon、Chat Server‘s Outgoing Traffic、Triangle、Die Roll

    记录Codeforces刷题QAQ 一.Theatre Square 题面翻译 用 $ a \times a$ 的石板覆盖 $n \times m $ 的长方形广场,允许石板覆盖的区域超出广场,不允许 ...

  2. 【Python爬虫实战】codeforces刷题记录小助手

    先看效果图. 输入codeforces的用户名,可以查询用户的rating信息.以及参加比赛的信息(大星参数的不计算在内).还有总的AC数. 一.需求分析 找到显示用户参加contest信息的url. ...

  3. Codeforces 刷题记录(已停更)

    Codeforces 每日刷题记录 (已停更) 打'+'是一些有启发意义的题目,部分附上一句话题解,每日更新3题,大部分题目较水. Day ID Problem Tutorial Note 1 1 + ...

  4. CodeForces刷题C语言:What is for dinner?、Reconnaissance 2、Shell Game、Extra-terrestrial Intelligence、Extra

    记录洛谷刷题c语言QAQ 一.What is for dinner? 题面翻译 题面描述 鲨鱼有 n n n 颗牙齿,分别分布于 m m m 行上,第 i i i 颗牙齿有一个初始活力值 c i c_ ...

  5. CodeForces刷题C语言:Next Test、Spit Problem、Traffic Lights、Reconnaissance、Borze

    记录洛谷刷题C语言 一.Next Test 题面翻译 题面描述 给出 nnn 个互不相同的整数 aia_iai​ ,从小到大找第一个没有出现过的整数. 输入格式 第一行一个正整数 nnn ,之后是 n ...

  6. Codeforces刷题

    Codeforces100套刷题 Codeforces Round #506 (Div. 3) Educational Codeforces Round 49 (Rated for Div. 2) A ...

  7. 【4.29】Codeforces 刷题

    C1. Pokémon Army (easy version) 题意:给出一个序列 aaa ,要求求出一个单调递增的下标序列 bbb ,使得 ans=ab1−ab2+ab3−ab4+...ans=a_ ...

  8. 2022.11.14每日刷题打卡

    过山车 原题链接:传送门 二分图最大匹配模板题,但sb了数组开小了一直TLE,虽然是模板但很长教训. #include <bits/stdc++.h> using namespace st ...

  9. 一个算法笨蛋的12月leetCode刷题日记

    类似文章 一个算法笨蛋的2021年11月leetCode刷题日记 一个算法笨蛋的2021年12月leetCode刷题日记 一个算法笨蛋的2022年1月leetCode刷题日记 一个算法笨蛋的2022年 ...

最新文章

  1. leetcode @38报数-js
  2. solidity mapping of mapping
  3. spring elasticsearch 按条件删除_实战:项目数据源转为Elasticsearch
  4. 大数据学习笔记28:MR案例——多输出源处理成绩
  5. 严蔚敏数据结构c语言版第二版思维导图
  6. win10关闭计算机休眠,小编教您win10怎么关闭休眠 win10关闭系统休眠方法
  7. R 语言图形函数 par()参数应用举例
  8. 以太网链路捆绑原理实验
  9. dnc开源梦之队2018 开源项目精选集
  10. 亚马逊云科技平台上的无服务器 WebSocket
  11. scanf提取gprmc数据
  12. js判断手机的横竖屏调整样式
  13. BZOJ 4430 Guessing Camels赌骆驼
  14. python实现图书管理系统——通过excel文件或者TXT文件存放数据
  15. 使用正则表达式批量替换掉 空格及换行符
  16. 开发笔记——vue echarts图表在切换页面大小时缩成一团
  17. 有插件有技巧,Sketchup牛人必备!
  18. SQL生成临时表id自增列
  19. 联想g470散热_联想G470风扇声音很大怎么处理,散热也不好了。
  20. 深度学习论文: Scaling Up Your Kernels to 31x31: Revisiting Large Kernel Design in CNNs及其PyTorch实现

热门文章

  1. 联想B450笔记本拆解步骤
  2. 色谱级免疫球蛋白——人IgG全分子相关研究
  3. 服务器更换ssl证书后,手机访问微信小程序异常
  4. 功能展示——Android底部导航栏复古风TabHost实现
  5. WOW插件:ShortKey 4.7 发布(2009.9.27)
  6. python统计库存_通过Python中的pandas将每日库存数据转换为每周库存数据
  7. breakall lisp文件_dwg导入SU的准备工作.doc
  8. 爬虫--09:反爬机制
  9. 超声波测距传感器模HG-C40U工作程序图文详解
  10. 炉石传说 android手机版本区别,《炉石传说》安卓手机版体验:为不改而改(2)