随笔分类 -  g:Data structure & algorithm

摘要:。。。2012年5月9日。。。//HDOJ登不上、暴力应该不能AC吧~不过我已经想好了怎么用逆推优化了~嘿嘿。。。2012年5月10日。。。//HDOJ还是登不上,把优化代码写好了,O(N)时间复杂度。逆推的~。。。2012年5月11日。。。//原来以前做过这题。http://www.cnblogs.com/CheeseZH/archive/2012/03/14/2397044.html=================================================================================================数组a用来存储输 阅读全文
posted @ 2012-05-09 23:19 ZH奶酪 阅读(1206) 评论(0) 推荐(0)
摘要:开始遇到题目,以为就是简单的计算sum然后除f+1呢。。。惭愧了~二分法求线性方程的解、折半查找这些代码都写过,不过那些都是教科书上的东西,今天自己做了这道题,才发现,原来这就是二分。。。Problem : 1969 ( Pie ) Judge Status : AcceptedRunId : 5918963Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta#include <stdio.h>#include <math.h 阅读全文
posted @ 2012-05-09 22:22 ZH奶酪 阅读(604) 评论(0) 推荐(0)
摘要:从n-1个数开始逆推求出每个位置能够达到的最大值。Problem : 1087 ( Super Jumping! Jumping! Jumping! ) Judge Status : AcceptedRunId : 5918414Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta#include <stdio.h>int a[1001],b[1001];int n;int main(){ int i,j,tmax,res; whi 阅读全文
posted @ 2012-05-09 10:36 ZH奶酪 阅读(256) 评论(0) 推荐(0)
摘要:开始的时候没有AC,在网上找了一个和我思路一样的代码。通过和网上代码对照,找到了自己错误。已注释。Problem : 1078 ( FatMouse and Cheese ) Judge Status : AcceptedRunId : 5915406Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <s 阅读全文
posted @ 2012-05-08 17:45 ZH奶酪 阅读(396) 评论(0) 推荐(0)
摘要:Problem : 1029 ( Ignatius and the Princess IV ) Judge Status : AcceptedRunId : 5913583Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta#include<stdio.h>#include<string.h>#include<stdlib.h>int ary[1000000];int n;int main(){ int i, 阅读全文
posted @ 2012-05-08 11:44 ZH奶酪 阅读(254) 评论(0) 推荐(0)
摘要:这道题目没有做出来,代码写好之后一直没有AC,本以为做了这么多最小生成树的题目,这道题一定没问题的,结果很遗憾,没有注意细节问题:首先,如何处理已经建好的路?已经建好的路说明这两个点是连通的,只要把他们间距设为0就好了。其次,注意循环的控制,我把第一个for中的i=1写成i=0了。Problem : 1102 ( Constructing Roads ) Judge Status : AcceptedRunId : 5913541Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Rende 阅读全文
posted @ 2012-05-08 11:38 ZH奶酪 阅读(443) 评论(0) 推荐(0)
摘要:用longlong替换__int64也成。#define LL long long输入输出用%lldProblem: 3468User: qq1203456195Memory: 4284KTime: 1579MSLanguage: CResult: Accepted#include <stdio.h>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define maxn 111111#define INT __int64INT sum[maxn<<2],lazy[maxn<<2];IN 阅读全文
posted @ 2012-05-03 14:37 ZH奶酪 阅读(315) 评论(0) 推荐(0)
摘要:--------2012.05.06--------居然能撞上原题,算是幸运了一把~--------2012.05.02---------第一道成段更新的题目,第一次听说lazy标识,又不知道去哪里找资源学习,所以lazy思想不是很懂。有时间再研究研究~--------2012.05.03---------今天中好好理解了一下lazy标志,又观摩了一下代码,在纸上模拟了一下程序运行步骤,得出了以下的结论【仅针对此题】:(1)lazy标志在成段区间内的确很好用,如果没有lazy标志的话,那么程序还得更新到每个元线段,这样线段树的优势就不复存在。但是如果设置了lazy标识,那么只需要更新线段树中属 阅读全文
posted @ 2012-05-02 22:48 ZH奶酪 阅读(949) 评论(0) 推荐(0)
摘要:刚开始看到题目,想用memmove偷懒,结果TLE,后来查了查,才发现用memmove也是O(n^2)的复杂度。。。#include <stdio.h>#include <string.h>int seq[222222];int main(){ int n,i,j,idx,posi,vali,t; while (~scanf("%d",&t)) { memset(seq,0,sizeof(seq)); for (i=0;i<t;i++) { scanf("%d%d",&posi,&vali); ... 阅读全文
posted @ 2012-04-29 13:35 ZH奶酪 阅读(3096) 评论(3) 推荐(0)
摘要:Problem : 2795 ( Billboard ) Judge Status : AcceptedRunId : 5864258Language : CAuthor : qq1203456195/*题意:高h宽w的公告栏,往上边贴1*L的公告,在能放的区域内按照最上最左的原则张贴。输出:每张公告贴分别在了第几行。=========================================================================每个结点存储的是当前l-r行上能贴的公告的L的最大值Maxif(Max>=L)说明可以放{ if(MaxL>=L) 进入左 阅读全文
posted @ 2012-04-28 22:12 ZH奶酪 阅读(285) 评论(0) 推荐(0)
摘要:需要注意的就是给出的数是0~n-1,而线段树根节点范围是1-n所以main中insert要num[i]+1、当然,根节点范围换成0~n-1就不需要了。Problem : 1394 ( Minimum Inversion Number ) Judge Status : AcceptedRunId : 5863168Language : CAuthor : qq1203456195//往线段树中添加数据,每个结点记录的是//当前结点范围已经插入的数字个数//如果p点在左子树上,就累加右子树根节点上的记录#include <stdio.h>#include <stdlib.h> 阅读全文
posted @ 2012-04-28 18:20 ZH奶酪 阅读(445) 评论(0) 推荐(0)
摘要:Problem : 1166 ( 敌兵布阵 ) Judge Status : AcceptedRunId : 5862942Language : GCCAuthor : qq1203456195#include <stdio.h>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define maxn 55555int sum[maxn<<2];void PushUp(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1];}void build(i 阅读全文
posted @ 2012-04-28 17:29 ZH奶酪 阅读(433) 评论(0) 推荐(0)
摘要:Problem : 1754 ( I Hate It ) Judge Status : AcceptedRunId : 5863027Language : CAuthor : qq1203456195#include <stdio.h>#include <stdlib.h>#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define maxn 200001int Max[maxn<<2];void build(int l,int r,int rt){ int m; if (l==r) 阅读全文
posted @ 2012-04-28 17:27 ZH奶酪 阅读(419) 评论(0) 推荐(0)
摘要:Problem : 1253 ( 胜利大逃亡 ) Judge Status : AcceptedRunId : 5861859Language : C++Author : qq1203456195做这道题经历了一番波折啊~开始写了一个代码、自己测试了几个小例子、都通过了、可是就是不能AC。后来经苏哥指点,我学会了一种新的测试方法,经过这种方法的检测,我的代码明显是有错误的、后来发现我没有考虑环路、导致部分情形程序会一直运行下去、然后我就加上了一些约束、各种情形都能给出解了、但是有的明显不是最短路径、这是才发现原来我的代码是DFS、本来应该用队列的、我最初却使用了栈、今天上午有时间写一些代码了、 阅读全文
posted @ 2012-04-28 11:49 ZH奶酪 阅读(731) 评论(0) 推荐(0)
摘要:POJ1806DescriptionBackground Manhattan in the year 2025 - it is so densely populated that its old two-dimensional grid of streetsand avenues fails to provide enough space for all the traditional vehicles such as cars, bicycles, orbusses.Accordingly, the newly developed 3D-Skyjetters become very popu 阅读全文
posted @ 2012-04-19 21:28 ZH奶酪 阅读(800) 评论(0) 推荐(0)
摘要:悲剧的蓝桥杯,居然没有我的成绩。。。那个监场老师还说我已经提交上去了、、、唉。。。都过去了、去年的ITAT走运了一把、这次就当倒霉了一把吧~ 阅读全文
posted @ 2012-04-19 18:17 ZH奶酪 阅读(260) 评论(0) 推荐(0)
摘要:Problem: 1258User: qq1203456195Memory: 208KTime: 16MSLanguage: CResult: Accepted#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 105#define MAX 100005int visited[N],closet[N],Metr[N][N];int n;int prim(){ int i,ms,next,sum,j; memset(visited,0,sizeof(visited)); for ( 阅读全文
posted @ 2012-04-15 21:38 ZH奶酪 阅读(326) 评论(0) 推荐(0)
摘要:D题【不知道哪里错了,一直WA】DrawSomethingCheatTimeLimit:2SecondsMemoryLimit:65536KBHaveyouplayedDrawSomething?It'scurrentlyoneofthehottestsocialdrawinggamesonAppleiOSandAndroidDevices!Inthisgame,youandyourfriendplayinturn.Youneedtopickawordanddrawapictureforthisword.Thenyourfriendwillbeaskedwhatthewordis,gi 阅读全文
posted @ 2012-04-14 19:00 ZH奶酪 阅读(719) 评论(1) 推荐(0)
摘要:因为英语差劲,只能读一句翻译一句。题意:flatopia非常平坦,不幸的是,没有高铁,因此交通是一个难题。政府意识到了这一点,他们计划建一些高铁,这样不用离开高铁系统就能达到任意两个城市。F的城市从1。。N,每条铁路联通两个城市。每条铁路都是直线,每条铁路都能被两个站使用。每条铁路都能够互相穿插,但是一个司机只能选择一条铁路。政府抠门,想建最短的距离铁路,两两联通。输入:T(case数)c1n(3。。500)城市数N lines n个城市之间的距离(1,65536)int型搞定了empty linec2n..Problem: 2485User: qq1203456195Memory: 560K 阅读全文
posted @ 2012-04-14 14:09 ZH奶酪 阅读(353) 评论(0) 推荐(0)
摘要:这道题提交了N次,终于AC了,哪里错了呢???我一直找代码的错误。后来错误原因让我大吃一惊:我误以为题目中每一个case后都有一个0的,原来是全部case后边有一个0。。。。。Problem: 1789User: qq1203456195Memory: 15892KTime: 485MSLanguage: CResult: Accepted#include <stdio.h>#include <string.h>#define N 2002int n;//number of truck 2..2000char truck[N][7];//different types 阅读全文
posted @ 2012-04-14 12:40 ZH奶酪 阅读(369) 评论(0) 推荐(0)