随笔分类 - CSP-J复赛真题解析
摘要:原题链接:https://www.luogu.com.cn/problem/P1045 题意解读: 要计算2p- 1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。 解题思路: 一、朴素做法 如果直接采用高精度乘法计算2p,p最大3
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1044 题意解读:一组数入栈、出栈的方案数,如果了解卡特兰数,此题可以秒杀;如果不了解,也可以通过递归或者递推来解决 ;最次,可以通过DFS暴搜出方案数,当然对于n个数,一共有n次入栈、n次出栈,一共2n次,每次要么入栈
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1043 题意解读:将n个环形数分成任意m组,组内求和再%10、负数转正,组间相乘,求所有分组方案中得到结果的最小值和最大值。 解题思路: 比赛题的首要目的是上分!此题一看就是DP,但是苦苦思索了半天,想不清楚状态表示,那
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1042 题意解读: 分别针对11分制和21分制,输出每局比分。只需要判断一局的结束条件:得分高者如果达到11或者21,且比分间隔大于等于2分,则表示一局结束, 可开始下一局,用模拟法即可解决。 100分代码: #incl
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1002 题意解读:从A(0,0)点走到B(n,m)点,只能向右或者向下,C点以及其控制点不能走。 解题思路: 根据题意,此题要么递归(DFS),要么递推(动态规划) 先分析数据规模,最大从起点到终点要走40步,每个步有2
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1037 题意解读:一个长整数,有若干数字替换规则,计算可以转换成多少种不同的整数。 解题思路: 看题之后,第一感觉,是用DFS: 1、用字符串存储整数 2、用领接表存储数字替换规则,因为一个数字可以替换成多个其他数字 3
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1036 题意解读:题目即要在n个数中,枚举出所有的子集,当子集中数字个数刚好为k时,求和,判断是否是素数。 解题思路: 方法一:二进制法 通过二进制法,可以枚举一个集合中所有元素“选”或者“不选”的情况,用二进制1表示选
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1035 题意解读:根据公式模拟法求解即可。 解题思路:枚举i,计算sum,如果sum > k,则输出i 100分代码: #include <bits/stdc++.h> using namespace std; int
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1049 题意解读:装尽可能多的物品,使得总体积越大越好,即剩余空间最小,还是一个01背包问题,物品的体积就是其价值。 解题思路: 01背包模版题,物品体积、价值相同,直接采用一维dp。 100分代码: #include
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1030 题意解读:已知中序、后序,求先序。 解题思路: 与洛谷题单指南-二叉树-P1827 [USACO3.4] 美国血统 American Heritage非常类似,不在介绍过程,直接给出代码。 100分代码: #in
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1029 题意解读:已知x,y,求有多少对p、q,使得p、q的最大公约数为x,最小公倍数为y。 解题思路: 枚举法即可。 枚举的对象:枚举p,且p必须是x的倍数,还有p <= y q的计算:q = x * y / p, q
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1028 题意解读:给定n,构造数列,可以用递归或者递推。 解题思路: 1、递归 定义count(n)返回数列的个数 n==1时,count(n) = 1 n!=1时,count(n) = 1 + count(1) + c
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1023 题意解读:给定商品单价和对应销量表,计算使得采用预期价格销售得到最大利润时的最小补贴或者税收。 解题思路: 1、样例模拟 31 28 130 30 120 31 110 -1 -1 15 政府预期价格:31 商品
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1022 题意解读:求解一元一次方程。 解题思路: 直接采用模拟法,对字符串进行解析 设x保存未知数字母 设lx保存"="左边的未知数系数,多个系数要累加 设l保存"="左边的整数,多个整数要累加 设rx保存"="右边的未
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1016 题意解读:用最少的加油费用到达另一个城市,中间有若干加油点,起点也可加油。 解题思路: 本题是一个贪心策略题: 枚举每一个加油点i: 1、初始加油点是起点 2、汽车能跑的最大距离范围内,找到下一个更便宜的加油点的
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1015 题意解读:一个N进制数M,把M正序和M逆序相加,几次之后得到是数是回文数,如果超过30次还无法得到回文数,输出Impossible!。 解题思路: M最长100位,因此需要高精度,定义数组vector<int>
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1014 题意解读:根据z字形遍历,求第n个数。 解题思路: 根据题意,遍历顺序如下图所示 观察得知,第i层的x/y的x+y = i + 1,并且 如果i是偶数,x从1开始枚举;如果i是奇数,x从i开始枚举 100分代码:
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1010 题意解读:输出一个正整数的2 的幂次方表示,需要用到二进制数学知识,将整数拆解成2的次幂之和,幂次方也要进行拆解,因此容易想到通过递归处理。 解题思路: 先看样例,给定整数137,要拆解成2的幂次方之和, 先考虑
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1009 题意解读: 利用高精度计算阶乘之和,需要用到高精度乘法(高精度乘低精度)、高精度加法。 首先,思考不利用高精度如何解题,直观方法就是遍历i从1到n,每次乘i得到i的阶乘,然后累加到结果,代码如下: #includ
阅读全文
摘要:原题链接:https://www.luogu.com.cn/problem/P1008 题意解读:将 1,2,…,9共 9个数分成3组,分别组成3个三位数,且使这 3 个三位数构成 1:2:3 的比例,枚举所有的组合即可。 解题思路: 设定三个数a、b、c 枚举a,最小123,最大987 b = a
阅读全文