洛谷
【止心】
这个作者很懒,什么都没留下…
展开
-
洛谷 P1098 [NOIP2007 提高组] 字符串的展开 题解 C/C++ 模拟
模拟就好了 坑比较多1.当‘-’两端的字符分别是数字和字母时,原样输出。2.字符串首尾的‘-’需要原样输出。3.连续的‘-’需要原样输出。4.存放展开字符串的数组开大点附几组样例:输入:2 4 2a-b-c输出:abc输入:2 2 29-a-a输出:9-a-a输入:1 5 1-254-243-52-345-243-5234-52-345-234-52-345-234-52345-4325- 2345-2345-2345输出:-254-2434444452.原创 2021-03-21 16:09:57 · 530 阅读 · 0 评论 -
洛谷 P1067 [NOIP2009 普及组] 多项式输出 题解 (C/C++)
大致思路主要就是分类讨论,将符号,系数,指数分开考虑,归类,注意第一项要特殊处理。(还有就是先从左往右找到第一个系数不为0的数在讨论,这道题不这样也可以ac,判例好像没有50 0 0 2 1 1这样的数据)//P1067 [NOIP2009 普及组] 多项式输出//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>//原创 2021-03-20 17:17:18 · 293 阅读 · 0 评论 -
洛谷P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two 题解 (C/C++)
主要思路如下1//P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two//#define LOCAL#include <iostream>#include <cstdio>using namespace std;char board[12][12];//本来10*10就够了,在外围加一层墙,好判断int famr[3],cow[3];//分别存储人和牛的x,y坐标和方向 北为0,顺时针依次为东1,南2,西3int readcha原创 2021-03-20 15:09:34 · 887 阅读 · 0 评论 -
洛谷 P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 题解 C/C++
思路如下方法一:if else 直接模拟方法二:初始化一个二维数组 输和平记为0,赢记为1 直接索引//P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>原创 2021-03-03 23:22:05 · 831 阅读 · 1 评论 -
洛谷 P4924 [1007]魔法少女小Scarlet 题解 C/C++
知识点一. 记住图像旋转坐标变换公式就好了,如下(具体推导可以自己搜一下): 1.点(x,y)绕原点逆时针旋转α得到(x',y')的公式 x'=xcosα-ysinα y'=xsinα+ycosα 2.顺时针旋转α,即逆时针旋转 -α, 用-α代替上面的α, 并根据公式cos(-α)=cosα,sin(-α)=-sinα得 x'=xcosα+ysinα y'=-xsinα+ycosα 3.旋转中心为(a,b),在利用上面的公式时,需要把(a,b)沿向量(-a,-b)移动到原点,此时(原创 2021-03-01 00:26:21 · 532 阅读 · 0 评论 -
洛谷 P1303 A*B Problem 题解 高精度 模拟 C/C++
思路如下:1.首先是当作字符串读入,然后逆序存储到整型数组中,便于模拟乘法2. 两层for循环模拟竖式乘法3.注意前导0和一些索引处理;结果数组ans[]中的索引也可以用i+j-1 表示//P1303 A*B Problem//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cma.原创 2021-02-25 20:49:34 · 236 阅读 · 0 评论 -
洛谷 P1601 A+B Problem (高精) 题解 C/C++
//P1601 A+B Problem(高精)//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f原创 2021-02-01 20:37:49 · 188 阅读 · 0 评论 -
洛谷 P1563 [NOIP2016 提高组] 玩具谜题 题解 C/C++
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3f3f#define eps 1e-6us原创 2021-02-01 16:38:14 · 234 阅读 · 0 评论 -
洛谷 P2670 [NOIP2015 普及组] 扫雷游戏 题解 C/C++
思路如下:首先将地雷分布读入二维字符数组中,如果是地雷" * "就输出,否则在八个方向上遍历即可,可以用两个一维数组控制方向,详见代码sweep()函数//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include &l原创 2021-01-29 23:02:53 · 1111 阅读 · 0 评论 -
洛谷 P1042 [NOIP2003 普及组] 乒乓球 题解 C/C++
思路如下1.模拟打乒乓球,11分制:甲得分率先到达11分,且此时与乙的得分之差大于等于2,则甲获胜,一局结束,双方比分清零;否则继续比赛,直到双方比分只差大于等于2,得分多的一方获胜;总之就是:((甲得分>=11 || 乙得分>=11)&&abs(甲得分 – 乙得分)>=2 时一局结束,输出比分即可,同时双方比分清零。21分制同理;2.边输入边统计即可,因为要输出完11分制结果在输出21分制,所以用数组暂存21分制比分,最后输出。//P1042 [NOIP2003原创 2021-01-26 20:55:09 · 1493 阅读 · 0 评论 -
洛谷 P2415 集合求和 题解 C/C++
思路如下:找规律:例如集合s为{1, 2, 3, 4, 5,…}, 我们这里以元素1为例,统计每个元素出现的次数,子集为一个元素时,是{1},子集为两个元素时,是{1, 2}、{1, 3}、{1, 4}、{1, 5}…,子集为三个元素时,是{1, 2, 3}、{1, 2, 4}、{1, 2, 5},…,子集为4个元素时…;联系排列组合的知识,也就是说:选中一个元素,从剩余n-1个元素中取0个,1个,2个,3个,…组成子集,每个元素出现的总次数是一样的,最后每个元素出现的总次数公式如下:Cn−10+原创 2021-01-25 21:14:27 · 1235 阅读 · 0 评论 -
洛谷 P1217 [USACO1.5]回文质数 Prime Palindromes 题解 C/C++
知识点: 回文数有两种 一种是单数位数,abcba,一种是双数位数,abccba 而双数位数是质数的只有11,即偶位回文数全不是质数除了11;所以不需要枚举到1亿,到1千万就好了以下几种方法供参考//P1217 [USACO1.5]回文质数 Prime Palindromes//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath&g.原创 2021-01-25 15:11:16 · 526 阅读 · 0 评论 -
洛谷 P1304 哥德巴赫猜想 题解C/C++
//P1304 哥德巴赫猜想//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3f3f#def原创 2021-01-24 23:50:22 · 532 阅读 · 0 评论 -
洛谷 P5742 【深基7.例11】评等级 题解 C/C++
//P5742 【深基7.例11】评等级//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3f3原创 2021-01-24 21:28:11 · 1424 阅读 · 1 评论 -
洛谷 P5740 【深基7.例9】最厉害的学生 题解 C/C++
//P5740 【深基7.例9】最厉害的学生//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3原创 2021-01-24 17:57:15 · 1184 阅读 · 0 评论 -
洛谷 P5461 赦免战俘 题解 C/C++
思路如下:方法一:递归,初始化数组为0,;边长为1时结束,每次将符合条件的元素(即左上角)标记为1,递归右上角,右下角,左下角。方法二:找规律:每一个数字都是它上方数字加上右上方数字再模2,用异或^也行;初始化数组 arr[0][l+1] = 1,其余为0法一 递归#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>原创 2021-01-23 18:59:06 · 722 阅读 · 0 评论 -
洛谷 P5738 【深基7.例4】歌唱比赛 题解
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3f3f#define eps 1e-6us原创 2021-01-22 21:00:15 · 662 阅读 · 0 评论 -
洛谷 P5736 【深基7.例2】质数筛 题解
三种方法供参考,欧拉筛待续…方法一:按定义"质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。";0和1既不是质数也不是合数。2是素数(质数)方法二:不在6的倍数的两侧的一定不是质数,在6的倍数两侧的也不一定都是质数,其中方法二证明:参考链接方法三思路:将数组中所有的2的倍数标记为false(不是质数),数组中剩下的最小的数字就是3,他不能被更小的数整除,所以3是素数,再将数组中所有的3的倍数标记为false……以此类推,其实就是将每个奇数的倍数去掉,反复操作,最后数组中为tru原创 2021-01-22 18:57:40 · 833 阅读 · 0 评论 -
洛谷 P1598 垂直柱状图 题解(字符串C/C++)
题目连接点我思路如下buf 数组存储每个字母出现的数量,也就是星号*的数量;arr数组存储每个字母空格 的数量 (即与最大字母数出现的数量之差);遍历找出字母出现个数最多的数量m;两层for循环打印输出,行为次数最大值m,列为26。arr[j]<m-buf[j]才输出空格,否则输出星号* ,每次输出空格后++,详见代码;题目要求任一行末尾不能有多余空格,所以输出第一个或者最后一个时需要特殊处理一下,当然本题输出多余空格也能过。代码如下//P1598 垂直柱状图//#define原创 2021-01-19 22:10:46 · 465 阅读 · 0 评论 -
洛谷 P1597 语句解析 题解 (字符串C/C++)
//P1597 语句解析//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#include <sstream>#define inf 0x3f3f3f3f#defin原创 2021-01-19 18:45:36 · 621 阅读 · 0 评论 -
洛谷 P1603 斯诺登的密码 题解 (字符串C/C++)
题目链接点我思路如下:数字 1 ~ 20 存到字符串数组中(对应数组下标加1即为该英文所代表的的数字),非正规的几个字母一会特殊判断;将输入都转为小写;将数字平方取模后存入整型数组,然后排序;最后按序输出数组中的数字即可。(这里有几个输出细节要特殊处理,比如找到第一个非0的数,如果是个位数不需要输出前导0,后续的个位数的话要补一个0,详见代码)//P1603 斯诺登的密码//#define LOCAL#include <iostream>#include <cs原创 2021-01-18 22:55:15 · 457 阅读 · 1 评论 -
洛谷 P1553 数字反转(升级版) 题解 (字符串C/C++)
主要就是两种处理方法,整数部分和小数部分,分数和百分数都可归结为整数部分整数部分从后往前找找到第一个不为0的地方i,然后将子串 0~i 转置小数部分从前往后找找到第一个不为0的地方j,然后将子串转置具体请看代码和注释//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#.原创 2021-01-17 23:48:19 · 345 阅读 · 0 评论 -
洛谷 P1321 单词覆盖还原 题解 (字符串C/C++)
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#defin原创 2021-01-17 21:01:04 · 504 阅读 · 0 评论 -
洛谷 P3741 honoka的键盘 题解 (字符串 C/C++)
主要进行两次遍历,第一次统计"VK"个数,并将它们都赋予非"VK"的字符即可,为了第二次遍历进行区分。第二次遍历找"VV"或者"KK"的子串(“KV”不符合题意),有的话结果加1即可//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm&.原创 2021-01-16 19:45:46 · 822 阅读 · 0 评论 -
洛谷 P1765 手机 题解(字符串 C/C++)
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#defin原创 2021-01-15 19:06:20 · 1031 阅读 · 1 评论 -
洛谷 P1308 [NOIP2011 普及组] 统计单词数 题解(字符串 C/C++)
解题的关键就是如何处理好输入信息当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。为了解决这个问题,可以使用一个叫做 getline 的 C++ 函数。此函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。getline 函数如下所示:getline(cin, inputLine);//inputLine为string变量这个函数接收两个参数:一个输入流对象和一个.原创 2021-01-15 18:40:07 · 1510 阅读 · 0 评论 -
洛谷 P5734 【深基6.例6】文字处理软件 题解 两种方法 (字符串 C/C++)
方法一:大部分手动实现//P5734 【深基6.例6】文字处理软件//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespac.原创 2021-01-12 18:53:19 · 452 阅读 · 0 评论 -
洛谷 P5015 [NOIP2018 普及组] 标题统计 题解 字符串 C/C++
//P5015 [NOIP2018 普及组] 标题统计//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#d原创 2021-01-11 20:34:15 · 1083 阅读 · 0 评论 -
洛谷 P1957 口算练习题 题解 字符串 C/C++
//P1957 口算练习题#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) mem原创 2021-01-11 18:47:16 · 788 阅读 · 0 评论 -
洛谷 P1125 [NOIP2008 提高组] 笨小猴 题解 字符串 C/C++
//P1125 [NOIP2008 提高组] 笨小猴//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#de原创 2021-01-10 21:00:56 · 968 阅读 · 0 评论 -
洛谷 P1914 小书童——凯撒密码 C/C++ 字符串
不需要开数组 边读边处理//P1914 小书童——凯撒密码#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <cctype>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;.原创 2021-01-10 19:06:53 · 1205 阅读 · 0 评论 -
洛谷 P1205 [USACO1.2]方块转换 Transformations C/C++ 模拟
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) memset(x,0,sizeof((x)))const int maxn原创 2021-01-10 16:19:14 · 807 阅读 · 0 评论 -
洛谷 P1320 压缩技术(续集版)C/C++
注意方阵中第一个数字如果是1的话要先出0(因为第一个数字表示连续有几个0)//P1320 压缩技术(续集版)//注意方阵中第一个数字如果是1的话要先出0(因为第一个数字表示连续有几个0)#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3原创 2021-01-09 15:09:46 · 1351 阅读 · 0 评论 -
洛谷 P1319 压缩技术 C/C++
//P1319 压缩技术//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) memset(x,0,sizeof((x)))co原创 2021-01-08 19:15:12 · 1092 阅读 · 0 评论 -
洛谷 P5731 【深基5.习6】蛇形方阵 C/C++
//P5731 【深基5.习6】蛇形方阵//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) memset(x,0,sizeof(原创 2021-01-08 15:23:01 · 709 阅读 · 0 评论 -
洛谷 P1161 开灯 C/C++
a[i] = !a[i] 控制开关灯 异或^控制也行//P1161 开灯//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(.原创 2021-01-07 23:05:30 · 559 阅读 · 0 评论 -
洛谷 P2911 [USACO08OCT]Bovine Bones G C/C++ O(1)解法
面数相同123456123456723456783456789456789105678910116789101112两个面的数字和概率最大为数字 :6+1 = 7即7共出现了6次面数不同1234512345623456734567845678956789.原创 2021-01-07 21:36:52 · 491 阅读 · 0 评论 -
洛谷 P1614 爱与愁的心痛 C/C++
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) memset(x,0,sizeof((x)))const int maxn原创 2021-01-06 18:03:08 · 636 阅读 · 0 评论 -
洛谷 P2141 [NOIP2014 普及组] 珠心算测验 C/C++
//#define LOCAL#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#define inf 0x3f3f3f3f#define eps 1e-6using namespace std;#define clr(x) memset(x,0,sizeof((x)))const int maxn原创 2021-01-05 21:57:07 · 631 阅读 · 0 评论 -
洛谷 P5730 【深基5.例10】显示屏 C/C++
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-01-05 18:48:47 · 1470 阅读 · 0 评论