分类: 算法学习

26 篇文章

P1199 三国游戏(贪心+博弈)
传送门:三国游戏 给定武将个数和相互之间的默契值,人类先选,然后计算机再选,计算机可以拆散人类所选的最优解对应的武将。一开始只能想到暴力........,写了一百多行无效代码后发现好像挺难处理的(遂放弃),只能看题解了。首先是个简单博弈问题,这里人类可以优先选择最优默契值的武将之一,之后计算机需要拆散这个最优解。所以人类是不可能拿到每个武将默契值对…
C++高精度问题(乘除)
高精度乘法 与原来的高精度加减运算类似,这里需要考虑两个大数的乘法模拟情况,可以参考现实当中手算乘法的步骤,按位相乘,错位相加,最后的出结果。对于落实到程序来说,我们可以先不考虑进位的情况,根据按位相乘计算出对应位的数值,然后通过错位的方式将结果加起来放入数组C中,最后遍历C中的结果进行进位操作。对于按位相乘可以通过两个for循环实现,对于错位相加…
c++高精度问题(加减)
由于C++没有大数运算,需要通过字符串来模拟加减乘除,通过string来保存输入大数,然后保存到vector内,最后通过模拟的方法实现每一位运算。代码如下: /*高精度加法*/ #include <iostream> #include <vector> #include <bits/stdc++.h> using namespac…
关于栈的一些解题
题目链接:扩号匹配 一开始看不懂啥意思,上来就是大模拟,写了五六十行大概能过70个点,通过单独判断每一个左开符号是否有对应的右闭符号,但是这里有个问题就是他可能不是标准顺序,例如([)]像这种是不满足要求的。这种题目就是标准的栈类型的题目,利用栈来模拟。下面给出关于栈的一些操作: 头文件:#include <stack> push()//入栈…
数位题(位值定理找规律)
题目链接:P1590 失踪的7 做这题的时候上来就是暴力,直接枚举每一位是否含有7,有则舍去,没有答案加1,能过7个测试点。后三个超时,数据范围太大,暴力枚举必定超时,这时候就需要根据数位寻找规律,先贴一个暴力代码记录一下叭。 #include <iostream> #include <cstring> #include &…
搜索剪枝问题合集
记忆化搜索问题 在洛谷上看到一道题用到了记忆化搜索,原来也没有见过就记录一下吧。记忆化搜索主要用来递归过程中剪枝,可以把已经递归的值存起来,后面再用到的时候直接用就可以了,不用重复计算,能节省大量时间。主要是要找出保存记忆的值。 原题链接:例题 首先直接递归是必定TLE的,因为每次都要重复计算,比如15,15,15,在递归过程中重复计算多次,导致超…
1002 A+B for Polynomials
简单模拟题,有一些坑点,代码和注释如下: /*这一次,你应该找到A+B,其中A和B是两个多项式。 输入要求: 每个输入文件包含一个测试用例。每个案例占用2行,每行包含一个多项式的信息: k N1 aN1 N2 aN2...Nn aNn(k为多项式的数量,N1表示指数,aN1表示系数) 输出: 对于每个测试用例都应该在一行中输出A和B的总和,格式与输…
1001 A+B Format
首先考虑数的正负,如果是符号从后一位开始遍历,如果是0则直接输出,代码如下: /*计算a+b并以标准格式输出总和——也就是说,数字必须用逗号分成三个一组(除非少于四个数字)。 输入要求: 每个输入文件包含一个测试用例。每种情况都包含一对整数a和b, 范围已给,数字之间用空格隔开。 输出要求: 对于每个测试用例,您应该在一行中输出a和b的总和。总和必…
codeforce-round760-div3
题目链接:Problem - A - Codeforces 题意:给你一个数组大小为7的数组,在这个数组内有元素a,b,c满足a+b,a+c,b+c,a+b+c为另外四个元素,求出满足这个关系的一组a,b,c,直接输出即可。这里直接枚举就好了,代码如下: #include <iostream> #include <algorith…