随笔分类 - 基础算法——模拟
摘要:挂分小技巧 \(m\) 写成 \(n\)。 思路 显然如果找到了最后一个排序操作那么之前的操作可以忽略。 找到最后一个排序操作,如果是 \(1\) 操作就将数组正向赋值,如果是 \(2\) 操作就反向赋值。 用一个标记记录现在的数组是翻转了还是未翻转,如果未翻转则三操作直接翻转 \(x\) 和 \(
阅读全文
摘要:思路 题意:有 \(n\) 个字符串 \(s_1,s_2,...,s_n\),你可以进行任意次操作,每次操作可以将 \(s_i\) 中的任何一个字符删除,并将这个字符插入到 \(s_j\) 的某一个位置上(\(l\le i, j\le n\) 且 \(i\) 可以等于 \(j\)),问经过任意次操作
阅读全文
摘要:弱鸡打比赛 不可能AK
阅读全文
摘要:题意 要找两个合数,使他们两个的差为$n$,$n$为题目给出的数 思路 我们可以枚举减数$now$,判断一下是不是质数,如果是质数就让$now++$,然后用一个数$tot$记录被减数,也就是$now$加$n$,判断$tot$是不是质数,如果是质数再让$now++$,如果不是质数我们就找到了答案,因为
阅读全文
摘要:洛谷 P5690 [CSP-SJX2019]日期 思路 大水题一道,判断一下即可 输入直接用快读读两个数就行了,不需要读一个$char$类型的字符 年月不能为$0$,月份不能超过$12$,天数不能超过$31$ 另外在二月天数的时候不能超过$28$,在$4、6、9、11$月天数不能超过30 这样就好啦
阅读全文
摘要:如何使用负数下标呢? 让数组前面有东西 int y[100]; int *z = y + 50; 这样的话调用$z[-50]$就变成了调用$y[0]$ z[-50] = y[0]; 然后这样就可以实现调用啦~ 其实还有一个更暴力的方法:用$map$ $map$是$\log n$的$map$ $uno
阅读全文
摘要:洛谷 P5595 【XR-4】歌唱比赛 思路&&代码 这是一道普及-的题目 有一道题和这么一道题很类似,可以先去做这道题,再来做这个,链接: $P3742\ umi$的函数 然后我们来考虑这道题的做法 既然是$special\ judge$,我们就可以直接乱搞了,只用$0$和$1$两个数,我们就可以
阅读全文
摘要:思路 这是一道真·水题,会模拟就好了 \(subtask1\): \(n = m = k = 1\),很明显,这个部分分的答案就是$1$,然后我们就顺利得到了$13$分的好成绩 后面的分数……似乎没有什么必要有,反正我是直接写的满分。那么我们来说一下满分思路 既然每个人在之后的$k$天中都有$m$天
阅读全文
摘要:洛谷 P3742 umi的函数 思路 $loceaner$已经蔡虚鲲到连红题都不会做了 因为有$special\ judge$所以我们就可以瞎搞了! 由题目可知,只要有一个$y[i] > x[i]$则一定没有答案(真的是很显然了!),其他的话,因为$y$本身就是一种解,所以最后输出$y$就好了,然而
阅读全文
摘要:洛谷 P1016 旅行者的预算 感觉自己连点生活常识都没有,竟然连油用过之后要减去都不知道,这种贪心模拟题都做不出来……思路在代码里,我菜死了 思路&&代码 //看题解过的。。一点都没有成就感 #include <cstdio> #include <cstring> #include <iostre
阅读全文
摘要:洛谷 P1950 长方形_NOI导刊2009提高(2) ##思路 首先定义$h$数组,$h[i][j]$表示第$i$行第$j$列最多可以向上延伸多长(直到一个被用过的格子) 然后使用单调栈算出 $l_i$和 \(r_i\) ,分别是 \(h[i]\) 中左边第一个(从 \(h[i][j]\) 开始)
阅读全文
摘要:一些“基础”算法 枚举子集的子集 给定n个元素,问这n个元素组成的每一个集合的所有子集。 for(int S = 1; S < (1 << n); ++S) { for(int S1 = S; S1 != 0; S1 = (S1 - 1) & S) { //do something } } 最外层就
阅读全文
摘要:##传送门 我在这里 ##思路 这道题就是一道链表模板题,还是有些巧妙的啦 因为有频繁的插入和删除操作,正好可以用链表做,这里用的是数组模拟的双向链表 首先定义结构体,表示链表的节点,$a[x].l$表示$x$的左边这个同学的编号,$a[x].r$表示$x$的右边同学的编号 struct node
阅读全文
摘要:#洛谷 P1309 瑞士轮 思路&&代码 这真的是一道好题,怪我早早没有去做! 这个题题意其实就是每次相邻分数的两个人根据实力值进行比较,然后比出输赢,进行分治,然后不断排序而已 第一眼的思路就是用$sort$去做,但是,很遗憾,超时了......仔细算一算,复杂度已经达到了上天的$O(R*(N+N
阅读全文
摘要:#洛谷 P1965 转圈游戏 ##思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,……,第 n-1 号位置上的小伙伴顺时针走到第
阅读全文
摘要:#洛谷 P1098 字符串的展开 ##传送门 I'm here! ##思路 大暴力字符串题 这个题让我们展开一个字符串$某字符-某字符$,并且有三个参数对应几种不同的输出方式,首先想到打暴力,因为串特别小,最多才$100$ 首先输入三个参数,之后输入一个字符串,按照题目要求进行模拟,一步步打暴力,最
阅读全文
摘要:洛谷 P2615 神奇的幻方 ##传送门 I'm here! ##思路 这个题,我们可以直接去模拟,因为范围很小,且$N$都是奇数 直接构造一个矩阵,初始值都为$0$,然后$while$循环,根据题目给出的$4$个条件进行模拟,将矩阵一个个赋值为$1$~$n\ast n$中的元素,这样就完成了 时间
阅读全文
摘要:洛谷 P1115 最大子段和 ##传送门 come on ##题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 ##输入输出格式 输入格式: 第一行是一个正整数$N$,表示了序列的长度。 第二行包含$N$个绝对值不大于$10000$的整数$A_i$,描述了这段序列。 输出格式: 一个
阅读全文
摘要:##这里是传送门啊 I'm here! ##题目描述 小A最近有了一个口头禅“呵呵”,于是他给出了一个矩形,让你求出里面有几个hehe(方向无所谓)。 ##输入输出格式 ###输入格式: 第一行两个数,n、m,表示这个矩形的大小。 以下n行,每行m的字符,表示这个矩形。 ###输出格式: 一行一个数
阅读全文

浙公网安备 33010602011771号