- 博客(25)
- 资源 (2)
- 收藏
- 关注
原创 【ICPC-354】Uva 10152 ShellSort
点击打开链接题目意思:有一堆的乌龟,输出一堆乱序的乌龟,然后输入一个正确的顺序,要求找到一种最小步骤的方法使得第一堆变成第二堆,每一次可以把乌龟移到第一个位置,输出该方法步骤.解题思路:我们可以用两个char 数组来存储第一和第二堆的乌龟顺序,然后用两个int 数组num和tem来存储乌龟的顺序编号.我们知道只要从后面往前遍历tem数组就可以找到最小的步骤,然后利用栈的先进后出...
2012-06-30 00:18:41 1153
原创 【ICPC-353】Uva 673 Parentheses Balance
点击打开链接解题思路:我们知道括号如果要完全匹配,那么左括号数等于右括号数,那么我们可以用一个栈来做,遇到左括号(“(” ,“]”)就压入,如果下一个符号刚好为栈顶元素那么就清除栈顶元素注意:如果遇到最后只有一个括号,那么只能入栈。还有数据中会有空格出现,要用gets输入,不要用scanf。代码:#include <iostream>#includ...
2012-06-29 21:30:44 1100
原创 【ICPC-83】POJ 3185 (The Water Bowls)
点击打开链接题目意思:翻碗(其实就是开关问题),题目说了定能找到一种方法使得碗全部被翻过来,所以不用考虑无解的情况。因此我们可以找到一个规律,如果当前该点为1,则翻下面一个点,那么我们可以知道这个方法得到的肯定是最优解(这里不证明),但是要注意一下数据例如 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 如果我们还这么翻则要多做很多次,其实...
2012-06-28 18:16:52 1222
原创 【ICPC-443】C++文件流例子
题目:1.创建文件名为textfile的文本文件,先向该文件写入如下信息: C++实验! 输入输出流操作! 创建文本文件成功!然后关闭文件,再以输入模式打开textfile文件读取数据,并从计算机屏幕输出文件内容.代码://********************************///#include<ios...
2012-06-27 11:09:32 2082
原创 【ICPC-442】C++文件流
C++文件流定义:流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内...
2012-06-27 02:06:55 1740
原创 【ICPC-352】hdu 1800 Flying to the Mars
点击打开链接题目意思:有n个士兵每个人有一个水平值,水平高的的人可以教低的人,意思就是求最少的扫帚,那么我们只要知道找到最大重复元素的次数即可,因为相同的人肯定不能共用一个,所以求得最少即为最大的重复次数注意:前置的0必须要去掉,例如数据 3 0 00 000输出 3法一 map...
2012-06-26 12:57:26 881
原创 【ICPC-257】hdu 1075 What Are You Talking About
点击打开hdu1075题意:给定一个映射表的关系,给定每个单词的对应的映射的单词。现在给定一段字符串,要求如果单词能够翻译就进行翻译,否则原样输出,但是注意所有的\n,\r,空格以及所有的标点符号都是不翻译的。思路:先对映射表的单词建立字典树,每个单词的尾节点标记这个单词所映射的单词的下标,那么对于给定的字符串,我们只要把所有的单词进行解析去字典树中查找即可。代码:...
2012-06-25 10:57:35 1483
原创 【ICPC-256】hdu 1251 统计难题
点击打开链接hdu 1251题意:给点一序列的字符串,再给你一些单词,问以这个单词为前缀的字符串的个数,注意本身也是自己的前缀思路:把给定的字符串建立一棵字典树,每一个节点保存的是当前节点为结尾的字符串出现的次数,那么对于给定的单词我们只要去查找字典树即可代码:#include<cstdio>#include<cstring>#i...
2012-06-22 18:49:08 1459
原创 【ICPC-441】字典树+KMP+AC自动机
<<字典树模板>>1:字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种。用于统计,排序和保存大量的字符串(也可以保存其他的)。优点就是利用公共的前缀来节约存储空间。在这举个简单的例子:比如说我们想储存3个单词,sky、skyline、skymoon。如...
2012-06-22 11:02:29 2448
原创 【ICPC-54】POJ 1220
点击打开链接高精度之间的转换,利用模板即可,可以看的资料里面代码:#include <iostream>#include <cstdio>#include <cstring>using namespace std;char str[1000];;int newBase , oldBase;int start[1000] , ans...
2012-06-21 15:56:58 1174
原创 【ICPC-440】字符串处理的常用函数
1函数名:strcpy功能:拷贝一个字符串到另一个字符串里面用法:char *strcpy(char *destin, char *source);程序例:#include<stdio.h>#include <string.h>int main(){ char st...
2012-06-15 20:28:24 1137
原创 【ICPC-53】POJ 1604
点击打开链接题意:求一个数 的阶乘然后找到最后一个不是0的数,例如120 ,则最后一个不是0即为2如果按照以前的方法求N!,这题肯定超时,因为只要一个数所以我们只要用到后面的5位数就可以,(5位数和最大10000相乘才不会超过int 范围)代码:#include<iostream>#include<cstdio>#include&l...
2012-06-11 16:25:44 1042
原创 【ICPC-52】POJ 2389
点击打开链接简单的大数相乘,直接套上模板即可,注意一下数组开大点,不然肯定WA。代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;int sum[2001];int s1[50] , s2[50];string str1...
2012-06-11 14:28:30 857
原创 【ICPC-51】HDOJ 1316
点击打开链接首先打表,然后就是比较了,比较恶心了一点,注意用compare比较 8 12会有 8>12,注意一下比较函数测试数据:input:83 34693088677 21463691593 42423833586 14976049249 18964142162 350490027ouput :323131303232代...
2012-06-10 15:57:06 962
原创 【ICPC-439】高精度模板
<<高精度模板>>#include <cstdio>#include <iostream>#include <algorithm>#include <ctime>#include <cs...
2012-06-10 00:24:26 1312
原创 【ICPC-50】HDOJ 1753
点击打开链接解题思路:我们开两个数组,数组的前500位存储整数部分,后面500位存储小数部分,开个sum数组求和即可,注意一下小数点的进位代码:#include<iostream>#include<cstring>#include<cstdio>using namespace std;int s1[1000],s2[100...
2012-06-09 23:26:00 815
原创 【ICPC-49】HDOJ 1047
点击打开链接//注意测试数据(其它就是有关大数的加法,由于这一题输入数据最大为100位,则不用考虑压缩)Input30000000000Output000代码://////////////////////////////////////////#include<iostream>#include<cstdio>...
2012-06-09 20:36:23 831
原创 【ICPC-48】HDOJ 2100
点击打开链接题目给出的26进制数要我们相加,先转化为10进制相加后在转化为26进制,其实和直接用26进制直接相加一样,所以我们直接相加即可注意如果全是A则输出A,例如AAAAAAA AAAAAA 输出结果即A代码:#include<iostream>#include<cstdio>#include<...
2012-06-09 18:50:21 820
原创 【ICPC-47】HDOJ 1865
点击打开链接输入用字符串输入,存入数组中,题目的数据最大250位代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int s[1010][250];void f(){ ...
2012-06-09 18:40:23 789
原创 【ICPC-46】HDOJ 1715
点击打开链接简单的大数相加上代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int s[1010][250];void f(){ memset(s,0,size...
2012-06-09 18:36:00 809
原创 【ICPC-45】HDOJ 1297
点击打开链接简单的大数相加代码:#include<iostream>#include<cstdio>#include<cstring>using namespace std;long long s[1010][1005];int main(){ int i,j,n; memset(s,0,sizeof(...
2012-06-09 18:22:09 826
原创 【ICPC-44】HDOJ 1250
点击打开链接这一提数据太大,考虑缩进数组每一位存储10的8次方然后利用大数相加代码:#include<iostream>#include<cstring>#include<cstdio>using namespace std;long long int num[10000][260];int main(){ i...
2012-06-09 18:19:25 772
原创 【ICPC-43】HDOJ 1042
点击打开链接题目的数据给的有40000位左右,所以要缩进,数组每一位存储5位即10的5次方就进位#include<iostream>#include<cstdio>#include<cstring>using namespace std;int sum[8005];int main(){ int i,j,n; ...
2012-06-09 18:12:41 832
原创 【ICPC-42】HDOJ 1002
点击打开链接读入用字符串,然后保存到数组里面(从后面往前存),然后利用数组每一位进行相加,输出时候要逆向输出#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>using names...
2012-06-09 18:06:47 875
原创 【ICPC-41】HDOJ1133
点击打开链接卡特兰数的运用(C(m+n,n)-C(m+n,m+1))*m!*n!化简即(m+n)!*(m-n+1)/(m+1)#include<iostream>#include<cstdio>#include<cstring>using namespace std;long long s...
2012-06-09 18:02:29 1080
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人