| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Codeforces Round #807 (Div. 2) A-C -> 正文阅读 |
|
[数据结构与算法]Codeforces Round #807 (Div. 2) A-C |
作者:B.%20Mark%20the%20Dust%20Sweeper |
目录 C. Mark and His Unfinished Essay 题目A. Mark the Photographer题意:给你 2*n个数, 一个数x, 要求把这2n个数分成2组, 保证其中一组每个数都比另一组的数大x, 即. 思路:把这2n个数sort下, 截取成两段, 逐个对应判断是否存在即可, 有点贪心思想. code:?????????
B. Mark the Dust Sweeper题意:题目给的题意不明确, 大概意思就是给你个n个正数, 对于 1~n 你可以任选 i, j在这范围之内 进行 ai = ai - 1, aj = aj + 1, (需要保证为正), 问你最少多少次使得 1~n-1的数全为0? 描述的可能不太清晰... 思路:根据下面的提示来看似乎不能一直选j=n??? 观察样例 + 猜想 + 结合实际吸尘器不能跳着吸只能顺着推可知, ans = (1~n-1的ai) + (1~n-1相邻的正数相差的0的数量即间隔数); 不知道怎么证明??? code:
C. Mark and His Unfinished Essay题意:给你个长度n的字符串, 每次可截取l, r 放在字符串的末尾使得字符串的长度跟着增长, 进行完上述操作给你k个询问, 每个询问给你个位置, 输出增长完的字符串的对应字符是什么? 思路:l, r 都是1e18显然模拟会超时, 开始一直想着hash来做, 我的做法可能会fst...但pretest过了 code: 通过他最大每次可能给30次修改, 想到可以溯源每个pos映射在原来s串的位置 具体解释下的话如下: 一个样例:n=4,m=3,k=1,s="mark" 4 3 1 三次修改, 一次查询 我们用newl表示新增区间l, newr同理, len表示新增区间的长度. markmark?l = 1, r = 4, newl = 5, newr = 8, len = 4 markmarkmar??l = 5, r = 7, newl = 9, newr = 11, len = 3 markmarkrkmark??l = 3, r = 8, newl = 12, newr = 17, len = 6 对于pos = 10, 它是由l=5,r=7区间变成的, 则pos相当于其中的 x = 6! 因此我们可以把pos设置成pos = 6!!! 同理pos=6 -> pos=newl - l + pos!!! 因此我们的过程大致为: 1)读入s,n,m,k, 设置SZ=s.size() (以后要更新会增长) 2)读入l, r 对于每组l,r, 记录其新老l,r到结构体数组p中 即len, 更新SZ 3)sort下p, 方便之后找, 当然不sort估计也行 4)查询过程, 对于每个pos, 进行溯源, 知到pos 在 1~n之间为止! 得解 要是没有fst那证明这个做法可行的, 但感觉应该是对的. code:
总结:1)简单题思路形成慢, 2)过于依赖翻译 3)有时候写一半发现漏掉条件/读了假题 ->这次的B 4)会在细节出问题, ->这次的C, 结构体里忘记开LL, len忘开LL导致出现负数溢出, 血亏. 毕竟是菜狗, 第一次赛时出c已经挺高兴了, update: 开测了QAQ 没FST, 好耶LOL |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:37:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |