自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 zoj 1814 || poj 1666 Candy Sharing Game

好久木有做水题了。。。今天那个zoj2583看不懂,就找了个水题。。这个题木有说N的范围,经过我多次测试,确定 N最大是100.。。N个小朋友,交换糖果,顺时针坐,给自己右边的小朋友一半自己的糖果,如果交换一次后有奇数糖果的小朋友,老师可以给他一个凑成偶数。问你经过多少次交换最后所有小朋友糖果数都相同。模拟。。不解释。注意,交换时是对这一轮初始态糖果进行交换。#include #include #include #include #include #include #include

2011-03-30 16:22:00 1748 2

原创 zoj 1519 || poj 1292 Will Indiana Jones Get There?

这题做了好久, T T。。。昨晚雏形都了,不过有BUG,昨晚用手机查到了个BUG,挺高兴的,今天中午乐呵呵地来调。。。下午第一节课听说课,逃了,调到第二节课快开始还没调完T T。。。去上了一小节课,回来继续调。。。继续找bug。。。BUG无限啊。。忽然发现dijkstra中似乎不用让起点入队,改掉之后,变成SF了。。无语啦,似乎是队列空的时候还取top()了,测试了一下,果然是。就把最外层循环改成队列不为空了。想了想,因为这个里面不是纯的最短路,所以有可能内层循环结束也不一定有一个会入队 = =。。。队列里

2011-03-29 18:10:00 1310

原创 zoj 1430 || poj 1697 The Erythea Campaign

<br />最短路分类里的,zoj只有50个人过,暴汗,不过应该大多数是被冗长的题目给吓住了吧。<br /> <br />给你地图,图中的1代表这里有根据地,你越靠近根据地,越容易被敌人发现,危险等级越高。不能从根据地中间穿过。<br /> <br />给你起点,终点,求最少的危险等级和使之可以到达,如果没有 输出,no solution。<br /> <br />危险等级是这么定义的,你在某个点,这个点离它最近的根据地的距离为d,那么,这个点的危险等级就是,矩阵的长+宽-d。<br /> <br />我第

2011-03-28 18:58:00 1210

原创 总结这周,展望下周

好吧,看了GB的report,我还是写写自己的想法吧。刚和萌萌聊了会儿,发现他的一些错误想法,哎。。。我今天是写不成了,脑子里全是萌萌说的东西,我得好好开导他。

2011-03-27 23:04:00 916 2

原创 poj 1195 Mobile phones

<br />及其类似之前的那俩二维数组的题。<br /> <br />给你改变以及询问。。。啊。。。不解释了。。。不懂的看前俩二维的。。。<br /> <br />WA了好久,刚才看了小说,感觉好好~~~满惭愧的。。。恩。。。<br /> <br />后来发现函数的变量写错了,改了改就A掉了 T T。。。<br /> <br />风好大哦。。。前两节我还是不去咧。。。<br /> <br />#include <queue>#include <stack>#include <math.h>#in

2011-03-24 13:26:00 1491 2

原创 最短路各种算法 稠密图 稀疏图 时间分析

分别有下面这几种算法(heap写了好久 T T 。。)其中未注明LIST的SPFA 和 dij 是邻接矩阵的形式。heap是手写的堆,邻接表存图。priority指的是调用C++里的STL。Dijkstra Dijkstr

2011-03-23 12:07:00 8815 3

原创 啊啊啊啊啊 !!我的heap!!!!

<br />今天弄一下午了,找到了好几个BUG。。。<br /> <br />1、heap_size我赋值成0了 = = 应该是n<br /> <br />2、二叉堆的那个数组开小了,应该是 2*MAX。。。<br /> <br />然后稠密图(每两点都连的那种)heap没问题了。。。我激动啊!!!<br /> <br />刚试了试稀疏图,我去啊啊啊啊 。。。不对啊啊啊啊  哭。。。。

2011-03-22 22:18:00 1168

原创 poj 2155 Matrix(二维树状数组)

楼教主出的二维树状数组。给出矩阵左上角和右下角坐标,矩阵里的元素 1变0 ,0 变1,然后给出询问,问某个点是多少。纠结好久了,一直没什么好思路,看discuss说四个角神马的,我搜了下,理解了,树状数组里记录该点的变幻次数,或者直接%2也行。查询的时候Getsum得到的是该点在所有区间的总变幻次数,最后%2就是结果。建图的时候死活想不通,杂四个点的坐标是那个 = =。。。刚才协会开会了,在路上想通了,我想的0,0坐标是类似坐标轴的那种,在左下角。。。而矩阵的0 0 应该是在左上角。。这样,什么都通了 =

2011-03-21 10:34:00 10798 21

原创 zoj 1716 || poj 2029 Get Many Persimmon Trees

二维树状数组分类下的题,开始不会,只想到了枚举行列,居然A掉二楼 = =。。。后来学习了一下二维树状数组,觉得好神奇啊。。。二维的话 ,Updata函数里的参数是两个,进行二重循环,Getsum里也是,开始一直错,因为我把俩循环写错了 = =。。。用的while循环,后来见别人都用for循环,觉得还是for循环短啊。。这个用树状数组做法就是,树状数组里的Getsum(x,y)得到的值是矩阵1,1 -> x,y 这个方块的和,所以要求得s,t大小的,只需要减去左边的块,下面的块,多减了他们的交集再加上即可。画

2011-03-19 12:41:00 1420

原创 ACM-HeNan Group Contest 1 - B 比赛

<br />题目 http://acm.nyist.net/JudgeOnline/problem.php?cid=26&cpid=2<br /> <br /> <br />采用幻方的做法,就是从已经输入的那一列开始填,从第一个数开始,右下角的数和它添相等的数,超出矩阵就返回到下一行第一列。。就这么下去。。。<br /> <br />开始没仔细想,快结束了,才在纸上画画。。。发现规律,果断A之。。<br /> <br />这次比赛就出了一题,太崩溃了。。。T T。。。<br /> <br />以后任重而道远

2011-03-18 22:39:00 910

原创 今天新加的MM说我淑女哎

<br /><br />淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 淑女哎 。。。<br /> <br />好吧 我知道我不淑女。。。T T 

2011-03-17 23:48:00 915 12

原创 zoj 2386 || poj 2299 Ultra-QuickSort

<br />我晕 ,这个我没有写题解么。。忘了。。<br /> <br />求逆序数。。。<br /> <br />白皮书上有,用的归并排序,今天又看了算导的归并排序,写了下,过了。<br /> <br />因为这个题在树状数组的分类下的,所以尝试用树状数组做。想了会。。。<br /> <br />因为数的范围很大,不过个数只有50W,所以就排下序,重新编数,这个据说叫离散化 = =。。。<br /> <br />编数之后,求这个数之前比这个数大的,不过用树状数组的话求比它小的值是比较容易的,那么就把数离散

2011-03-17 23:15:00 1954

原创 zoj 3129 || poj 3067 Japan

继续树状数组。这题跟上一道差不多,对第二个数排序,按从大到小,相同的话按第一个数从大到小排序,因为只要有一个相同,就不能这么计算,所以Getsum里的参数是x-1.。。直接算它前面的加和就好。我开始还判断了,不知道为啥一直WA,后来改成这种了。。上一题不能这么做,上一题是两个都相等才不加,一个相等也加 = =。。。zoj 这题才过30多人。。。poj 1000+ 这差距。。#include #include #include #include #include #include #i

2011-03-17 22:50:00 1571

原创 poj 2481 Cows(哇咔咔,树状数组^ ^)

<br />这题今天上午软件工程课想了会儿,觉得没错,中午放学回来敲,群上在说群赛神马的,明晚群赛^ ^ 等敲完该上课了,= =,测下样例,不对,无语了。<br /> <br />下午算法课,课上想了会儿这个题,上午想的是,把 s 排序,按从小到大,s相等的话,e从大到小,如果求和的话,求的是后面树的和,而不是像上一道题求前面子树的和。这点很有问题呀,如果是后面树的和,那么就从插入点来看,可能和它同棵树的点需要算,也可能不需要算,这点就很有问题。<br /> <br />下午又想了下,按e从大到小排,e相等

2011-03-17 17:22:00 1290

原创 poj 2352 Stars

树状数组第一题。水题。虽然是看着别人的代码过的吧,不过确实对树状数组有了个了解。树状数组的一系列操作都是logn的,所以在数据很大的情况很适用。这题是,给你一系列点(按y递增,x递增排列),level[X] 指的是 不超过当前点的高度和不在当前点右边的点的个数为x 的这些点的个数。读入一个点,判断它是哪个等级的,然后将这个等级的点的个数加一即可#include #include #include #include #include #include #include #inclu

2011-03-16 22:03:00 2735 6

原创 poj 2594 Treasure Exploration

<br />最小路径覆盖<br /> <br />和1422的区别在于,这题的节点可以属于多条路,看了discuss后才明白 = = 真是不好好看题啊我。。<br /> <br />因为每个点可以属于多条路,如果只属于其中一条路的话,匹配后,另外连接这点的路可能就断了<br /> <br />所以用FLOYD讲图都连通,然后求最小覆盖即可。<br /> <br />#include <queue>#include <stack>#include <math.h>#include <stdio.h

2011-03-15 22:10:00 970

原创 poj 2446 Chessboard

<br />这个这个 = =。。。数组开小,WA了数次。。。本来32*32,我开了1000,居然不够 = =。。。<br /> <br />把没有洞洞的块块编号,直接可以用一块板子盖的相邻的两个块块相连。。然后求最大二分匹配,求得的数/2  (因为建图建了两次边,1->2  2->1)看是否等于需要的块即可。。<br /> <br />#include <stdlib.h>#include <stdio.h>#include <string.h>#include <iostream>#def

2011-03-14 22:26:00 1776

原创 UVa 11045 My T-shirt suits me

第二道UVA的题目,1A,嘻嘻。类似之前做的那个衣服分配问题,不过这个比那个还简单了。每个人只有两种衣服适合,而且每种衣服的数量是相等的。建图很随意哈,把每种衣服拆成一件一件的,然后跟队员连线求最大二分匹配即可。#include #include #include #define MAX 650using namespace std;int map[MAX][MAX];int used[MAX],mat[MAX];char Size[7][5] = {"","XXL","XL",

2011-03-14 18:14:00 1772

原创 The 9th UESTC Programming Contest Warmup 1 A B D E

<br /><br /><br />出了4题,rank 37<br /> <br />A ,水题,看字符串里有多少个TTT, TTH, THT, THH, HTT, HTH, HHT and HHH<br /> <br />1A<br />#include <queue>#include <stack>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <iostream>#include <limits.h>

2011-03-12 23:10:00 1511 2

原创 poj 1698 Alice's Chance

<br />这个是多重匹配啊??? = =。。。无语了。。<br /> <br />可以用最大流做,把电影当成源点,输出电影天数的流,每一天连接流量为1作为汇点,然后就是多汇源的问题了。。最后看汇点流量是否等于源点流量即可。<br /> <br />我用匹配做的,直接把电影按需要的天数拆点,然后点与可以拍摄的日期连线,求最大匹配即可。判断最大匹配是否等于总共需要的天数即可。<br /> <br />电影拆点后最多可达到 20*50个点。。所以数组不要开小了。。<br /> <br />#include <q

2011-03-12 10:37:00 1473

原创 JAVA版的快排,堆排,筛法

今天在实验课上写的 = =。。。java真麻烦,每个函数。。呃 。。。方法前面都得写个static。。。这个堆排是所有数都输好了堆排,不是拿出来一个,插入一个的那种。。觉得我这个不符合面向对象的思想捏。。。党说可以那么弄。。挺好的,下次试试。堆排import java.io.*;import java.util.*;public class HeapSort{ public static void heapMin(int a[],int i,int heapsize) { int tm

2011-03-11 18:20:00 3454

原创 zoj 2192 || poj 2584 T-Shirt Gumbo

给你衣服每个号的数目,以及每个人要穿哪种型号的衣服,求是否所有的参赛队员都能穿到合适的衣服。最大二分匹配哈,建图,每个衣服数都拆成1,把每个人能穿的衣服都连条边,求最大二分匹配即可。这个建图虽然繁不过不难。。。一个变量写错导致SF一次。。匈牙利算法我木有看以前写的,哈哈。。好顺。。#include #include #include #include #include #include #include #include #include #define MAX 120

2011-03-10 18:44:00 1387 1

原创 zoj 1910 || poj 2363 Blocks (感谢党姐做的数论水题。。。)

<br />我们JAVA小组的队名~~~Follow The Party <br /> <br />跟党走,简称FTP,哈哈。。。<br /> <br />看党过题了,数论题,题目蛮短的,嘻嘻。。。打表过了~~<br /> <br />给出几个1*1*1的立方体,求最小的他们能组成的方体的表面积。<br /> <br />直接枚举,因为任何n个小立方体,设组成方体的长宽高是 a ,b,c,那么 a*b*c就是n,这个不解释。然后最最小的面积和,就是 2倍的 a*b+b*c+a*c即可。<br /> <br

2011-03-09 16:27:00 1816

原创 zoj 1992 || poj 1637 Sightseeing Tour

混合图的欧拉回路。以前没遇到过这种题,纠结啊。。。搜了下,发现是需要用最大流解的,隐约记得黑书上最大流有讲这个的,就去翻黑书了。黑书提供了两种算法,第一种自己模拟了下,觉得有点看不懂,觉得它书有的地方没说清楚,而且我自己模拟的结果不对 = =。。。第二种算法是网上大家经常用的,理解了下。大致就是,先将无向边定向,就是比如13,可以定它的方向为1->3,1的出度++,3的入度++即可。读入的时候如果遇到无向边,把这条边加入待建的网络中,流量为1。读入完后,然后用出度减入度得到x,如果x为奇数,肯定不存在欧拉回

2011-03-07 22:02:00 1821 2

原创 poj 3615 Cow Hurdles

<br />分类是网络流里的,结果感觉。。。一看discuss,有人用floyd而且木有超时,那我也用floyd吧。。<br /> <br />map里存的是 i 到 j 点路径上的最大值的最小值哈,判断条件改下就OK了。。。<br /> <br />#include <queue>#include <stack>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <iostream>#include <lim

2011-03-06 22:27:00 732

原创 zoj 2545 || poj 2661 Factstone Benchmark

<br />嘻嘻,最喜欢这种题啦。<br /> <br />给你年代,求得最大的n,使得n的阶乘在那个年代的整型范围内。<br /> <br />1960是4-bit的。每十年位数增长一倍。<br /> <br />直接从1开始往上*=2,k从1开始,如果大于k,/= k ,k++,继续这样下去。。。就OK了。。1A,嘻嘻,zoj好几天没做了。。。<br /> <br />#include <queue>#include <stack>#include <math.h>#include <std

2011-03-06 14:48:00 1335

原创 Codeforces Beta Round #60-B

<br />给你四位数,最多改变其中每个数的一个数字,是否能按非递减排序。<br /> <br />改变后的数字是大于等于1000小于等于2011的。<br /> <br />昨晚没过。。。 = =。。今早又想了会儿,改改,刚才提交过了 = =。。。<br /> <br />我是打表了,把每个数字能改变的的都放到表里,然后按从小到大排列,然后找最小的满足题意的。<br /> <br />比如 1000 找改变一个数字最小的,下一个数字找比上个数字大但是依然在改变中最小的。。就这么下去。。。<br /> <b

2011-03-06 12:05:00 836

原创 SCU 2011 warmup contest 4 —— A B C I

<br />http://cs.scu.edu.cn/soj/contest/contest.action?cid=262<br /> <br />A题,给你一个无向图,求没有连接到1的点的个数。可以用并查集或者从1出发DFS也行,10分钟1A,嘻嘻。<br /> <br />#include <queue>#include <stack>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <iostream>

2011-03-05 21:43:00 759

原创 河南省第三届省赛第四题——虚拟城市之旅

题目见百度文库 http://wenku.baidu.com/view/0fce6810f18583d0496459ff.html去年省赛的题目,开始想得挺麻烦的,后来经提醒,直接用最短路求从1能到达N的最大最小值。因为数据量比较大,用了SPFA。SPFA好久没写了,写了半天才写对,纠结啊纠结!!!#include #include #include #include #include #include #define MAX 500010using namespace std;

2011-03-04 23:02:00 2204

原创 poj 1295 Going Home

<br />这题以前拿最小费用最大流做过,KM 直接套模板了。。。恩。。。我还需要理解。。。<br /> <br />#include <cstdio>#include <cstdlib>#include <iostream>#include <string.h>#include <queue>#include <math.h>#include <limits.h>#define MAX 210using namespace std;typedef struct HOUS

2011-03-03 20:57:00 1028 2

原创 zoj 1239 Hanoi Tower Troubles Again!

<br />黑书上的题,今天随便看题居然看到了。。。<br /> <br />黑书上是用二分图的最小路径覆盖来理解这题的,用最小路径覆盖求得后,发现,这个解满足一个公式,我就直接套公式A掉了 = =。。<br /> <br />后用最大匹配做,发现是基本不能做的,因为是倒着匹配的,等于说是,已知有N个柱子,然后找一个数满足最大,等于说是需要枚举这些个数的,啊,我表示压力很大。。。<br /> <br />再者就是,用最大二分匹配打表,从p = 1开始,刚才试了N久,终于打成功了,不过TLE了。。。= =。。

2011-03-02 16:59:00 1200

原创 zoj 1312 || poj 1595 Prime Cuts

给你数n c,求在1-n中的素数,如果这个素数序列为奇数,求中间c*2-1个素数,偶数则求c*2个素数。很基本的,先打表,然后我的做法是,把最开始那个表素数里存成纯素数表中的编号,然后下面就简单了,细节处理注意一下就好了。#include #include #include #include #include #include #include #include #include #define MAX 30000using namespace std;int p

2011-03-02 16:22:00 1866

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除