自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SparkRat的家

正在重复造轮子的过程中。。。

  • 博客(49)
  • 收藏
  • 关注

原创 最近的瞎捣鼓 windows+cygwin && git && sublime text 2 && archlinux

先说说cygwin把。。在官网下载了一个setup.exe然后安装了。。我下的是cygwin64。。装完之后发现很鸡肋。。基本没用。 过了几天,在看博客的时候发现了这个东西其实是个好东西。因为它可以改造windows的弱渣cmd。。~。~ 把cygwin的bin加到环境变量里面。。然后cmd就可以用cygwin里面的命令了。。例如vi。。 但是非常痛苦的,我发现,,cygwin里面的命令太少了。

2015-04-25 18:14:34 836

原创 一些数据结构高(hao)逼(wu)格(liao)的实现方法

这绝对是一篇很水很水的文章,你要相信。 学了辣么久的C语言。写了辣么多的数据结构。你是否还在用数组模拟你的链表、二叉树、字典树&&平衡树? 今天无聊的我就来秀(shui)一(yi)秀(shui)我从大神那里学到的高逼格的实现方法把(对C语言指针有一定要求)。 首先,定义数据结构的节点: 链表是这样的:struct linkNode { typename data; stru

2015-04-19 16:54:38 699

原创 C语言小问题

问题源于一个宏定义#define max(a,b) ({int _ =(a), __ =(b); _ > __ ? _ : __ })也许——容许我瞎折腾一下于是我开始修改代码,查看各种代码反馈的结果。版本1 int a = 10, b = 100; int x = { int _=a, __=b; _ > __ ? _ : __; };好吧,我

2015-06-11 22:43:49 645

原创 成功叛逃到hexo

前天又把博客的主题给换掉了。没办法啊,yilia实在太符合我的要求了。因此我成功的从jekyll叛逃到了hexo。下面说说我的叛逃的过程吧。!!以下过程默认windows系统,并且git已经安装并配置好,github账号配置好和pages都会使用。安装node.js到node.js官网下载最新版本的安装好,安装直接一路点下去就可以了。安装hexo打开Git Bash,使用命令npm -v看看node

2015-06-11 22:43:12 737 1

原创 随笔-2015-06-09

关于今天今天下午社团有活动,搞了个优秀毕业生经验交流分享会。我被抓去拍照,兼当苦力。其实我心里真的一百个不愿意,我觉得社团活动这种东西, 真的不是我们这种技术猿应该干的事情,太繁琐,太没意义。 真的,至少对于我来说,今天下午浪费了的6个小时的有效的连续的时间真的是太宝贵了的。但是呢? 我收获了什么呢? 在这个活动中,我以一种懒散的态度拍了若干张绝对算不上好的照片,还好部长没有叫我写新闻稿,真是够

2015-06-11 22:40:02 522

原创 POJ刷题

这篇文章会持续更新, 记录我所有AC的POJ题目。 PS:我所有的POJ代码都存在我的github上。1000 A+B Problem水题不说了。1001 Exponentiation求一个数的n次方,用高精度,注意细节。1002 487-3279题目描述:设计程序,按照功能机上的9键键位把字母电话号码转化成数字电话号码,并将电话号码格式化(原本的电话号码格式里可能出现无数个短横线-(=_=#))

2015-06-11 22:39:20 921

原创 树状数组

树状数组是什么东西?先戳维基百科树状数组条目简单来说,树状数组就是一种可以大大降低维护一个数字序列的时间复杂度的数据结构。树状数组的定义树状数组的具体做法是这样的: 假设原始的数字序列为\(A_ {i}\),树状数组的序列为\(C_ {i}\)。 则有:\(C_{1} = A_{1}\)\(C_{2} = A_{1}+A_ {2}\)\(C_{3} = A_{3}\)\(C_{4} =

2015-06-11 22:37:34 525

原创 博弈论初探——取石子游戏

问题源自于 POJ1067关于取石子游戏 取石子是一种很有意思的游戏,两个人根据指定规则轮流从石子堆中取若干石子,规定最后取光石子玩家获胜,假定双方玩家都采取最优策略,问先手(A)是否有什么必胜策略。这是一种博弈游戏,由此延伸出来了博弈论。科学严谨的定义详见维基百科博弈论条目。本文仅仅讨论最简单的三种博弈游戏。首先我们定义奇异局势为: 选手面对奇异局势时必输。所以,对于博弈游戏的分析转化为寻找

2015-06-11 22:34:37 649

原创 My learn of git

我的git最开始是在廖雪峰git教程学习的。安装git我的git是在github 下载的mysysgit 然后打开安装包,一路点下去就好了。然后就可以在右键菜单里面发现git bash的选项了。 学习基本的git命令我第一个学会的命令是 git init然后是 git config 命令git config --global user.name "sparkrat"git config --gl

2015-06-11 22:34:01 544

原创 青岛市赛总结——远征石油大学

今天去石油大学参加青岛市ACM市赛,我大学的第一次比赛(T_T),与林敏轩和学长的合作真的很愉快。介绍一下题目吧。第一题,是一道求期望的题目,很难。学长搞了很久没搞出来,好吧,这道题目的确很难,全场只有那么两个友情队搞出来了。。似乎冠军都没搞出来。。好吧,我也忘记了。。第二题,是一道很奇葩的题目,至今不知道算法。。不考虑了第三题,我想出来的,贪心,但是一开始搞错策略了,WA了一次之后发现从小到大的枚

2015-06-11 22:33:00 1616

原创 POJ1068

题目描述:一个括号序列S可以用两种方式编码:P序列和W序列。 两种编码方式得到的序列定义如下:P=P1P2······Pn, Pi表示从左至右每一个右括号左边有多少个左括号。W=W1W2······Wn,Wi表示从左至右每一个右括号匹配的左括号是从它开始往左数的第几个左括号。 例如: S= (((()()()))) P= 4 5 6 6 6 6 W= 1 1 1

2015-05-26 12:14:55 537

原创 随笔——2015.05.25

总觉得最近在我身上发生了很多事情,然而并没有。算法和ACM新的一周开始了,周末做了一套vj的练习。在规定的时间内,我只做出来了6道。 然后在结束时我还在写的题目C在半个小时之后被窝搞出来了。 vj结束之后,我发现,有10道题目是poj的。然后我顺手把已经ac的代码到poj上提交了一下。然后在星期天,我发现D题是一个炒鸡炒鸡水的bfs,想出来之后没有花几分钟就把D给AC了。 当时我在当时并没有想

2015-05-25 20:32:32 456

原创 poj1024

题目描述:给定走出一个迷宫的最短路径,再给出一个由这个最短路径算出来的解(一个墙的结合),现在要有设计程序判断该解是否正确。 正确的标准:最短路径为给出的最短路径且唯一,如果给出的解(墙的集合)组成的迷宫的最短路径比给定的最短路径长或短都不行,一定要一样长且只有给定的那一条路是最短路。 输入格式:多组数据,第一行为一个整数t,表示数据的组数 每组数据包括一个原始问题输入和一个原始问题输出。

2015-05-21 22:36:24 1435

原创 poj1023

题目描述:给一个长度为k的二进制符号序列,每一位都有两种状态,正的(用p表示)和负的(用n表示),给一个n,现在要求有没有满足条件的二进制数在按照给定的序列转化成10进制后等于n的。 example:例如给定序列长度为4,二进制符号序列是ppnn,给定n为10,则二进制数为1110,因为1*2^3+1*2^2-1*2^1-0*2^0==10。 输入格式:第一行一个整数t,表示有t组数据,每组数据

2015-05-20 20:30:58 589

原创 poj1022

题目描述:有一个由n个四维的小立方体(四维的还能叫立方体?* v *)组成的产品(名字叫做EE3),小立方体之间互相用胶水粘在一起,现在需要一个程序判断EE3是否合格,如果合格计算EE3的体积(四维情况下还能叫体积么?@_@!!)。 EE3合格的条件:所有的小立方体都连通,并且任意两个相邻的小立方体只公用一个维度,且在该维度上互相在对方的相反方向上。 提醒:每一个小立方体都有8个面(因为四根坐标

2015-05-19 19:02:33 917

原创 poj1021

题目描述:判断两个图是否等价。 对等价的定义是:两个图有相同个数的连通块,第一个图里面的每个连通块总能在第二个图里面找到一个连通块(未与别的块匹配)与之匹配。 对连通块匹配的定义是:两个连通块如果能经过若干次平移、对称、旋转等操作之后重合,则说它们是匹配的。 现在要求设计程序,输入两个图,输出它们是否等价。 输入格式:第一行一个整数t,表示有t组数据,接下来t组数据,每组数据由3行构成,第一

2015-05-16 21:25:22 1180

原创 poj1020

题目描述:有一个边长为size的正方形蛋糕,现在问这块蛋糕是否恰好能被分成n块特定边长的正方形小蛋糕。 输入格式:第一行一个整数s,表示有s组数据,每组数据一行,每行开头一个整数s,表示大蛋糕的边长,然后是一个整数n,表示小蛋糕的数量,接下来n个整数,代表这个n块小蛋糕的边长。 输出格式:每组数据输出一行,”KHOOOOB!”或者”HUTUTU!”,分别代表恰好可以分和不能分。 数据约定:1<

2015-05-15 11:41:35 713

原创 poj1019

题目描述:有一个数列S1S2·····Sk,Sk是由从1到k的数字组成的数列,例如这个数列的前80个数字是: 11212312341234512345612345671234567812345678912345678910123456789101112345678910 现在给定一个数字i,要求给出该数列的第i个位置上的数字!! 输入格式:第一行一个整数t,表示有t组数据,接下来是t行,每行一

2015-05-14 23:00:20 397

原创 poj1018

题目描述:有一批订单(order),需要n种设备组成一个交流系统。每种设备有m个设备制造商,每个设备制造商的设备都有不同的带宽(bandwidth)和价格(price)。 定义系统的带宽(B)为这个n个设备里面的最小带宽 定义系统的价格(P)为n个设备的总价格 现在要求你设计程序计算从设备制造商提供的所有设备中选出n个(每种一个)使得系统的B/P最大 输入格式:第一行一个整数t,表示总共有t

2015-05-14 20:44:29 455

原创 poj1017

题目描述:有六种size(1*1,2*2,3*3,4*4,5*5,6*6,)的物品,只有一种size(6*6)的箱子。现给出每种物品的数量,求最少要用多少个箱子才能装下所有的物品。 输入格式:有多组数据,每组数据一行,每行六个整数,分别表示从1*1到6*6size的物品的数量。输入以6个零结束。 输出格式:每组数据输出一行,每行一个整数,表示最少的箱子数量。最后六个零不输出。 解题思路:特么的

2015-05-12 16:53:29 637

原创 poj1016

题目描述: 定义一个整数的inventory为:从0到9排列的(数字的个数+数字)。 例如”5553141”里面有2个1、1个3、1个4、3个5。所以”21131435”是”5553141”的inventory。 定义一个整数的第n(n>1)个inventory为:它的第n-1个inventory的inventory。 定义一个整数进入一个长度为n的inventory循环为:它的第n个inve

2015-05-10 14:18:45 658

原创 poj1015

题目描述:有n个人,需要从中选出m个人,每个人都有一个d和一个p值,要求选出来的m个人满足:在所有的方案中,所有人的p值之和减去所有人的d值之和的绝对值最小,如果最小的绝对值相等,则取p值之和加上d值之和最大的方案。 输入格式:有多组数据,每组数据n+1行,第一行两个整数n和m,接下来n行每行两个整数,表示每个人的d值和p值,以0 0结束输入。 输出格式:每组数据输出三行,第一行表示当前数据组数

2015-05-09 19:45:25 589

原创 poj1014

题目描述:有一堆石头,每块石头都有一个value,value只有六个数字0-6,现给出每个value的石头的个数,问,这堆是有能否分成value和相等的里两堆。 输入格式:每行一组数据,每行六个整数n1,···,n6,分别表示value为i(i=1···6)的石头的个数。以0 0 0 0 0 0结束输入(该组数据不输出结果) 输出格式:每组数据都要输出一行”Collection #k:”,k是数

2015-05-08 15:34:55 497

原创 poj1013

题目描述:12个金币中有一个是假币,假币的大小颜色都和真的一样,只有重量不一样,但是有可能比真的轻,也有可能重,现在要通过称重找出那个假的。 输入格式:第一行一个整数n,表示有n组数据,每组数组有3行输入,每行由被2个空格隔开的三个字符串组成,表示一次称重的结果,前字符串由A-L的大写英文字母组成,分别表示天平左边和右边分别放的金币编号。第三个字符串有三种情况”even”,”up”,”down

2015-05-05 22:17:24 1633

原创 poj1012

题目描述: 经典的约瑟夫环问题。有n个人围成一个环,给定一个m,从0开始报数,报到第m个数的人出局,然后从此人后一个人继续从0开始报数,直到全部人都出局。现在问:对于给定的k,表示有2k个人,然后要求输出一个m使得第一次有前k个人里的人出局时,后k个人已经全部出局。 输入格式:若干行,每行表示一个输入——k,以0结束 输出格式:每个k输出一行,表示满足条件的m 数据保证:0< k <14

2015-05-05 17:10:53 527

原创 5.1比赛总结加解题报告

比赛成绩很差很差。。8道题竟然只水出来三道,还有好几道题目也是水题,但是由于英语的原因。没看懂题目意思,然后坑了。英语是硬伤啊,要抓紧时间提升英语水平啊,以后的题目都是全英文的,无奈之。 这次比赛用的题目是codeforces上的第245号比赛题,不过题目的顺序给挪动了。写写解题报告把。。我还是按照codeforces上的顺序来把。 A.System Administrator 题

2015-05-03 12:22:45 473

原创 poj1011

题意不说了,有中文。 搜索。高难度剪枝。 其实这道题在POJ上的数据太渣。水水的剪枝就可以过。但是UVA的那道一样的题目不行。。推荐一个好的题解。 这道题目一开始我只想到3个剪枝方法。然后百度到了另外3个。首先确定答案的范围,答案必然满足maxlen<=answer<=totlen/2 或者 answer==totlen然后answer一定是totlen的约数即必须有 totlen%ans

2015-04-30 14:26:41 863

原创 poj1010

坑爹的搜索题。。搜索什么的最讨厌了。还有英语真的很伤!! 题目大意就不说了。。由于搜索方面的薄弱,so借鉴了这个博客的思考。 我采用的是dfs的搜索方法。从上面那个博客里学到的优化。还有使用std函数sort排序。哈哈哈好方便的说。 不知道为什么,我总是想不到搜索的剪枝,例如这道题里面的对邮票的面值进行排序。。超过5张面值一样的邮票,直接算5张,我觉得我真的很难想的到。。我直接看别人的剪枝方法

2015-04-29 20:05:39 617

原创 poj1009

这是一道有挺难的题目。英语硬伤。好吧,我承认我在百度上找了翻译。 题目大体意思我就不说了,百度有翻译。。 这道题目一开始我是没有任何头绪的,因为,直接对像素点暴力的话肯定TLE。。开二维数组然后MLE的弱智想法我肯定不会去想。。所以,主要是对时间复杂度的优化。 感谢 这个博客的代码给了我很大的启发。 解题思路如下: 根据题目给出的条件——pair最多只有1000对,然后仔细思考会发现,如果

2015-04-28 23:10:46 842

原创 poj1008

炒鸡大水题,一次性AC不解释!!!题目还有中文翻译有木有。。#include <cstdio>#include <cstring>char monf[20][10] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac"

2015-04-26 16:14:14 516

原创 poj1005

突然发现1005竟然忘记写题解了。。补上 这道题当时有点没看懂,后来看了discuss才明白意思的, 大体意思是这样的:有一个半圆从原点每年以一定的速度扩张,然后给你一些点,要求你输出半圆扩张到这些点的时间(多少年)。。 然后用数学公式就过了。。#include <cstdio>#define pi 3.14159265357int main(int argc, char const *ar

2015-04-24 16:06:17 637

原创 poj1007

炒鸡大水题 直接用三重循环(不会超时)实现读取加处理,然后选择排序,然后输出就过了。 贴代码!#include <cstdio>#include <cstring>#define MAX_LEN 5555#define STR_LEN 55int num[MAX_LEN], f[MAX_LEN];char s[MAX_LEN][STR_LEN], t[STR_LEN];void swa

2015-04-24 15:59:23 312

原创 POJ1006

坑爹的数学题! 大体的意思就是:已知三个周期tq=23、te=28,ti=33!然后,一个case给你四个数,前三个q、e、i,对应已知的三个周期,是周期开始的时间,然后每个时间你需要输出从第四个数所代表的时间到三个时间经过若干个周期后相等的时间。(每个时间的周期数不要求相等,例如q经过了k1个周期,e经过了k2个周期,i经过了k3个周期使得q+k1*tq==e+k2*te==i+k3*ti)

2015-04-22 17:27:42 454

原创 poj1003&&poj1004

POJ1003这是一道水题,我一开始还想复杂了。。擦之 之后我发现了它的水题本质。不过我还是WA了无数次。。 不说了,说多了都是泪。。。直接上代码#include <cstdio>#define MAX_LEN 333int main(int argc, char const *argv[]){ for(double que; scanf("%lf", &que) && que !

2015-04-21 22:15:08 444

原创 POJ1002 题解

看了很多人的解题报告。。发现很多写法快排堆排hash优先队列但是。。就是没有字典树的。。然后我就写个字典树把。。因为我看到这道题的第一想法是字典树。。然后我WA了5次。。然后。发现是个低级错误导致了我的WA、天坑! 写插入函数的时候。。一开始是写成了这样的。。for(; *pst++; ) { int ch = *pst - '0'; if( ptr->c

2015-04-20 20:54:53 631

原创 十一旅行感悟

事先声明,以下所有煞笔都是戏称,不要当真!!! 写给我自己: 我不知道到底是为了什么,反正我是来了北京!也许是为了曾经自己对自己的承诺,也许是因为我还没真正的一个人出来走过,只是想体验一下!也许没有也许,只是一场想走就走的旅行!这样的旅行不需要理由不是么? 以前总是听说北京空气怎么怎么差,北京交通怎么怎么拥挤,但是来了之后才觉得那太夸张,不过北京公交是真的很挤,不过,地铁是个好东西,两块钱想到

2015-04-18 16:55:57 1826

原创 rqnoj302题解

题目:Ski Lift 问题编号:42 题目描述 建造滑雪场的升降轨道。起点和终点的高度已知,x坐标分割成若干份,间隔为1,每一点都给出支架的高度。要选择尽可能少的支架顶端建立固定点,两个固定点之间用一条直钢轨连接,当然要求中间支架的高度都不能超过钢轨在那里的高度。而且两个相邻固定点之间的距离不能超过给定的K。 [输出说明] 可以选择第1、5、7、9、13个支架作为固定点。而且至少需

2015-04-18 16:46:50 634

原创 RQNOJ57 AC之后~~

题目:找啊找啊找GF 问题编号:57 题目描述 题目背景 “找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见.” “诶,别再见啊…” 七夕…七夕…七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦…虽然他听着这首叫做”找啊找啊找GF”的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了七夕模拟赛的负责人zmc MM,让她

2015-04-18 16:43:30 484

原创 RQNOJ252 公司聚会 题解。

题目:公司聚会 问题编号:252 题目描述 dd_engi所在的TIANYI公司要举办一次盛大的公司聚会。可惜的是,由于场地和花费的原因,不可能所有人都参加。现在的任务是拟定参加聚会人员的名单。 TIANYI公司的组织架构可以看做一棵有根多叉树。也就是说,在编号为1~N的所有N名员工中,除了最高管理者(编号为1)以外,每个员工都有且仅有一位直接上司;最高管理者则是这棵

2015-04-18 16:39:24 863

原创 RQNOJ29 愚蠢的组合数、题解、

题目:[stupid]愚蠢的组合数 问题编号:29 题目描述 背景 最近老师教了狗狗怎么算组合数,狗狗又想到了一个问题。。。 描述 狗狗定义C(N,K)表示从N个元素中不重复地选取K个元素的方案数。 狗狗想知道的是C(N,K)的奇偶性。 当然,这个整天都老是用竖式算123456789*987654321=?的人不会让你那么让自己那么轻松,它说:“N和K都可能相当大。”

2015-04-18 16:36:07 731

空空如也

空空如也

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

TA关注的人

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