雕刻时光

just do it……nothing impossible
随笔 - 547, 文章 - 0, 评论 - 82, 阅读 - 86万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

09 2013 档案

摘要://题目 通过后续遍历 中序遍历 得出一棵树 ,然后按树的层次遍历打印PS:以前对于这种用指针的题目是比较头痛的,现在做了一些链表操作后,感觉也不难先通过后续中序建一棵树,然后通过BFS遍历这棵树提供测试样例44 1 3 22 3 1 41010 7 6 9 8 5 4 1 3 27 10 6 2 5 9 8 3 1 4//题目 通过后续遍历 中序遍历 得出一棵树 ,然后按树的层次遍历打印#include#include#includeusing namespace std;int back[90];int mid[90];int n;struct data{ int v; int... 阅读全文

posted @ 2013-09-30 18:49 huhuuu 阅读(904) 评论(0) 推荐(0) 编辑

摘要:题意::从起点到终点的所有的最短路中,找出离终点有X个路口的城市一共有几个开始我用最短路+DFS从起点开始搜,超时了换了一种方法,从终点开始搜,AC#includeint N;const int MAX=1e9;int use[1009];int dis[1009];int map[1009][1009];bool hash[1009];int tempget[1009];int maxDis;int allPoint;int start,end,shortNum;void dijk(){ int i,j,min,rj,from; dis[start]=0; for(i=1;... 阅读全文

posted @ 2013-09-30 14:33 huhuuu 阅读(361) 评论(0) 推荐(0) 编辑

摘要:题目的大意是给了你有限个棍子以及每个棍子的长度,而且所有的棍子都是由有限个长度相同的棍子截断得到的,让你求被截棍子的最小长度搜索剪枝神题,做的我够呛提供一个比较好的解题报告 http://www.cnblogs.com/mycapple/archive/2012/08/14/2638430.html比较奇怪的是数组开小了WA了,开大就过了代码还是比较挫的#include#include#include#includeusing namespace std;int shu[299];int hash[299];int feng,n,ok,chu,fail;int nhash[299];void 阅读全文

posted @ 2013-09-29 10:12 huhuuu 阅读(240) 评论(0) 推荐(0) 编辑

摘要:http://pat.zju.edu.cn/contests/pat-a-practise/1018在杭州各个点,有很多自助自行车的点,最大容纳点为CMAX,但比较适合的情况是CMAX/2,现在从起点到终点,在最短路的情况下,调整各个车站的自行车数量使之CMAX/2,问开始时要提供的自行车最少与最后剩余的自行车最少的路径最短路+DFS在DFS时加上一个剪枝 if(lenth>dis[first])return ;就可以通过所有点#include#define MAX 0x3ffffffint cmax,N,end,M;int node[599];int map[599][599];int 阅读全文

posted @ 2013-09-26 10:43 huhuuu 阅读(1128) 评论(0) 推荐(0) 编辑

摘要:http://ac.jobdu.com/problem.php?pid=1522我想到了用multiset的方法#include#include#include#include#include#includeusing namespace std;struct data{ int v; friend bool operator set1; stacksta; char s[9]; int temp; for(i=1;i::iterator po; for(po=set1.begin();p... 阅读全文

posted @ 2013-09-24 22:33 huhuuu 阅读(209) 评论(0) 推荐(0) 编辑

摘要:http://pat.zju.edu.cn/contests/pat-a-practise/1021无环连通图也可以视为一棵树,选定图中任意一点作为根,如果这时候整个树的深度最大,则称其为 deepest root。 给定一个图,按升序输出所有 deepest root。如果给定的图有多个连通分量,则输出连通分量的数量。1.使用并查集判断图是否为连通的。2.任意选取一点,做 dfs 搜索,选取其中一个最远距离的点 A,再做一次 dfs,找到的所有距离最远的点以及点 A 都是 deepest root。考虑到为稀疏图,则使用动态链表#include#include#include#include 阅读全文

posted @ 2013-09-15 22:08 huhuuu 阅读(1814) 评论(0) 推荐(2) 编辑

摘要:http://ac.jobdu.com/problem.php?pid=1534给定两个整型数组A和B。我们将A和B中的元素两两相加可以得到数组C。譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]。现在给你数组A和B,求由A和B两两相加得到的数组C中,第K小的数字。对于每个测试案例,输入的第一行为三个整数m,n, k(1#include#includeusing namespace std;long long a[109999];long long b[109999];long long n,m;long long cmp(long long a 阅读全文

posted @ 2013-09-13 22:04 huhuuu 阅读(1178) 评论(0) 推荐(0) 编辑

摘要:通过几天的摸索,基本发现了两个VS的槽函数的修改方法一种是UI是通过UI 设计师拖出来的,类似VB的方法,通过拖的方法,按钮的代码是系统自动生成的,在UI.h的头文件下,这个时候,实现槽函数有个固定的格式。//槽函数在Header Files文件的头文件下#include #include "ui_qt1.h"class qt1 : public QMainWindow{ Q_OBJECTpublic: qt1(QWidget *parent = 0, Qt::WFlags flags = 0); ~qt1();private slots: void on_pushBu.. 阅读全文

posted @ 2013-09-04 16:53 huhuuu 阅读(5844) 评论(0) 推荐(0) 编辑

摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3068abcba 5aab 2在一个字符串里寻找一条最长的回文串比较直接的想法是枚举中心点 然后像两边扩散,但这样不仅要考虑最长子串的奇数偶数情况,而且时间复杂度会很高,因为会有比较多的重复计算分析 aaaab, abcba变成 #a#a#a#a#b# , #a#b#c#b#a#就都成了奇数子串现在再用一个数组P保存到该点的最长回文#a#a#a#a#b#12345432131 if( mx > i ) p[i] = min( p[2*id-i], mx-i );这一句减少了重复计算过程... 阅读全文

posted @ 2013-09-03 09:02 huhuuu 阅读(318) 评论(0) 推荐(0) 编辑

摘要:http://ac.jobdu.com/problem.php?pid=1527对于首尾不相连数组的最大子数组和我们比较熟悉首位相连时,有两种情况,一种是最大子段和在数组中间所以回到上个问题还有一种是最大子段和是首位连接的,这时先找最小的子段和,然后最大子段和就是数组总和减去最小字段和 两种情况取较大值 阅读全文

posted @ 2013-09-01 21:42 huhuuu 阅读(306) 评论(0) 推荐(0) 编辑

摘要:http://pat.zju.edu.cn/contests/pat-a-practise/1057题目的意思是可以在一个可以任意添加于删除整数的集合里随时查找该集合的中位数每次查找用nlogn的方法显然会超时所以要一种方法接近0(N)的查找方法, ( 计算第k大的数会超时!!)比如当前有1,4,7则树状数组的sum结果会是 1,1,1,2,2,2,3现在就变成了二分查找(3+1)/2 ,即2的最左端的位置ps: 2分查找有两种形式 (有一种会出错)int find(int value)// 1,2,3 { int mid,ll=1,rr=3; while(ll#include#i... 阅读全文

posted @ 2013-09-01 11:42 huhuuu 阅读(584) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示