2011年9月5日

hdu 4006 解题报告

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4006大连网络赛过得人最多的题 难点在于排序超时 (n k都很大)感谢海峰学长讲述的不排序的排序算法(用空间换时间)①输入 第一个数 m,令ans=m②输入前k个数 若输入的数<ans 令ans=输入的数③输入后面的行 若Q 输出ans 若输入的数大于或等于ans ans向后跳一个数 否则ans不动一二过程中place=1;三过程中先跳place若place>f[ans] 则让ans跳到int数组的下一个不为0处 place=1;代码如下 1 #include<iostream&g 阅读全文

posted @ 2011-09-05 12:14 渔家傲 阅读(302) 评论(0) 推荐(0) 编辑

2011年9月2日

hdu 1015 Safecracker 解题报告

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1015题目说是从一个字符串中找到5个数 v w x y z 给定target (子母中 A=1 ,B=2,C=3。。。Z=26)v - w^2 + x^3 - y^4 + z^5 = target 题目中有一个要求:找到的vwxyz字符串按照字典序从大到小输出 又没看题 使用枚举的方法 5层循环 先对字符串从大到小排序 这样保证找到的第一个就是字典序最大的没有优化 5层循环直接过 简单的题因为没看懂题改了半天TT。。。哎 英语和理解能力急需加强。。。题目不难代码如下: 1 #include<i 阅读全文

posted @ 2011-09-02 17:42 渔家傲 阅读(271) 评论(0) 推荐(0) 编辑

2011年8月31日

hdu 2031 解题报告

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2031其实这个题可以直接用stl中的栈的 不过我试了一下用数组模拟栈 发现自己的问题题目很简单 就是每次不停地求商 把余数放入栈中 最后一口气弹出就行了※写模拟的时候出现问题 p=st;表示p的指针指向st[0] 而不是自己想的栈底 所以要先p++后进数 相当于st[0]不用※代码如下:#include<iostream>#include<cstdio>using namespace std;char a[16]={'0','1','2 阅读全文

posted @ 2011-08-31 16:25 渔家傲 阅读(176) 评论(0) 推荐(0) 编辑

2011年8月30日

hdu 2025 查找最大元素 解题报告+疑问

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2025说的不严谨 题目描述不清楚 测试数据根本没有大写的情况 直接全小写就过了 算上大写却没过 就是搜一遍找到最大字母 再搜一遍找到相同的多输出(max)AC了的代码#include<iostream>#include<cstdio>#include<cstring>#include<iostream>using namespace std;char a[105];int main(){ int i,j,k; char maxn; while(scan 阅读全文

posted @ 2011-08-30 15:46 渔家傲 阅读(447) 评论(0) 推荐(0) 编辑

2011年8月29日

hdu 2024 c语言合法标识符 结题报告

摘要: 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2024这一次让我充分体会到了基础知识的重要性 c语言的合法标识符是有数字字母和下划线组成的 并以字母和下划线开头的 我居然以为下划线不能作为标识符的开头,并且把字符型的数据直接赋值为1(没加引号 表示ASCII 的 1 与 '1' 不相同)还有 数字的范围居然写成了1到9 错误太低级了(数字的范围是0到9) 水啊水啊水ps:有些解题报告说这道题是个麻烦的题 需要判断是不是关键字 看来测试数据额有点水 虽然AC了 不过做的时候没想到毕竟过了 犯点懒 不改了 1 #include< 阅读全文

posted @ 2011-08-29 23:57 渔家傲 阅读(1173) 评论(2) 推荐(0) 编辑

2011年8月25日

hdu 1846 Brave Game 解题报告

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1846不太难一个题 并且是中文题 其实是 只要拿到r*(m+1)棋子的人必胜 所以 只需n对m+1取余数 余数为0时后手必胜 否则先手必胜其实是从后向前考虑 要那第n个棋子 就要那 n-(m+1) 才会必胜,然后逐个向前推进;※被输入给坑了 题目只有一个ncase 不知道为什么使用while(cin>>ncase!=EOF)WA 以前只有一组测试数据的情况下没遇到过 以后认真读题吧 ※※ 1 #include<iostream> 2 #include<cstdio> 阅读全文

posted @ 2011-08-25 16:55 渔家傲 阅读(169) 评论(0) 推荐(0) 编辑

2011年8月24日

hdu 2952 Counting Sheep 解题报告

摘要: 其实和1241是一个题 就是 把上下左右的四个方向连在一起的#是为片# 问图中有几篇#ps:打得时候搜索方向的向量的坐标打错了 找了半天 哎 注意一下吧方法和1421一样 并且方向少了 变为4个(1241的方向是直接粘贴的 看来有的东西只是看懂看不行 一定要亲自打一下 实践一下才行)在图中找到一个#使用一次dfs标记所有相连的# 总数+1;(见1241) 1 #include<iostream> 2 #include<cstdio> 3 #include<string> 4 #include<queue> 5 using namespace st 阅读全文

posted @ 2011-08-24 11:13 渔家傲 阅读(273) 评论(0) 推荐(0) 编辑

hdu 1241 Oil Deposits 解题报告

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241第一次写搜索代码 花了好大的功夫检查 看了别人的结题报告 还是错误一大堆 哎题目是这样的 @表示油田 *表示非油田 @与其八个方向@组成一片连续油田 一个@*组成的图 文有几片油田思路:没被标记找大一个@ 在使用dfs 把所有的相连的油田都标记为已查找然后油田片数+1;知道找完所有的点;用递归的方式实现深搜 1 #include<iostream> 2 #include<string> 3 #include<queue> 4 usingnamespace s 阅读全文

posted @ 2011-08-24 09:28 渔家傲 阅读(241) 评论(0) 推荐(0) 编辑

2011年7月25日

hdu 1001 Sum Problem 解题报告 数据范围

摘要: 水得要命 其实用循环求和一定能过 用公式求虽然n是int范围 但n*(n+1) 就不是了 或者根据奇偶先除以二 或者直接用long long(g++ 中的)ps:g++中long和int的范围一样 都是32位 自我批评一下 犯这种低级错误实在太二了 输出时打印两个换行 这个不用解释吧 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 long long int n; 7 while(cin>>n) 8 { 9 cout<<n*(n+1 阅读全文

posted @ 2011-07-25 20:14 渔家傲 阅读(307) 评论(0) 推荐(0) 编辑

hdu 2022 海选女主角 解题报告

摘要: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2022极其水的题:说在一个m*n的二维数组中找到一个绝对值最大的数定义max=0 每次输入一个数都和max的绝对值进行比较ps:二维数组居然开成一维数组了 错了半天才查出来。。。下次注意 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 int m,n,i,j,k,max=0,x,y; 7 int b[100][100]; 8 while( scanf(" 阅读全文

posted @ 2011-07-25 10:04 渔家傲 阅读(391) 评论(0) 推荐(0) 编辑

导航