自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

做自己

菜鸟

  • 博客(6)
  • 收藏
  • 关注

原创 (精讲)UVA - 1339 Ancient Cipher 刘汝佳紫书题单(算法竞赛入门经典)

仔细读题并且对比样例可以发现,字母的替换和换元的规律是不同的,所以不能用模拟法将原来的字符串找到进行比对,所以要从替换换元前后的特点来看。替换:替换前后的两个字母集合可以看作是一个映射;例如 HAHA ——>HEHE字母H可以 对应E 也可以 对应H可以看一下映射的定义:简单来说,就是集合A中有两个H,那么集合B中也有两个H或AHHEE中,各个字母的个数为2,2HHAA中,各个字母的个数也为2,2那么我们就可以说上述两个满足替换法。换元:通过替换...

2022-01-16 18:34:34 637 1

原创 UVA - 489 Hangman Judge 刘汝佳紫书题单(算法竞赛入门经典)

思路很简单,题目中说猜对目标字母中的一个字母,就会将所有该字母的位置显现,因此,可以对目标字符进行筛选去重,然后对输入猜测的每个字母进行比对,由于不能猜已经猜过的字母,因此,要对成功猜出的目标字母进行去除(这里用&来去除该字母)得到的答案有三种:“you win”代表在错误次数小于七次的时候就已经成功猜测;“you lose”表示错误次数已经大于七次;you chickened out”在错误在七次之内且字母并未完全猜出时,猜测的字母已经用尽,即此时仍有猜测机会,但是没有输入字母;.

2022-01-16 18:03:53 592 1

原创 UVA - 10340 All in All(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

很简单的题目,遍历字符串对比即可需要注意的点就是记录 m和sam相同的下标时需要将遍历sam字符串的下标+1,防止m中有相邻重复的字符。代码如下:#include <bits/stdc++.h>using namespace std;void divideandjudge(string m, string sam) { int l = m.size(); int len = sam.size(); int i, j; int mid = 0; int f = 0;

2022-01-15 09:42:24 254

原创 UVA - 1585 Score(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

该题思路很简单,O的个数是计算有两种情况;将O连续出现的值赋给一个int类型的数组中,再将这个数组每一项进行一个等差数列(首项为1.公差为1)进行求和,然后总体求和即可得出结果;代码如下:#include <bits/stdc++.h>using namespace std;int jc(int n) //计算数列的n项和(暴力){ int sum = 0; for (int i = 0; i <= n; i++) { sum += i; } return

2022-01-14 18:50:45 180

原创 UVA - 1225 Digit Counting(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

个人感觉这道题有表述问题他的题目表述说明测试数据中的数是不超过20的,但其实他的测试点中是有百位数的,所以按两位数去处理数据显然会造成数组越界。代码如下#include <bits/stdc++.h>using namespace std;void divideandjudge(int len) { int judge[10] = {0}; if (len < 10) { for (int i = 1; i <= len; i++) { judge[i

2022-01-14 13:46:44 153

原创 UVA - 1586 分子量(刘汝佳紫书题单(算法竞赛入门经典 第二版 2014)

思路就是将字符与数字分开#include <bits/stdc++.h>using namespace std;const double C=12.01,H=1.008,O=16.00,N=14.01;double divide(char * p ){ double number[1000]; char s[1000]; double sum=0.00; int j=0; int l=strlen(p); p[l]='t'; p[l+1]='t'; p[..

2022-01-14 13:05:47 3577

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除