![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACM
ACM算法相关,不定期更新
菜猫汤姆
这个作者很懒,什么都没留下…
展开
-
蓝桥杯练习题--16进制转8进制
这题刚开始的时候我直接转化,用整形输出结果错了,即使是longlong也过不了,结果发现这道题得用字符串来输出。因为我c++才刚学,所以在找题解找资料的过程中也学到了很多东西,感觉很赚,哼哼!然后就打算写个题解来记录一下自己学到的东西。问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过1..原创 2021-03-14 11:41:29 · 393 阅读 · 0 评论 -
蓝桥杯剪格子
资源限制时间限制:1.0s 内存限制:256.0MB问题描述如下图所示,3 x 3 的格子中填写了一些整数。我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在多种解答,请输出包含左上角格子的那个区域包含的格子的最小数目。如果无法分割,则输出 0。输入格式程序先读入两个整数 m n 用空格分割 (m,n<10)。表示表格的宽度和高度。接下原创 2021-03-31 17:44:58 · 75 阅读 · 0 评论 -
cf717(div2):B
看完题解之后懂了一点,写一下自己的理解。首先审题,随意两个相邻的数取异或,异或得到的值取代原来的两个值,要求最终得到的数组里的值都相等,元素个数大于等于2.思路:首先要知道前缀和是什么:那数学中的数组来打比方,a[n]代表一个数组,s[n]代表a[n]的前n项和,那么前缀和就是:s[1]+s[2]+s[3]+…+s[n]。那么把这个式子中的‘+’改成‘^’就变成的异或前缀和。分两种情况:第一种:最终结果为刚好两个数,根据异或性质可以知道,两个相等的数异或后为0,所以只要判断数组异或和是否为0即原创 2021-04-23 21:19:45 · 124 阅读 · 0 评论 -
钱币兑换(动态规划)
写了很久都一直不是很理解,所以写个解题报告加深印象。这道题是一道完全背包的题目,不同点在于求的是组合数而不是最大值。题目: 在一个国家仅有1分,2分,3分硬币,将钱N (N<32768) 兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。输入: 每行只有一个正整数N,N小于32768。输出: 对应每个输入,输出兑换方法数。分析:完全背包问题,设有i种钱币,给出钱n(其中n可以理解为完全背包中的背包容量,i可以理解为物品的种数)完全背包的状态转移方程为:dp[i][j]=max(d原创 2021-03-13 16:56:01 · 1283 阅读 · 0 评论 -
欧几里得递归算法求最大公约数和最小公倍数
欧几里得递归算法求最大公约数和最小公倍数代码:最大公约数:int gys(int a,int b){ if(a%b==0) return b; else return gys(b,a%b); }最小公倍数(需要用到最大公约数的代码):int gbs(int a,int b) { return a*b/gys(a,b); } 例题:核桃的数量资源限制时间限制:1.0s 内存限制:256.0MB问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班原创 2021-03-23 13:20:52 · 259 阅读 · 0 评论 -
蓝桥杯真题——带分数
非常明显的一道dfs的题目思路:先用dfs排列出1-9的所有组合,在用循环来分割出三个数sum1,sm2,sum3,如果sum1+sum2/sum3等于给出的数,那么times就增加1,其中要注意的是带分数要求sum2>=sum3。代码实现:#include<bits/stdc++.h>using namespace std;int a[10],book[10]={0},times=0;int n;void dfs(int step){ int i; int sum1,原创 2021-03-25 00:17:14 · 78 阅读 · 0 评论 -
运算符重载
1.格式类型 operate 运算符 (参数){函数主体}2. 类型必须是用户自定义类型,参数要是用户自定义参数。原创 2021-04-21 20:17:38 · 60 阅读 · 0 评论