
基础算法
Wa_Automata
这个作者很懒,什么都没留下…
展开
-
ZZULIOJ 2521: 文本修正
Chika接到了去检查河南省算法竞赛题面的任务,她发现所有单词"Henan"的首字母都没有大写。她需要去修正文本中的所有错误。换句话说,她需要把所有单词"henan"的首字母从"h"替换为"H",同时保留文本的其余部分不变。输入文件仅包含一行,包含被空格分割开的单词,代表Chika被要求去检查的文本。输入的字符总数不超过200,只含有大小写字母和空格。要注意,只有被空格分割开的仅包含字母的连续串才被称为“单词”。输出文件应该只包含一行,代表你修正后的文本。原创 2023-11-30 20:04:20 · 574 阅读 · 0 评论 -
“战疫杯”大学生程序设计在线邀请赛(4)2 今晚吃鸡
#include<iostream>using namespace std;int main(){ int a1,b1,c1;cin>>a1>>b1>>c1; int a2,b2,c2;cin>>a2>>b2>>c2; int n;cin>>n; for(int i=0;i<n;i++) { string op,s;cin>>op>>s; if(op=="7.原创 2022-05-12 22:14:03 · 262 阅读 · 3 评论 -
PTA L1-096 谁管谁叫爹 (20 分)
咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。不妨设游戏中的两个人为 A 和 B。游戏开始后,两人同时报出两个整数NA 和NB。原创 2023-04-23 09:14:23 · 4200 阅读 · 0 评论 -
PTA L1-095 分寝室 (20 分)
学校新建了宿舍楼,共有n间寝室。等待分配的学生中,有女生n0 位、男生n1位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。现请你写程序完成寝室的自动分配。原创 2023-04-23 09:08:01 · 5670 阅读 · 2 评论 -
PTA L1-094 剪切粘贴 (15 分)
使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。abcdefg35cdeabfg1bfgabfcdeg每次操作后的字符串即为新的当前字符串。在若干次操作后,请给出最后的编辑结果。原创 2023-04-23 08:54:19 · 4527 阅读 · 7 评论 -
PTA L1-093 猜帽子游戏 (15 分)
宝宝们在一起玩一个猜帽子游戏。每人头上被扣了一顶帽子,有的是黑色的,有的是黄色的。每个人可以看到别人头上的帽子,但是看不到自己的。游戏开始后,每个人可以猜自己头上的帽子是什么颜色,或者可以弃权不猜。如果没有一个人猜错、并且至少有一个人猜对了,那么所有的宝宝共同获得一个大奖。如果所有人都不猜,或者只要有一个人猜错了,所有宝宝就都没有奖。下面顺序给出一排帽子的颜色,假设每一群宝宝来玩的时候,都是按照这个顺序发帽子的。然后给出每一群宝宝们猜的结果,请你判断他们能不能得大奖。原创 2023-04-22 22:37:31 · 6507 阅读 · 1 评论 -
PTA L1-092 进化论 (10 分)
在“一年一度喜剧大赛”上有一部作品《进化论》,讲的是动物园两只猩猩进化的故事。猩猩吕严说自己已经进化了 9 年了,因为“三年又三年”。猩猩土豆指出“三年又三年是六年呐”……本题给定两个数字,以及用这两个数字计算的结果,要求你根据结果判断,这是吕严算出来的,还是土豆算出来的。原创 2023-04-22 22:11:43 · 4003 阅读 · 0 评论 -
PTA L1-091 程序员买包子 (10 分)
这是一条检测真正程序员的段子:假如你被家人要求下班顺路买十只包子,如果看到卖西瓜的,买一只。那么你会在什么情况下只买一只包子回家?本题要求你考虑这个段子的通用版:假如你被要求下班顺路买 $N$ 只包子,如果看到卖 $X$ 的,买 $M$ 只。那么如果你最后买了 $K$ 只包子回家,说明你看到卖 $X$ 的没有呢?原创 2023-04-22 21:16:21 · 3991 阅读 · 0 评论 -
PTA L1-090 什么是机器学习 (5 分)
什么是机器学习?上图展示了一段面试官与“机器学习程序”的对话:原创 2023-04-22 20:43:19 · 2410 阅读 · 0 评论 -
PTA L1-089 最好的文档 (5 分)
有一位软件工程师说过一句很有道理的话:“Good code is its own best documentation.”(好代码本身就是最好的文档)。本题就请你直接在屏幕上输出这句话。原创 2023-04-22 20:38:51 · 1127 阅读 · 0 评论 -
ZZULIOJ 2981: 章节二:偶遇达达尼昂
# [ZZULIOJ 2981: 章节二:偶遇达达尼昂](http://acm.zzuli.edu.cn/problem.php?id=2981)题目描述:简单来说就是将每个物品分给四个人,然后怎样分之后,最长的花费时间最短。我们这里可以考虑状态压缩,或者 $DFS$ 爆搜。都可以实现。时间复杂度:$4^{n}$原创 2022-11-21 19:02:02 · 135 阅读 · 0 评论 -
CodeForces - 670C Cinema(排序)
Codeforces-670C Cinema#include<iostream>#include<map>#define x first#define y secondusing namespace std;typedef pair<int,int>PII;const int N = 200010;map<int,int>s;PII p[N];int a[N],b[N];int n,m;int main(){ scanf原创 2021-10-22 18:26:43 · 182 阅读 · 0 评论 -
LiberOJ - 2603. 「NOIP2012」国王游戏
# [LiberOJ - 2603. 「NOIP2012」国王游戏](https://loj.ac/p/2603)### 算法##### (贪心) $O(n^2)$我们先给出做法,再证明其正确性。做法:直接将所有大臣按左右手上的数的乘积从小到大排序,得到的序列就是最优排队方案。证明:我们记第 $i$ 个大臣左手上的数是 $A_i$,右手上的数是 $B_i$。假设当前的排队方案不是按 $A_i * B_i$ 从小到大排序的,则一定存在某两个相邻的人,满足 $A_i * B_i > A_{i原创 2022-10-17 15:48:05 · 661 阅读 · 0 评论 -
Problem I. Oshwiciqwq 的电梯
Problem I. Oshwiciqwq 的电梯日志信息关键字:时间,电梯编号,先出后进,人编号。并且是从小到大输出。- 日志信息关键字:时间,电梯编号,先出后进,人编号。- 并且是从小到大输出。原创 2022-10-10 13:33:54 · 361 阅读 · 0 评论 -
Problem G. Mocha 上大班啦
Problem G. Mocha 上大班啦- 思维题。- 概率期望套皮,其实无需处理。- 只要一列中出现过 $0$,由于进行的是“与”位运算,操作多少次都不会影响任何一个 $01$ 串第 $i$ 位的值,结果一定是 $0$。- 故直接计算初始 $01$ 串与操作后的 $1$ 的个数即为答案。原创 2022-10-10 12:53:20 · 553 阅读 · 0 评论 -
Problem F. 集合之和
Problem F. 集合之和- 思维,规律,构造。- 构造简单数集 $A = {0,1,2,\dots,k}, |A| = k$,则 $A + A = {0,1,2,\dots,2k},|A+A| = 2k + 1$。- 通过上述构造,显然当 $n$ 为奇数时一定有解,我们只需要构造满足如上规则的数集即可。- 接下来讨论 $n$ 为偶数的情况:- $|A| = 2, |A+A| = 3$,当 $n = 2$ 时无解;- $|A| =3,5\le |A+A|\le 6$,当 $n = 4$ 时原创 2022-10-10 12:43:18 · 586 阅读 · 0 评论 -
Problem E. Serval 的俳句
Problem E. Serval 的俳句 - 暴力枚举 $S_i$,统计满足的 $S'_1 \sim S'_5$,若可以找到满足的子序列,标记该字符后进入下一层循环; - 暴力枚举 $S_j$,统计满足的 $S'_6 \sim S'_{12}$,若可以找到满足的子序列,标记该字符后进入下一层循环; - 暴力枚举 $S_k$,统计满足的 $S'_{13} \sim S'_{17}$,若可以找到满足的子序列,则将上面标记的直接输出即可。原创 2022-10-10 12:38:12 · 282 阅读 · 0 评论 -
Problem A. Mocha 上小班啦
【代码】Problem A. Mocha 上小班啦。原创 2022-10-10 12:13:43 · 367 阅读 · 0 评论 -
第十三届蓝桥杯大赛软件赛决赛C/C++大学B组 J: 搬砖
这是一个经典的01背包+贪心的问题,在 洛谷 AT4545 Tower 中可以找到几乎类似的原题,以及在 算法竞赛进阶指南的AcWing 125. 耍杂技的牛 可以找到相同思想的题。原创 2022-09-02 00:58:59 · 1131 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 B - 龍
首先统计出来数组中有几段存在1的子数组,接下来有两种求最小花费的计算方式。从两种方案中取最小值就是最小花费;1.直接对所有存在1的子数组使用。,翻转在一起,最后使用一次。,使得整个数组全变为0的。原创 2022-08-22 14:02:30 · 166 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 G - 小明不希望太简单
只是选择当前最多的字符时,记录最大变量初始化为 ‘a’,比较容易出错,比如数据:aaabc。贪心选择当前最多的字符,如果和上一个选择的为同一个字符,就去选择次最多的字符。时间复杂度:O(26*n)原创 2022-08-22 13:59:56 · 149 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 H - 防风台
结构体排序:按构造难度,结构体从小到大排序,然后从小到大的修建,直到每行每列都存在一个,输出当前答案。二分:和上面思路差不多,将一个mid以下的防风台都修建了,得出最小的合法mid。可以二分或者结构体排序两种做法。原创 2022-08-22 13:13:52 · 122 阅读 · 0 评论 -
2022河南萌新联赛第(七)场:南阳理工学院 C - 机智的我
思路:去除挡板后,样本空间变小了,且我们只有样本空间中有奖部分是不变的。是 是去除挡板后随机选择一个挡板获奖的概。提示:去除无奖挡板后,其样本空间发生了变化。是最初随机选择一个挡板的获奖概率,是 ,通过计算我们可以得知,只要。率,最终更改挡板后获奖的概率是。,那么始终更改挡板最优。原创 2022-08-22 12:46:20 · 164 阅读 · 0 评论 -
2022河南萌新联赛第(六)场:郑州大学 A - 想要更多的0
代码】2022河南萌新联赛第(六)场:郑州大学。A - 想要更多的0函数作用查询 区间 1-n,x1−n,x出现的次数题目要求是 区间 0-n0−n 所以手动加上一个 00 ,二分一下答案即可原创 2022-08-15 12:49:55 · 190 阅读 · 0 评论 -
2022河南萌新联赛第(六)场:郑州大学 K - 魔法数
对于每次询问都暴力地枚举一遍质数看看哪些符合条件即可(也可以二分)。经过思考可以发现,魔法数的五个约数分别是。以内的质数,实际上只有。原创 2022-08-15 12:43:40 · 220 阅读 · 0 评论 -
2022河南萌新联赛第(六)场:郑州大学 C - 盲打
代码】2022河南萌新联赛第(六)场:郑州大学 C - 盲打。模拟,可以预处理出每个字母所在位置,输出时若为大写则输出 "3 1 " ,再输出对应字母的按键即可。原创 2022-08-14 18:24:50 · 144 阅读 · 0 评论 -
2022河南萌新联赛第(六)场:郑州大学 H - 数列求和
代码】2022河南萌新联赛第(六)场:郑州大学 H - 数列求和。本以为还需要用矩阵快速幂优化,后来发现就是一个签到题。原创 2022-08-14 18:12:58 · 142 阅读 · 0 评论 -
2022河南萌新联赛第(五)场:信息工程大学 J - AC自动机
二分左右端点,验证答案,题意不是很清楚,导致一直没有写出来。原创 2022-08-08 13:39:50 · 166 阅读 · 0 评论 -
2022河南萌新联赛第(五)场:信息工程大学 H - 小明喝奶茶
正解是用一个权值线段树什么的维护一下,取一下第K小值,但是我不会。只能打打暴力,发现数据比较水,也能过,就当练练模拟了。原创 2022-08-08 13:35:42 · 267 阅读 · 1 评论 -
2022河南萌新联赛第(五)场:信息工程大学 F - 分割草坪
的方案显然是最优的,推导一下公式就可以得出答案。之后可以发现,所有的三角形都有一个顶点为。的花费,找到花费最小的值就可以了。,然后我们就将要求的值分为。原创 2022-08-08 13:29:14 · 167 阅读 · 0 评论 -
2022河南萌新联赛第(四)场:郑州轻工业大学 E - 睡大觉
这一天,否则就向后走一天。同时需要注意的是,因为他每次至少睡1s,所以如果与我们当前的时刻相同的话也要向后推一。因为是将其换算成最近的日期,所以我们记录一个当前的时刻,如果下一个给定的时间比当前的时间大我们就可以是为仍在。天,接下来就是算出当前是哪一天判断月与日是否就相同就可以了。...原创 2022-08-02 15:55:07 · 186 阅读 · 0 评论 -
2022河南萌新联赛第(四)场:郑州轻工业大学 C - 最大公因数
两个相邻的整数是互质的,所以这里找。,那么这道题就是让我们找。原创 2022-07-31 21:45:15 · 175 阅读 · 0 评论 -
2022河南萌新联赛第(三)场:河南大学 A - 玉米大炮
对于C++选手可能需要使用__int128,或者在二分的过程提前判断是否合法。很容易发现答案具有单调性,如果花费x的时间可以击溃目标,则花费。的时间也可以击溃目标,可以直接二分答案,考虑到二分的左右区间在。...原创 2022-07-25 18:16:55 · 236 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 I - 22数
I - 22数dfsdfs 暴力时间复杂度: 2000w2000w 左右原创 2022-07-20 13:05:53 · 186 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 B - 宝石
查询乘积是否存在,可以使用C++自带的STL中的map和unordered_map。来实现,对于unordered_map的查询操作我们一般看作O(1),在本题中时间。第i个宝石在后面能找到一个宝石整除且被标记过,那么答案加一,因为要多次。对于三个数的乘积组合,可以先处理两个数的乘积,对于第i个宝石后面任。意两个宝石的乘积标记一下,然后对于第三个要用到的宝石可以枚举去找到,当。效率也是要高出map。...原创 2022-07-17 18:35:59 · 381 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 L - HPU
是无符号整数,应该转为。直接遍历找到有多少个。原创 2022-07-17 18:11:08 · 181 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 J - 签到
于以上条件可以直接对式子进行等价变形为。,且一个数可以重复选取,基。中是否存在一对相等的值即可。,所以直接求所有可能的。原创 2022-07-17 18:06:33 · 219 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 G - 无限
因为本题的dp方程是线性递推式子,故可以手动求出前几项,根据递推方式,推出答案。原创 2022-07-17 18:02:27 · 167 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 F - 手办
是有理数的数字选出来,依次交给。所以最终可以直接判断,将满足。原创 2022-07-17 17:58:43 · 159 阅读 · 0 评论 -
2022河南萌新联赛第(二)场:河南理工大学 C - 斩龙
加入战斗后,当我们伤害能一下击败一只。原创 2022-07-17 17:53:26 · 192 阅读 · 0 评论