C++
文章平均质量分 73
黑炭保安
这个作者很懒,什么都没留下…
展开
-
牛客练习赛96 (A - C)题解
牛客练习赛96比赛地址目录A -- 小y的平面B -- 小y的树C -- 小y的序列A – 小y的平面签到题,将所有的坐标按照左端点排序,然后遍历一遍查有没有纵坐标递减的情况,如果没有答案为YES, 有答案为NO (这题数据应该是出水了,不用排序也能过)#include <iostream>#include <algorithm>#include <queue>#include <cmath>#include <cstring>原创 2022-02-26 14:36:29 · 708 阅读 · 0 评论 -
第十二届蓝桥杯C++组省赛B组题解(A -- G)
目录A.空间B.卡片C.直线A.空间已知:1MB = 1024KB1KB = 1024B一个数组单元占用4B的字节内存,所以答案为256 * 1024 * 1024 / 4 = 67108864B.卡片用一个数组存每种卡片还有多少张,再用一个循环遍历每个要凑的数,当卡片数不够了就输出答案int a[10] = {2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021, 2021};int main(){ for (int i原创 2021-12-19 17:16:53 · 4238 阅读 · 0 评论 -
南昌理工学院2021级新生入队考核(三) 题解
目录A --- 波吉大冒险B --- 波吉的聚会C --- 波吉买花花D --- 波吉不是笨蛋E && FG --- 波吉的迷语H --- 诅咒之气A — 波吉大冒险若一个数为偶数 那么这个数的最后一个数必定为偶数。从这里下手的话,可以得知只要给出的数最后一个数为偶数,答案为 0第一个数为偶数,只要翻转整个数 就可以得到偶数,答案为 1若不满足以上两个条件,那么如果整个数字中若有偶数,那么只要翻转这个偶数,将这个偶数变到第一个位置上去,再翻转整个数,即可得到偶数,答案为 2(先要原创 2021-12-11 15:59:36 · 336 阅读 · 0 评论 -
Educational Codeforces Round 118 (Rated for Div. 2) (ABC题解)
A题:题意大致为: 给你四个数 x1, p1, x2, p2, 比较x1后面加上p1个0 与 x2加上p2个0的大小 输出大小符号即可分析题目:首先看数据 p <= 1e6 所以肯定是不能用暴力一直去 *= 10做,ull都存不下, 所以就要想更简便的方法。首先我们可以比较长度,我们记x 为 x1加上p1个0之后的长度,y 为 x2加上p2个0之后的长度,若长度不等即可马上比较,所以有 int ta = x1, tb = x2; while (ta) { x ++; ta /=原创 2021-12-02 19:45:10 · 743 阅读 · 0 评论 -
牛客练习赛92 (A ,B ,D) 题解
比赛链接A – D与数列题目链接题意大致为 构造一个有序的长度为n的序列,其中中位数为A, 平均数为B首先,我们令答案数组为ans[N], 可以确定ans[n / 2] = a, 除了中位数以外的和sum = b * n - a因为构造的数组是由我们自己决定,那么最简便的方法肯定是若 sum > 0那么当i < mid时 a[i] = 1, mid < i < n 时 a[i] = a, a[n]就为最后剩下那个数就可以若 sum < 0那么当 1 <原创 2021-11-29 19:21:35 · 114 阅读 · 0 评论 -
Acwing 2770.方格取数
方格取数链接目录题意阅读理解状态表式思路过程核心代码题意阅读理解有一个矩阵,每个格子里都有一个数 ,每次经过都可以得到这个数的权值,每个格子只能走一次,能向右向上向下走,求从左上角(1,1)到右下角(n,m)路过权值最大的值可以注意到,这次是可以往上走的,所以如果用普通的线性状态转移方程f[i][j] = max(f[i + 1][j],f[i][j - 1]) + w[i][j];是肯定不行的,因为可以向上走,而如果max里面再加一个f[i - 1][j]的话,就会出现重复走的情况,这就是这个题的原创 2021-08-07 15:04:43 · 103 阅读 · 0 评论 -
线段树基础(建树,区间和,修改值)
南昌理工学院acm集训队线段树基础为什么要用到线段树这个算法?为什么要用到线段树这个算法?举个简单的例子:当我们有一段已知的数组 a 的时候想要得到一段区间[l,r]的和,可以通过前缀和O(1)的时间把他算出来,但是如果想要修改a[idx]的值的时候,却要用到O(n)的时间复杂度。同样,如果不用前缀和,修改的时间复杂度是O(1),而求区间和的时间复杂度又变为O(n)。所以线段树的作用就是,维护一个数组,无论进行什么操作,时间复杂度都可以降到为O(logn)...原创 2021-07-24 17:12:19 · 212 阅读 · 0 评论 -
线性DP的中等题-----------传纸条
线性DP的中等题-----------传纸条题目链接(源自Acwing)题意大概就是:一个点只能向右,向下走,从左上角走到右下角,然后再从右下角走到左上角,不能走到相同的点,求路径的权值最大值。所以可以讲题意简化成:从左上角到右下角,走两条路,求路径的权值最大值但是! 这里是不可以直接用简单的线性DP方程的f[i][j] = max(max(f[i][j], f[i - 1][j]), f[i][j - 1]);因为这个样子的,没有考虑到不能重复走一个点的情况,第一次就走完整个路径的最优.原创 2021-07-16 15:49:07 · 127 阅读 · 1 评论 -
01背包问题的详解
DP背包问题.01背包问题链接二维版本.我们可以用一个二维数组f[i][j]来存我们的答案,其中一维的f[i]表示的是选了i个物品下的最优解,二维的f[j]表示的是选了体积为j的物品下的最优解,所以f[i][j]的解释就是选了i个物品下j体积的最优解,所以我们的输出的最终结果就是f[n][m].其中f[i][j]就要通过f[i - 1][j]来推导得,例如我们在选第i个物品的时候,我们有两个选择,选这个物品还是不选,不选的话我们保留就是f[i - 1][j],选的话结果就是f[i - 1][原创 2021-07-10 17:17:15 · 195 阅读 · 4 评论 -
第十一届蓝桥杯(国赛)——扩散(BFS)
题目链接:第十一届蓝桥杯大赛软件赛决赛 C++ B组首先看到 我们都能想到去运用BFS + bool[N][N]去直接进行暴力破解,但是这个黑色点是会向负方向轴去运动的,而我们开的数组如果用了负数就是数组越界,导致该题解不出来,所以这题就需要去转换思路-------------------------------------------------------------------------------Tip1.将坐标轴进行移动每次我们的x , y其中之一为负数时,我们就将他加上一个数,使他的原创 2021-05-26 09:58:44 · 498 阅读 · 0 评论