小白
ZeroLH00
这个作者很懒,什么都没留下…
展开
-
UVA 11059 Maximum Product
题目大意:给一个数组,找出数组最大的连续子集乘积 解题思路:枚举全部起点和终点#include <cstdio>#include <iostream>using namespace std;int main() { long long int number[100]; int n; int x = 0; while(scanf("%d", &n) != EO原创 2016-11-15 23:02:28 · 630 阅读 · 0 评论 -
UVA 10976 Fractions Again?!
题目大意:输入正整数k,找到所有的正整数x>=y,使得1/k=1/x + 1/y 解题思路:x枚举k~2k,当能计算得到y时保存数据#include <cstdio>#include <iostream>using namespace std;int main() { long long int n; long long int g1[1000], g2[1000];原创 2016-11-16 15:44:20 · 263 阅读 · 0 评论 -
UVA 524 Prime Ring Problem
题目大意:输入整数n,将整数1~n组成一个环,使得相邻俩数之和是素数 解题思路:先列出素数表,然后回溯查看是否满足条件#include <cstdio>#include <iostream>#include <cstring>#include <math.h>using namespace std;int n;int flag[20];int num[20];int flag2[5原创 2016-11-16 17:22:18 · 303 阅读 · 0 评论 -
UVA 129 Krypton Factor
题目大意:如果又一个字符串包含俩个相邻重复子串,则称之为容易的串,反之则是困难的串,给出m和n,找最多出现前n个字母组成的困难串表字典序排列的第m个困难串 解题思路:每次加入字母时都与已有字母串进行比较,找是否有相同连续的串,判断前一半是否等于后一半,等于则跳出,不等于则继续#include <cstdio>#include <iostream>using namespace std;int原创 2016-11-16 19:57:46 · 372 阅读 · 0 评论 -
UVA 12627 Erratic Expansion
UVA 12627 Erratic Expansion题目大意:一开始有一个红气球,经过变化,一个红气球会变成3个红气球和1个蓝气球,蓝气球会变成4个蓝气球,输入k次变换后,a到b行共几个红气球 解题思路:设置函数count()计算经过p次变换r行以上的红气球个数,分2种情况(r在2^p-1之上或者之下)递归求解,其中防止tl设置count1计算2^p-1之上的气球数来提高效率#includ原创 2016-11-02 17:07:25 · 319 阅读 · 0 评论 -
UVA 140 Bandwidth
题目大意: 给一张图的结点连接, 对各个结点进行排列, 排列中的每一个点与存在连接的点的距离的最大值为带宽,求出使带宽最小的排列 题目要我们求出所有排列中,bandwidth最小的那个排列,并输出这个排列和这个bandwidth 解题思路: 利用回溯,一开始设带宽为元素个数,然后一个个元素加入排列,加入元素时与前面已经加入排列并与新加入的元素有连接(即flag2[][] == 1)的元素计算原创 2016-11-19 15:37:29 · 453 阅读 · 0 评论 -
UVA-1347
UVA-1347题目大意:给出几个坐标,求从左边到右边再回来遍历所有点的最短路径解题思路:转换思想为俩个人从不同路走过去的总路程最短的路 dp[i][j]表示第一个人到i点第二人到j点,j到i之间的点全部走过了的最短路 dp[i][j] = dp[i-1][j] + dis(i,i-1); dp[i][i-1] = min (dp[i][i-1], dp[i-1][j] + dis(i, j)原创 2017-07-02 16:27:55 · 355 阅读 · 0 评论 -
UVA - 116
UVA-116题目大意:m行n列的矩阵,从第一列任意位置出发,可以往右上右下走一格,最终到达最后一列,求经过整数之和最小的路径,如果和相同则选择字典序小的路径解体思路:dp,先顺推试着敲了下,因为要字典序存路径并比较字典序很复杂很复杂并且一直wrong 按小紫书上采用逆推简便很多逆推代码:#include <iostream>#include <cstdio>#include <cstring原创 2017-07-04 16:35:49 · 291 阅读 · 0 评论 -
UVA 10954 Add All
UVA 10954 Add All题目大意: 给一串数字,每次可以从中去掉俩个数然后将他们的和放入。每次操作的开销为去掉的俩个数之和。求出最小的总开销解题思路: 快速排序后去掉最小俩个数,然后将俩数之和放入后再次快速排序然后去掉俩个数……以此类推#include <cstdio>#include <cstring>#include <stack>#include <iostream>#i原创 2016-10-20 20:49:16 · 250 阅读 · 0 评论