![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
紫书
Sky ~ Komori
我要在ICPC拿奖
展开
-
紫书——Kickdown UVA - 1588
题解:第三章计算难题之一。首先要理清题目,这次给出的两个字符串是不可翻转,怎样转都不行,反正就是往简单方面想就是了。然后看出字符串长度不长,完全可以枚举所有情况。起始思路为两条串,分别从左边尝试到右边,如:121和12211开始:121 12211结尾: 121 12211这样最后求出的最短长度就是所求答案。但是这样超级难写!!!...原创 2018-05-06 21:24:39 · 166 阅读 · 0 评论 -
紫书——Crossword Answers UVA - 232
题解:题目难就难在读懂题意(orz好吧,英文不好)这道题目要求是开始格(有数字那些)就先横向输出,然后纵向输出,并且输出之后,后面被输出过的开始格就不会在输出一次,这就要求我们要对输出过的字母作保存。其二,纵向输出的时候,还是从1-n开始格的顺序,这个要小心,容易被绕晕然后贴上代码,函数1为横向输出,0为纵向输出#include <bits/stdc++.h>using namesp...原创 2018-05-03 22:12:24 · 171 阅读 · 0 评论 -
紫书——Hangman Judge UVA - 489
题解:这条题目比较容易,水题,但是相信有人会尝试debug里面的测试点之后会发现不同,但是提交之后缺ac了,因为(第一个)测试点是猜一个猜过的字母算错,但是错一个以错的字母不算错,而题目只要求第一个下面附上题目要求的解法:#include <bits/stdc++.h>using namespace std;char aa[50],bb[50];int main...原创 2018-07-16 20:41:12 · 162 阅读 · 0 评论 -
紫书——The Dole Queue UVA - 133
题解:这道题目书上有题解,水题直接给出代码orz主要是两个人都会挑选,判断好方向和次数就行(注意点:两个挑选完后才判断和删除人,不要挑选一个就删除一个) #include <bits/stdc++.h>using namespace std;int n,k,m;int is[25]; //记录该位置是否有人int fin_peo(int dic,int p...原创 2018-07-17 09:03:12 · 164 阅读 · 0 评论 -
紫书——Message Decoding UVA - 213
题解:这道题目的精华点就是一开始字符跟二进制配对的方法。书本上采用了二维数组来解决,第1个可以有1个,第2个可以有3个,如此类推,然后之后的就是考你细心程度了,注意getchar和回车的判断。 书上的代码大致如下:#include <iostream>using namespace std;bool readcode();int readint(int n)...原创 2018-07-17 09:57:55 · 224 阅读 · 0 评论 -
紫书——Spreadsheet Tracking UVA - 512
题解:题目大意为 你输入几个操作,改变该表格。然后输入原来的几个点,输出改变之后的位置或者gone(已被删除)直接操作表格比较难写,所以思想就是先把操作和原来的点想记录下来;然后判断每个点经过每个操作后的位置。书上都写了这两种方法。我的做法是第二个 #include <bits/stdc++.h>using namespace std;struct Node...原创 2018-07-17 18:37:15 · 221 阅读 · 0 评论 -
紫书——A Typical Homework (a.k.a Shi Xiong Bang Bang Mang) UVA - 12412
题解:一个大一的C语言大作业。(只是缺少了文档输入输出orzz)主要思想就是一个一个功能实现,从简单的做起,比如0和4.但是做了一天都debug找不出哪里错了,可以说不熟悉stl导致各种bug。以后做还是用数组的方法避免隐藏得很厉害的bug。 这个ac不了下面贴出佳哥的代码。比我短多了而且还过了。 #include<stdio.h>#include<...原创 2018-07-18 10:36:51 · 225 阅读 · 0 评论 -
紫书——Floating-Point Numbers UVA - 11809
这道题目很难,数学不好没办法,然后百度后借鉴大神的做法把他做出来了,我总结了以下几点1、首先要看懂他的问题,题目中两个0是代表符号位,这个是不用注意的,因为注定是0(正数);然后前面的0.11111...换成十进制就是1*2^-1 + 1*2^-2 + 1*2^-3 + 1*2^-4 + 1*2^-4.......,后面的2^11111....就是2的(1*2^0 + 1*2^1 + 1*2^2 ...原创 2018-07-14 17:51:52 · 126 阅读 · 0 评论 -
紫书——Ancient Cipher UVA - 1339
题目:这道题目真心觉得是烂题,可以说题目大意说得不明不白,加密的方式与题意没有任何关联只要你找出每个字母出现的次数和后一次出现的次数有关联就能YES比如MDMD和CCDD最后都是两次就YES了代码如下:#include <bits/stdc++.h>using namespace std;int main() { char str1[105],str2[105]; whi...原创 2018-07-14 18:44:18 · 132 阅读 · 0 评论 -
紫书——Data Mining UVA - 1591
题目大意:这题估计没多少人愿意做,题目太难懂了(我放弃了几次orz)先了解题意:首先P(i)和Q(i)我们要将他了解为偏移量,就是离开始数组p【0】啊等等的距离,而他们每个字节就是Sp和Sq;这就很好理解第一二条公式了Pofs(i) = SP · i 就是P【i】离P【0】的距离,也可以理解为数组P有i个元素的大小Qofs(i) = SQ · i. 这个和...原创 2018-08-01 11:32:12 · 164 阅读 · 0 评论 -
动态规划——矩形嵌套
题目链接:矩形嵌套矩形嵌套时间限制:3000 ms | 内存限制:65535 KB难度:4输入第一行是一个正正数N(0<N<10),表示测试数据组数,每组测试数据的第一行是一个正正数n,表示该组测试数据中含有矩形的个数(n<=1000)随后的n行,每行有两个数a,b(0<a,b<100),表示矩形的长和宽输出每组测试数据都输出一个数...原创 2018-10-20 16:55:53 · 2143 阅读 · 0 评论 -
动态规划——硬币找零
链接:硬币找零硬币找零时间限制:1000 ms | 内存限制:65535 KB描述在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从银行拿回最少的硬币数,并保证能用这些硬币发工资。我们应该注意到,人民币的硬币系统是 100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01 元,采...原创 2018-10-21 13:21:18 · 2010 阅读 · 0 评论 -
动态规划——A Spy in the Metro UVA - 1025
题解:这道题目基本上是线性dp,,只需要在记率每个时刻,每个车站左边或者右边有木有车驶来,一共有三种状态(等待,上左车,上右车),就可以判断下一状态需要等待的时间了,具体解法紫书上有说明注意点:需要注意你保存每一站的时间的下标是怎样的,然后根据你的下标在你记录车辆的时候注意下标,dp的时候也要注意下标 #include <bits/stdc++.h>using ...原创 2018-10-26 10:46:14 · 223 阅读 · 0 评论 -
紫书——Periodic Strings UVA - 455
题解:一开始看下去好难啊,好像数据结构上的kmp串查找,然后发现原来串最大80;好吧又可以枚举了每次枚举长度为j的串,一旦成功他就是最小的循环串#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#i...原创 2018-04-27 18:12:58 · 161 阅读 · 0 评论 -
紫书——Digit Counting UVA - 1225
题解:按照题意得答案emmmm 看到范围后注定不会超时#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#include <map>#include <cctype>u原创 2018-04-27 17:51:08 · 111 阅读 · 0 评论 -
紫书——Box UVA - 1587
题解:这道题目直接按照面与面之间的关系就可以判断出来了,比如样例一:1345 25842584 6832584 1345683 1345683 13452584 683按照长到短的排序,得到以下样例2584 13452584 13452584 6832584 6831345 6831345 683然后发现前4个长一定要相等,后4个短一定要相等,然后12的短和56的长一定要相等(想一想就证明到出来了...原创 2018-05-06 20:38:20 · 314 阅读 · 0 评论 -
紫书——All in All UVA - 10340
题解:简单题,感觉这是习题最简单的一题,就是两个字符串,不断比较字母,如果母串能删减为子串,则输出Yes,否则输出No代码如下#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3fint main() { //freopen("in.txt","r",stdin); string a,b;...原创 2018-05-06 19:17:15 · 141 阅读 · 0 评论 -
紫书——Repeating Decimals UVA - 202
题解:该题目要求求出每个除数的循环小数,由于整除0也算有循环小数,那么每个除数都会有答案。这道题的思路就是抽屉原理,由于除数只有3000这个范围,那么余数的范围最多只有0-2999,最差情况下一旦除了3000次后一定有循环的存在。这时候我们只要记录好每次余数出现的时间就可以求出有多少个循环小数。注意:这道题是每个输出都要有空行,不是数据间之间才有空行,不然会PE(PE了好多次orz)#includ...原创 2018-05-04 10:37:02 · 174 阅读 · 0 评论 -
紫书——DNA Consensus String UVA - 1368
题解:又是难在读题目的问题,这道题的想法是这样的。有m个字符串,然后输出所有字符串每列字符数最多的,其他不同的要加起来。如果一列中'A'和'T'相同,则输出字典序最小的'A'代码如下:注意字典序#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3fint n,m;string str[60];m...原创 2018-05-03 22:46:00 · 130 阅读 · 0 评论 -
紫书——TEX Quotes UVA - 272
ps:改题目书上的样例写得更好orz,新手如果看不懂他写的(估计没有了)可以观察一下我的代码,意思一样#include <cstdio>#include <iostream>using namespace std;int main() { //freopen("in.txt","r",stdin); bool isl = 0; //判断左边的单引号是否已经...原创 2018-04-24 10:12:29 · 142 阅读 · 0 评论 -
紫书——WERTYU UVA - 10082
题解:这个题目唯一要注意的是输入 \,' 等符号的时候要加\来引入,例如输入\的时候要\\最后这个题目打表就好,好吧,我复杂了orz#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>usi...原创 2018-04-26 21:31:52 · 131 阅读 · 0 评论 -
紫书——Master-Mind Hints UVA - 340
题解:题意书上已经有了,做的时候用了map来保存没有匹配上的数字,简单模拟题,代码如下#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#include <map>using nam...原创 2018-04-27 11:01:12 · 143 阅读 · 0 评论 -
紫书——Palindromes UVA - 401
题解:改题目要记录下镜像的字母,然后判断是否相同(即使镜像转换后,字符串反转是否与原串相同),理解好题意就好注意点:不是每个答案之间空一横,而是每输出一个就要输出一行,不然会PE#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <...原创 2018-04-26 22:01:52 · 136 阅读 · 0 评论 -
紫书——Digit Generator UVA - 1583
题解:改题目要求求出最小生成元,那么我们由1到100000打表出他们的最小生成元,在printf就ok了#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#include <map>...原创 2018-04-27 11:14:01 · 142 阅读 · 0 评论 -
紫书——Circular Sequence UVA - 1584
题解:这题目要求的是求出字典序最小的循环排列,那么枚举出所有开头拼成的字符串,每次比较一次就行#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#include <map>using...原创 2018-04-27 11:27:30 · 136 阅读 · 0 评论 -
紫书——Score UVA - 1585
题解:按照题意做就行了,难道不大,每次记录好有木有连续就ok#include <cstdio>#include <iostream>#include <string>#include <cstring>#include <algorithm>#include <map>using namespace std;...原创 2018-04-27 17:17:11 · 189 阅读 · 0 评论 -
紫书——Molar mass UVA - 1586
题解:改题目要求写出分子式,求出他的mol,由于没有括号,基本都是原题模拟就ok了我的想法每次把上一个记录下来,然后最后搞最后一个。注意点是两个字母相邻的时候,num为0;因此要分开判断#include <cstdio>#include <iostream>#include <string>#include <cstring>#include...原创 2018-04-27 17:42:32 · 141 阅读 · 0 评论 -
动态规划——Unidirectional TSP UVA - 116
题解:单向TSP,通过上一步的状态推出下一步的状态,和数字三角形的想法是一样的紫书上解释挺详细了,这里不用递归来做的话,由前往后推是不行的,因为要字典序最小,如果从前往后推的话是找不出来的(不信可以试一下)以后弄dp都从后往前推稳定一点 #include <bits/stdc++.h>using namespace std;typedef long long...原创 2018-10-27 11:21:01 · 182 阅读 · 0 评论