2019年CPS-J复赛题解】的更多相关文章

这套也是后来补得. 我太菜了,第三题就卡着了.想了好久才做出来,要是参加了绝对掉分. D题是人生中做完的第一道交互题,不容易. 比赛传送门 A.Card Game 题目大意:一共有n张互不相同的牌,玩家1有k1张牌,玩家2有k2张牌.两个人每次都会拿出一张牌,牌号大的人会得到这张牌,直到一方没牌.问第一个人能否会获胜. 这就是我们从小玩的比大小游戏. 在广大劳动人民的实践后得出来结论是有最大的牌的人获胜. 代码如下: #include <iostream> #include <cstdi…
题目涉及算法: 数字游戏:字符串入门题: 公交换乘:模拟: 纪念品:完全背包: 数字游戏:广搜/最短路. 数字游戏 题目链接:https://www.luogu.com.cn/problem/P5660 题目大意:求一个长度为8的字符串中有多少个字符0. 题解: 首先开一个变量用于计数(我称此变量为"计数器",初始时计数器的值为0). 然后输入字符串,然后从0到7遍历字符串的前8个字符,每当遇到一个字符'1'就将计数器加一,最后输出计数器对应的值即可. 实现代码如下: #include…
2019 秋季 PAT (Advanced Level) C++题解 考试拿到了满分但受考场状态和知识水平所限可能方法不够简洁,此处保留记录,仍需多加学习.备考总结(笔记目录)在这里 7-1 Forever (20 分) "Forever number" is a positive integer A with K digits, satisfying the following constrains: the sum of all the digits of A is m; the…
题目及涉及的算法: 数字统计:入门题: 接水问题:基础模拟题: 导弹拦截:动态规划.贪心: 三国游戏:贪心.博弈论. 数字统计 题目链接:洛谷 P1179 这道题目是一道基础题. 我们只需要开一个变量 \(cnt\) 用于统计 \(2\) 出现的次数,然后从 \(L\) 到 \(R\) 去遍历每一个数 \(i\) ,对于 \(i\) 来说,我们去遍历它的每一位是不是 \(2\) ,如果是的话,则 \(cnt++\) .最后输出 \(cnt\) 即可. 实现代码如下: #include <bits…
题目涉及算法: 成绩:入门题: 图书管理员:模拟: 棋盘:最短路/广搜: 跳房子:RMQ/二分答案/DP(本人解法). 成绩 题目链接:https://www.luogu.org/problemnew/show/P3954 入门题,直接计算一下即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int a, b, c; int main() { cin >> a >> b >> c; cout…
题目涉及算法: 买铅笔:入门题: 回文日期:枚举: 海港:双指针: 魔法阵:数学推理. 买铅笔 题目链接:https://www.luogu.org/problem/P1909 设至少要买 \(num\) 只笔,且对于每只钱币,设它的价格为 \(a\) ,笔数为 \(b\) ,则花费为最大的那个 \(\lceil \frac{num}{a} \rceil \times b\) . 实现代码如下: #include <bits/stdc++.h> using namespace std; int…
题目涉及算法: 珠心算测验:枚举: 比例简化:枚举: 螺旋矩阵:模拟: 子矩阵:状态压缩/枚举/动态规划 珠心算测验 题目链接:https://www.luogu.org/problem/P2141 因为数据量比较小,直接暴力枚举即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 110; int n, a[maxn], cnt; bool exists[20020]; int main() {…
题目涉及算法: 计数问题:枚举: 表达式求值:栈: 小朋友的数字:动态规划: 车站分级:最长路. 计数问题 题目链接:https://www.luogu.org/problem/P1980 因为数据量不大,所以直接枚举一下每个数,然后统计一下x出现的次数就可以了. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, x, cnt; int main() { cin >> n >> x; for (in…
题目涉及算法: 数字反转:模拟: 统计单词数:模拟: 瑞士轮:模拟/排序: 表达式的值:后缀表达式/DP. 数字反转 题目链接:https://www.luogu.org/problem/P1307 这道题目是一道基础的模拟题,只需要模拟将数字进行翻转就可以了,注意 \(0\) 和 负数. 实现代码如下: #include <bits/stdc++.h> using namespace std; void solve(int num) { if (num < 0) { putchar('…
题目涉及算法: 陶陶摘苹果:入门题: 校门外的树:简单模拟: 采药:01背包: 循环:模拟.高精度. 陶陶摘苹果 题目链接:https://www.luogu.org/problem/P1046 循环一遍,找到有多少数小于等于陶陶的身高+椅子的高度的即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int a[10], n, cnt, tt; int main() { for (int i = 0; i < 10; i +…
题目: Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that duplicates do not exist in the tree. 说明: 1)实现与根据先序和中序遍历构造二叉树相似,题目参考请进 算法思想 中序序列:C.B.E.D.F.A.H.G.J.I   后序序列:C.E.F.D.B.H.J.I.G.A   递归思路: 根据后序遍历的特点,…
题目链接 题意: 给出一个无向图,类似三角形的样子,然后给出边的权值,问找一条从第一个点到最后一个点的路径,要求每一条边只能走一次,并且权值和最大,点可以重复走. 思路: 首先观察这个图可以发现,所有的点的度数都是偶数.然后由每条边只能走一次知道,这个是和欧拉路相关的,是欧拉道路,不是欧拉回路,因为题目要求是从一个点到另一个点.但是图的所有点的度数都是偶数,那么想办法让图中的第一个点和最后一个点度数变为奇数,其他点的度数都是偶数.这个就比较巧妙,去掉从第一个点到最后一个点的一条无重复点的路径,除…
第六集,想不到你这个浓眉大眼的都叛变革命了 题意: 给你两个只包含01的字符串S和T,问你在允许一次错误的情况下,T是否能成为S的子串 思路: 这个问题的解法挺多,我是用fft匹配的,也比较简单,针对0和1匹配两次,第一次针对0就是把S串和T串中等于0的位置都标记成1,然后reverse一个串后进行fft,如果这两个位置都是0,就会出现1*1=1的情况,代表有一个位置匹配上了,0这样做一次,1这样做一次,他们的和就是匹配成功的次数,所以允许一次错误就是判断和是否大于len-1. 还有一个做法是指…
题目涉及算法: 标题统计:字符串入门题: 龙虎斗:数学题: 摆渡车:动态规划: 对称二叉树:搜索. 标题统计 题目链接:https://www.luogu.org/problem/P5015 这道题目是一道基础题,考察你字符(串)的输入. 实现代码如下: #include <cstdio> char c; int cnt; int main() { while (c = getchar()) { if (c == EOF || c == '\n') break; if (c != ' ') c…
题目涉及算法: 金币:入门题: 扫雷游戏:入门题: 求和:简单数学推导: 推销员:贪心. 金币 题目链接:https://www.luogu.org/problem/P2669 入门题,直接开一个循环遍历一下就可以了. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, ans = 0; int main() { cin >> n; for (int i = 1; n; i ++) { int t = min(i…
题目涉及算法: 质因数分解:入门: 寻宝:模拟: 摆花:动态规划: 文化之旅:搜索. 质因数分解 题目链接:https://www.luogu.org/problem/P1075 这道题目只需要开个 for 循环就能够把书求出来. 开一个循环变量 i 从 2 开始一直加加,碰到的第一个能够整除n的i,就输出 \(n/i\) 然后 break 即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n; int main() {…
题目涉及算法: 多项式输出:模拟: 分数线划定:模拟.排序: 细胞分裂:质因数分解: 道路游戏:动态规划. 多项式输出 题目链接:https://www.luogu.org/problem/P1067 纯模拟题.注意符号和1.0. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 110; int n, a[maxn]; int main() { cin >> n; for (int i =…
题目涉及算法: ISBN号码:简单字符串模拟: 排座椅:贪心: 传球游戏:动态规划: 立体图:模拟. ISBN号码 题目链接:https://www.luogu.org/problem/P1055 简单字符串模拟. 实现代码如下: #include <bits/stdc++.h> using namespace std; char c, s[20], d; int cnt = 1, a; int main() { cin >> s; for (int i = 0; i < 1…
题目涉及算法: 奖学金:结构体排序: 纪念品分组:贪心: 守望者的逃离:动态规划: Hanoi 双塔问题:递推. 奖学金 题目链接:https://www.luogu.org/problem/P1093 这道题目就是一道简单的结构体排序. 实现代码如下: #include <bits/stdc++.h> using namespace std; const int maxn = 330; struct Student { int id, x, y, z; } a[maxn]; int n; b…
题目涉及算法: 明明的随机数:简单模拟: 开心的金明:01背包: Jam的计数法:模拟: 数列:二进制. 明明的随机数 题目链接:https://www.luogu.org/problem/P1059 简单模拟:排序+去重.使用 sort + unique 实现. 实现代码如下: #include <bits/stdc++.h> using namespace std; int n, a[111]; int main() { cin >> n; for (int i = 0; i…
题目涉及算法: 不高兴的津津:入门题: 花生采摘:贪心: FBI树:递归.DP求区间和: 火星人:模拟. 不高兴的津津 题目链接: 简单枚举. 遍历一遍,找到 \(a[i] + b[i]\) 最大的那个坐标即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; int a[8], b[8], id; int main() { for (int i = 1; i <= 7; i ++) { cin >> a[i] &g…
题目涉及算法: 乒乓球:简单字符串模拟: 数字游戏:区间DP: 栈:卡特兰数 麦森数:高精度.快速幂.数学. 乒乓球 题目链接:https://www.luogu.org/problem/P1042 这道题目是一道较为繁琐的字符串模拟,有点烦但是并不难. 我的代码的思想是将到'E'为止的输入全部存到一个字符串中,然后遍历字符串,用win_point来存放赢的分数,用lose_point来存放对手赢的分数,如果满足条件 (win_point>=11 || lose_point>=11) &…
题目涉及算法: 级数求和:入门题: 选数:搜索: 产生数:搜索.高精度: 过河卒:动态规划. 级数求和 题目链接:https://www.luogu.org/problemnew/show/P1035 开一个for循环,每次加上1/i,知道和 \(\gt K\) 即可. 实现代码如下: #include <bits/stdc++.h> using namespace std; double s, K; int i; int main() { cin >> K; for (i = 1…
题目涉及算法: 数的计算:动态规划: 最大公约数和最小公倍数问题:质因数分解: 求先序排列:递归: 装箱问题:动态规划(纯0-1背包问题) 数的计算 题目链接:https://www.luogu.org/problem/P1028 这道题目可以用动态规划进行求解. 我们令 \(f[i]\) 表示自然数为 \(i\) 能够生成的数的个数,则: \(f[i] = 1 + \sum_{j=1}^{n/2} f[j]\) 实现代码如下: #include <bits/stdc++.h> using n…
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining. For example, Given [0,1,0,2,1,0,1,3,2,1,2,1], return 6. The above elevation map is represented by a…
题目描述 给定n个a[i],b[i],求min(x$\in$R){$\sum\limits_{i=1}^{n}$|a[i]*x+b[i]|} 输入格式 第 1行 1个整数 n第 2行 n个整数,第 i个为 a[i],b[i] 输入格式 输出一行一个实数 y,表示答案.你可以输出任意位小数,随后系统会将你的输出与答案进行比较,只有当你的输出与答案绝对误差不超过 $10^{-3}$ 时才能得到该测试点的分数 输入样例 21 12 -1 输出样例 1.50000000000 #include<iost…
题目链接 题目大意 给你n个盘子,每个盘子可能有1,2,3个披萨 你选到每个盘子的概率是一样的. 你如果选到空的盘子什么都不做 如果你选到有披萨的盘子则吃掉一个披萨 求吃完所有披萨的期望 题目思路 设现在还有u个1个盘子的披萨,v个2.....,z个3.... 则显然吃掉下一个披萨的概率为(u+v+w)/n则期望为n/(u+v+w) 那么显然公式就是下面这样 \(dp[u][v][w]=n/(u+v+w)+u/(u+v+w)*dp[u-1][v][w]+v/(u+v+w)*dp[u+1][v-1…
目录 #1. A + B Problem #2. Hello, World! #3. Copycat #4. Quine #7. Input Test #100. 矩阵乘法 #101. 最大流 #102. 最小费用流 #103. 子串查找 #104. 普通平衡树 #108. 多项式乘法 #119. 非负权单源最短路 #130. 树状数组 1 :单点修改,区间查询 #139. 树链剖分 #161. 乘法逆元 2 #556. 「Antileaf's Round」咱们去烧菜吧 #2030. 「SDOI…
引言 好像博客好久没更新了 哈哈哈哈哈 趁现在有空更新一波 不知道还有没有人看 确实该记录一下每天做了什么了 不然感觉有些浑浑噩噩了 比赛介绍 全称: 蓝桥杯全国软件和信息技术专业人才大赛 蓝桥杯 实话 省赛就是花钱拿奖 去年啥都不懂 刚进大学还是个大一小萌新 C还没用熟就混了个省二回来 确实感受到了比赛比较水 不愧是暴力杯 不过因为学校比较low的原因 没有组织ACM等比赛 所以蓝桥是我们能参加的可以说比较高的赛事了吧 毕竟一流的二本 二流的一本名不虚传 hhhh 今年准备再打一下试试 看看能…
很荣幸这次能够参加乙级考试,和大佬们同台竞技了一次,这篇博客,进行介绍这次2019冬季的乙级考试题解. 7-1 2019数列 (15分) 把 2019 各个数位上的数字 2.0.1.9 作为一个数列的前 4 项,用它们去构造一个无穷数列,其中第 n(>)项是它前 4 项之和的个位数字.例如第 5 项为 2, 因为 2,个位数是 2. 本题就请你编写程序,列出这个序列的前 n 项. 输入格式: 输入给出正整数 n(≤). 输出格式: 在一行中输出数列的前 n 项,数字间不要有空格. 输入样例: 1…