题解
AnKh_Ezra
所谓英雄,在想要成为他的瞬间就已经失去了资格
展开
-
程序设计思维 大模拟-4
猫睡觉问题 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小原创 2020-06-13 16:19:30 · 267 阅读 · 0 评论 -
程序设计思维 大模拟-3
团队聚会 题目描述 TA团队每周都会有很多任务,有的可以单独完成,有的则需要所有人聚到一起,开过会之后才能去做。但TA团队的每个成员都有各自的事情,找到所有人都有空的时间段并不是一件容易的事情。 给出每位助教的各项事情的时间表,你的任务是找出所有可以用来开会的时间段。 输入格式 第一行一个数T(T≤100),表示数据组数。 对于每组数据,第一行一个数m(2 ≤ m ≤ 20),表示TA的数量。 对于每位TA,首先是一个数n(0≤ n≤100),表示该TA的任务数。接下来n行,表示各个任务的信息,格式如下 Y原创 2020-06-13 16:04:38 · 343 阅读 · 0 评论 -
程序设计思维 大模拟-2
掌握魔法の东东Ⅱ 从瑞神家打牌回来后,东东痛定思痛,决定苦练牌技,终成赌神! 东东有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为a,范围区间是 0 到 A - 1)和一个花色(整数,记为b,范围区间是 0 到 B - 1。 扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。 “一手牌”的意思是你手里有5张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成一个牌型。 我们定义了 9 种牌型,如下是 9 种牌型的规则,我们用“低序号优先”来匹配牌型,即这“一手牌”从上原创 2020-06-13 15:22:54 · 297 阅读 · 0 评论 -
程序设计思维 大模拟-1
A-化学 化学很神奇,以下是烷烃基。 假设如上图,这个烷烃基有6个原子和5个化学键,6个原子分别标号1~6,然后用一对数字 a,b 表示原子a和原子b间有一个化学键。这样通过5行a,b可以描述一个烷烃基 你的任务是甄别烷烃基的类别。 原子没有编号方法,比如 1 2 2 3 3 4 4 5 5 6 和 1 3 2 3 2 4 4 5 5 6 是同一种,本质上就是一条链,编号其实是没有关系的,可以在纸上画画就懂了 Input输入第一行为数据的组数T(1≤T≤200000)。每组数据有5行,每行是两个整数a,原创 2020-06-13 08:29:47 · 381 阅读 · 0 评论 -
程序设计思维CSP-M4 赛后整理
TT数鸭子 这一天,TT因为疫情在家憋得难受,在云吸猫一小时后,TT决定去附近自家的山头游玩。 TT来到一个小湖边,看到了许多在湖边嬉戏的鸭子,TT顿生羡慕。此时他发现每一只鸭子都不 一样,或羽毛不同,或性格不同。TT在脑子里开了一个map<鸭子,整数> tong,把鸭子变成了 一些数字。现在他好奇,有多少只鸭子映射成的数的数位中不同的数字个数小于k。 输入描述 输入第一行包含两个数n,k,表示鸭子的个数和题目要求的k。 接下来一行有n个数,aia_iai,每个数表示鸭子被TT映射之后的值。原创 2020-06-12 18:43:44 · 219 阅读 · 0 评论 -
程序设计思维CSP-M3 赛后整理
瑞神的序列 瑞神的数学一向是最好的,连强大的咕咕东都要拜倒在瑞神的数学水平之下,虽然咕咕东很苦恼,但是咕咕东拿瑞神一点办法都没有。 5.1期间大家都出去玩了,只有瑞神还在孜孜不倦的学习,瑞神想到了一个序列,这个序列长度为n,也就是一共有n个数,瑞神给自己出了一个问题:数列有几段? 段的定义是位置连续的数值相同的最长整数序列 Input 输入第一行一个整数n,表示数的个数 接下来一行n个空格隔开的整数,表示不同的数字 Output 输出一行,这个序列有多少段 Sample input 12 2 3 3 6 6原创 2020-06-12 11:34:25 · 226 阅读 · 0 评论 -
程序设计思维CSP-M2 赛后整理
HRZ的序列 相较于咕咕东,瑞神是个起早贪黑的好孩子,今天早上瑞神起得很早,刷B站时看到了一个序列a,他对这个序列产生了浓厚的兴趣。 他好奇是否存在一个数K,使得一些数加上K,一些数减去K,一些数不变,使得整个序列中所有的数相等。 其中对于序列中的每个位置上的数字,至多只能执行一次加运算或减运算或是对该位置不进行任何操作。 由于瑞神只会刷B站,所以他把这个问题交给了你! Input 输入第一行是一个正整数t表示数据组数。 接下来对于每组数据,输入的第一个正整数n表示序列a的长度,随后一行有n个整数,表示序列原创 2020-06-12 10:42:16 · 200 阅读 · 0 评论 -
程序设计思维CSP-M1赛后整理
咕咕东的奇遇 咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。 Input 输入只有一行,是一个字符串。 Output 输出最少要转的次数。 Sample input zeus Sample output 18 解题思路 签到题,对于每次找字幕判断顺时针转比较近还是原创 2020-06-12 09:09:43 · 204 阅读 · 0 评论 -
程序设计思维月模拟4 CSP201809-3 元素选择器
思路 看到题目还以为是化学背景的题,仔细读题后发现里面的细节问题很多,由于写这类复杂模拟题不熟练,一时间想不到好的解决办法。 回顾这道题,整理了一些关键的点,也适合再遇到这类模拟题时寻找写代码的切入点。 ①元素统一格式开结构体,没有ID就设为空值。因为是在树结构上查找而且没有修改结构的操作,用下标记录每个元素所处的level ②字母一律转为小写,和①都体现了格式统一化的思想,看上去增加了开支但实际上省去不少麻烦 ③查询有多个字符串的情况,由最后一个往上层去查找 其余要强调的部分写在注释里 #inclu...原创 2020-06-10 19:34:23 · 219 阅读 · 0 评论 -
程序设计思维月模拟3 CSP201604-3 路径解析
操作系统的网课学得并不理想 样例输入 7 /d2/d3 /d2/d4/f1 …/d4/f1 /d1/./f1 /d1///f1 /d1/ /// /d1/…/…/d2 样例输出 /d2/d4/f1 /d2/d4/f1 /d1/f1 /d1/f1 /d1 / /d2 解题思路 经典的读题半小时系列,输入的每一个相对路径可以看作找目标位置的一个过程,跟着每一句跑一遍把结果表示出来就行了。很能体现栈的思想,也依然是一个很适合用vector的题目,写起来简便看起来明白。 输入中每个‘/’字符后面的目录名字(或者理原创 2020-06-10 19:02:19 · 258 阅读 · 0 评论 -
程序设计思维月模拟题2-CSP201609-3 炉石传说
以我开卡包的水平这游戏只能叫炉石稀有 问题描述 本题所使用的炉石传说游戏的简化规则如下: * 玩家会控制一些角色,每个角色有自己的生命值和攻击力。当生命值小于等于 0 时,该角色死亡。角色分为英雄和随从。 * 玩家各控制一个英雄,游戏开始时,英雄的生命值为 30,攻击力为 0。当英雄死亡时,游戏结束,英雄未死亡的一方获胜。 * 玩家可在游戏过程中召唤随从。棋盘上每方都有 7 个可用于放置随从的空位,从左到右一字排开,被称为战场。当随从死亡时,它将被从战场上移除。 * 游戏开始后,两位玩家轮流进行原创 2020-06-10 18:48:02 · 255 阅读 · 0 评论 -
程序设计思维月模拟题1-CSP201512-3 画图
样例输入 4 2 3 1 0 0 B 0 1 0 2 01 0 0 B 0 1 0 2 0 1 0 0 A 样例输出 AAAA A–A 样例输入 16 13 9 0 3 1 12 1 0 12 1 12 3 0 12 3 6 3 0 6 3 6 9 0 6 9 12 9 0 12 9 12 11 0 12 11 3 11 0 3 11 3 1 1 4 2 C 样例输出 解题思路 在大一下专业分流的时候考了这道题,但是当时搞了半天也没有拿到满分。这次仔细一看发现这道题的整体思想并不难。对于画边界情况,注意.原创 2020-06-10 18:37:12 · 205 阅读 · 0 评论 -
【HYSBZ 1257】余数之和 数论分块(棒读)
其实很多人都说是打表找个规律就过了,不过既然我们是来学分块的,当然要用相应的知识去做,考试的时候再打表 。 分块可以把一些O(n)或复杂度更高的过程优化到O(√n)。对于整数n及i(1 < i < n),floor(n/i)的结果最多有2√n种(分i <√n和i > √n两种情况来考虑一下),又floor(n/i)相等的i可能有多个,手写式子简单推一下可以算出来满足floo...原创 2019-08-07 18:39:50 · 225 阅读 · 0 评论 -
It's a Mod, Mod, Mod, Mod World【类欧几里德模板】
题目链接 昨天比赛真的考了一个模板题。然而对于没有学过这个算法的我来说emmmm 这里考的是最基本的类欧几里得算法,用来算 推倒过程可以参考这篇博客,写得比较容易理解。 本题要求和的这个式子稍有不同,变通一下,考虑模数计算的原理,可以知道a mod b = a - floor(a/b)*b,代入上面那个式子可以得到要求的结果ans = p × n(n+1)/2 - q × Σ[pi / q] 直接...原创 2019-08-05 18:33:58 · 669 阅读 · 3 评论 -
Gym102141 E 解题报告
由于某些人实在是太强了,提前刷过今天的比赛题,所以ash学长又临时换了题,然后我就原地爆炸了OmO。后来想了想,心态和思维能力不过关是这次爆炸的原因(其实也是菜的一种)。赛后看学长的博客提了一句这题是用set乱搞,我以前也没学好stl,又搜了搜博客,知道set存的数都是有序的,而且插入操作复杂度是logN,最后也是搞出了这个做法。其实代码看着很简单,还是思维的问题。 题目链接 大意是给一个字符串,...原创 2019-07-30 21:39:20 · 233 阅读 · 0 评论 -
Gym 101510C,今日排位(被虐)唯一收获
这是我写过最难受的二分,感觉还是思维不够巧妙,输给了经验不足,实在是羡慕那些看出这题是二分且一发过的dalao。 题目链接 题目大意是给一列数和一个k,求一个区间长度L,使以某一位置为起点的某一长度为L的区间包含给出的n个数中的k个,且第i的区间必须包含a[i]。n最大为2e5。 整理后的题意应该比较容易看懂,其实区间位置是任意的,管他哪个区间包含a[i],只要满足条件顺序其实不重要。 看懂了样例...原创 2019-07-28 17:38:44 · 268 阅读 · 1 评论