- 博客(16)
- 收藏
- 关注
原创 详解-紫书习题3-12 浮点数(Floating-Point Numbers, UVa11809)
紫书习题3-12 浮点数(Floating-Point Numbers, UVa11809)题目:计算机常用阶码-尾数的方法保存浮点数。如 图3-9所示,如果阶码有6位,尾数有8位,可以表 达的最大浮点数为0.1111111112×21111112。注意小 数点后第一位必须为1,所以一共有9位小数。这个数换算成十进制之后就是 0.998046875263=9.2053576383452941018。你的 任务是根据这个最大浮点数,求出阶码的位数E 和尾数的位数M。输入格式为AeB,表示最大浮 点数为A
2022-01-11 15:16:22 439
原创 详解-紫书习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588)
紫书习题3-11 换低挡装置(Kickdown, ACM/ICPC NEERC 2006, UVa1588)题目:给出两个长度分别为n1,n2(n1,n2≤100) 且每列高度只为1或2的长条。需要将它们放入一 个高度为3的容器(如图3-8所示),问能够容纳 它们的最短容器长度。参考博客:同样犯错知识点,将字符串转化为数字时,开的数组要足够大。注意字符串数组里的元素是字符,需将字符转化为数字时,用a[i]-‘0’。#include<bits/stdc++.h>using namespa
2022-01-10 10:44:38 456
原创 紫书习题3-9 子序列(All in All, UVa 10340)
紫书习题3-9 子序列(All in All, UVa 10340)题目:输入两个字符串s和t,判断是否可以从t中删 除0个或多个字符(其他字符顺序不变),得到 字符串s。例如,abcde可以得到bce,但无法得到 dc。#include<bits/stdc++.h>using namespace std;int main(){ string s,t; int i,j=0,k=0; cin>>t>>s; for(i=0;i<
2022-01-10 10:33:49 335
原创 紫书习题3-10 盒子(Box, ACM/ICPC NEERC 2004, UVa1587)
紫书习题3-10 盒子(Box, ACM/ICPC NEERC 2004, UVa1587)题目:给定6个矩形的长和宽wi和 hi(1≤wi,hi≤1000),判断它们能否构成长方体 的6个面。思路:找准切除点,即如何判断长方体是否合法:面数(输入边数)- 对应平行的边应相等 - 具体合法长方体的情况归纳整理。因此,参考博客中归纳到,长方体共有12条边,分别为长a、宽b、高c,均出现4次,这是最普通的长方体,还要考虑长宽高互相相等的情况,总之判断边出现的次数是否满足以下三种情况即可(1)a≠b≠c
2022-01-10 10:31:23 327
原创 紫书习题3-8 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)
紫书习题3-8 循环小数(Repeating Decimals, ACM/ICPC World Finals 1990, UVa202)输入整数a和b(0≤a≤3000,1≤b≤3000),输 出a/b的循环小数表示以及循环节长度。例如 a=5,b=43,小数表示为0. (116279069767441860465),循环节长度为21。思路:关键在于找循环节,用sg来存储每一次的商,用yu数组来存储每一次的余数。在计算小数部分时每次都将上一次的余数乘十作为本次的被除数,依次进行下去直到找到某一次的商和
2022-01-04 17:22:29 656
原创 紫书习题3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
紫书习题3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)输入m个长度均为n的DNA序列,求一个 DNA序列,到所有序列的总Hamming距离尽量 小。两个等长字符串的Hamming距离等于字符不同的位置个数,例如,ACGT和GCGA的Hamming 距离为2(左数第1, 4个字符不同)。 输入整数m和n(4≤m≤50, 4≤n≤1000),以及 m个长度为n的DNA序列(只包含字母A,C,G, T),输出到m个序列的Hamming距
2021-12-30 15:07:01 462
原创 详解-紫书习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)
紫书习题3-6 纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994, UVa232)输入一个r行c列(1≤r,c≤10)的网格,黑格 用“*”表示,每个白格都填有一个字母。如果一个 白格的左边相邻位置或者上边相邻位置没有白格 (可能是黑格,也可能出了网格边界),则称这 个白格是一个起始格。 首先把所有起始格按照从上到下、从左到右 的顺序编号为1, 2, 3,…,如图所示。接下来要找出所有横向单词(Across)。这 些单词必须从一个起始格开始,向
2021-12-29 09:52:52 694
原创 详解-紫书习题3-5 谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)
紫书习题3-5 谜题(Puzzle, ACM/ICPC World Finals 1993, UVa227)有一个5*5的网格,其中恰好有一个格子是 空的,其他格子各有一个字母。一共有4种指 令:A, B, L, R,分别表示把空格上、下、左、右 的相邻字母移到空格中。输入初始网格和指令序 列(以数字0结束),输出指令执行完毕后的网 格。如果有非法指令,应输出“This puzzle has no final configuration.”参考博客https://www.it610.com/arti
2021-12-28 10:01:19 236
原创 紫书习题3-4 周期串(Periodic Strings, UVa455)
紫薯p193习题3-4 周期串(Periodic Strings, UVa455)如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期。例如, abcabcabcabc以3为周期(注意,它也以6和12为 周期)。注意:121231212312123的输出为5参考博客#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; int l=s.
2021-12-27 14:19:08 499
原创 详解-例题3-6 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)
紫书-例题3-6 环状序列(Circular Sequence, ACM/ICPC Seoul 2004, UVa1584)长度为n的环状串有n种表示法,分别为从某 个位置开始顺时针得到。例如,图3-4的环状串有 10种表示:CGAGTCAGCT,GAGTCAGCTC,AGTCAGCTCG等。在这些表示法中,字典序最 小的称"最小表示"。 输入一个长度为n(n≤100)的环状DNA串 (只包含A、C、G、T这4种字符)的一种表示 法,你的任务是输出该环状串的最小表示。例 如,CTCC的最小表示是CCCT,
2021-12-24 09:56:02 689
原创 STL(四)map
map映射map就是从键(key)到值(value)的映射。因为重载了[]运算符,map像是数组的“高级版”。例如可以用一个map< string,int >month_name来表示“月份名字到月份编号”的映射,然后用month_name[“July”]=7这样的方式来赋值。 set头文件中的set和map头文件中的map分别是集合与映射。二者都支持insert、find、co...
2018-08-10 20:06:38 242
原创 STL初步(三)set
set集合set就是数学上的集合,每个元素最多只出现一次,且其中元素已从小到大排列(唯一,已排序)。和sort一样可自定义。例题:UVa10815 Andy’s First Dictionary Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for ...
2018-08-09 23:07:30 192
原创 STL初步(二)vector
vector不定长数组vector就是一个不定长数组。一些常用操作也封装在vector类型内部。例如,a是一个vector,可以用a.size()读取它的大小,a.resize()改变大小,a.push_back()向尾部添加元素,a.pop_back()删除最后一个元素。vector是一个模板类,所以需要用vector&lt; int &gt; a 或者vector&lt; double...
2018-08-09 17:05:55 281
原创 STL初步(一)sort
sort 排序与检索algorithm头文件中的sort可以对任意对象进行排序, 包括内置类型和自定义类型。前提是类型定义了“&lt;”运算符。排序之后可以用lower_bound查找“大于或者等于x的第一个位置”。待排序/查找的元素可以放在数组里,也可以放在vector里。sort使用数组元素默认的大小比较运算符进行排序,只有在需要按照特殊依据进行排序时才需要传入额外的比较函数。如果...
2018-08-08 22:44:46 708
原创 初步认识快速幂
新手做的小小总结。概念快速幂是在进行大数计算时,为提高运算速率一个幂式取模(余)的运算。举个栗子:(这里拿2举例了,其他数也一样) 幂为偶数: 2^16 =4(2^2)^8 =16(4^2)^4 =256(16^2)^2 幂为奇数: (偶数的已经有思路了,那么就把奇转化成偶,这样就要分出来一个1,15=14+1,因此还需要用一个变量来记...
2018-07-31 21:53:46 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人