自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (2)
  • 收藏
  • 关注

原创 炉石传说【一年记录】

2015-04-02 19:40:07 593

原创 du熊学斐波那契I

du熊学斐波那契ITime Limit : 2000/1000ms (C/Other)   Memory Limit : 65535/32768K (C/Other)本次组委会推荐使用C、C++Problem Descriptiondu熊对数学一直都非常感兴趣。最近在学习斐波那契数列的它,向你展示了一个数字串,它称之为“斐波那契”串: 1123581

2012-12-12 00:04:20 878 2

原创 ZOJ 3426 & HDU 3719 Snooker Referee

有关斯诺克的模拟题。1、不犯规的情况下,打进几颗红球加几分2、犯规的情况下,打进的红球不摆回球桌上,不加分3、犯规的情况下,打进的彩球都要摆回球桌上,不加分4、犯规的情况下,对手加的分数是这轮击球者所要击打的球的分数与打进的球的分数以及4取最大的值。5、一些细节问题,自己需要注意。#include #include struct Snooker{ char name

2012-08-14 00:08:02 830

原创 ZOJ 3472 Play Bridge

模拟题。几个需要注意的地方:1、第一轮出牌的是叫牌的下家2、每轮赢的人下轮第一个出牌3、每轮和判断谁赢,如果有主牌的话,主牌大的赢,否则就是和先出的那张牌同花色之间比较大的赢(其他不同花色的牌为垫牌,垫牌输)。#include #include #include using namespace std;struct node{ int card[14]; bool

2012-08-08 10:45:55 538

转载 快速判断一个数能否被1、2、3、4、5、6、7、8、9、10、11、12、13、17、19、23等整除的规律总结

(1) 1与0的特性: 1是任何整数的约数,即对于任何整数a,总有1|a. 0是任何非零整数的倍数,a≠0,a为整数,则a|0. (2) 若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 (3) 若一个整数的数字和能被3整除,则这个整数能被3整除。 (4) 若一个整数的末尾两位数能被4整除,则这个数能被4整除。 (5) 若一个整数的末位是0或5,则这个数能

2012-08-03 08:34:54 4307 1

原创 FOJ 2071 lucky number

定义了lucky number.就是一个数的任意从左到右选三个数字a,b,c。若ab>c或者a,b,c三者中存在相同数字,则不是lucky number。可以证明大于9999的数中不存在lucky number.然后就是暴力判断1~9999的每个数是不是lucky number.(写的比较挫。)数组cnt[]存放,1~N的lucky number的总个数.#include

2011-12-12 00:52:38 610

原创 FOJ 1400 平方数

http://acm.fzu.edu.cn/problem.php?pid=1400这题可以暴力(R - L)的长度,因为 1、1其次,本题要用到异或运算,用1和0表示某个因子出现个数是基数次还是偶数次。一开始用MAP超时,后来改用字典树过了。(没暴力的快,因为(R-L)的值不会太小)。#include using namespace std;struct node{

2011-12-10 18:03:04 451

原创 FOJ 1879 Air Strike

题目大意:有很多座建筑([ 1 , 10^8 ]),摧毁n座(可重复),m次查询,查询现在第i座的原先编号。 思路:考虑到1对其进行二分查找。复杂度o(nlogn)。 #include #include using namespace std;#define MAXN 50010int x[MAXN];struct node{ int l

2011-11-18 00:22:53 404

原创 FOJ 1893 内存管理

ono。纠结一下午。大一的校赛题,大三才解决,而且算是做了操作系统的作业。嘿嘿,偷懒下。过段时间,贴上代码。最佳适配算法,要选择足够大的而且最左边的。。。#include struct node{ bool state; short id; short pre,next;}m[110];void Initial(){ int i; for(i=0;i<

2011-10-31 17:43:13 376

原创 FOJ 1688 Binary land

求最短通关的按键次数。马上可以想到是广搜。。。  简单题。注意的地方是,两者水平上移动方向相反。#include #include #include using namespace std;int dir[4][2] = { -1, 0, 0, 1, 1, 0

2011-10-10 08:56:26 987

原创 1656 How many different numbers

呜呜,这题做了好久啊。4个月吧。纠结。以前,自己写的代码和百度来的代码都超时。纠结。今天,看了下一道类似题的解题报告,就自己动手写了遍。1A,~\(≧▽≦)/~具体思路:先把N个保存下来,进行离散,然后用就可以用flag记录某个数前面出现的位置,再把询问保存下来,按右

2011-10-02 21:39:58 467

原创 FOJ 1508 Link-up Game (二分图匹配)

和1467 Pick Up Points一模一样。求最大匹配即可。稍微小改下代码就ac了。好的思想是:match数组记录的是匹配的方向。bool find(int fx,int fy){ int x,y,i; for(i=0;i<4;

2011-10-01 10:10:42 366

转载 [网络流]最大权闭合图

以下内容参考 胡伯涛 《最小割模型在信息学竞赛中的应用》,感谢他为我们提供这么优秀的论文。看不懂以上论文的同学,可以试试看一下以下内容,本文无大量的数学符号,方便阅读理解。首先我们由一道题来引入,见 [线性规划与网络流24题 2] 太空飞行计划问题 。这道题中

2011-09-05 10:02:08 479

转载 SPFA算法 学习。

SPFA算法:求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm,是Bellman-Ford算法0(VE)的一个优化,期望的时间复杂度O(2E),E为图的边数,所以SPFA用在稀疏图上的效果会更加明显。SPFA对Bellman-For

2011-08-14 10:14:00 731

原创 FZU 1712 最大树高

这题做了好久,一开始的时候按照网上别人的思路写,结果超时。因此,纠结了好久。今天,发现他居然遍历了4次,时间复杂度是4 * O(n)。 囧。这题,可以广搜搞定,不过写了那么多超时的深搜,我还是用深搜。#include using namespac

2011-08-13 15:34:11 566

原创 POJ 1101 The Game (广搜)

广搜。和以前的一题一样,如果到某个点,判断这点是否走过,或者当前走法走到这点所拐方向的次数少于先前走法。那么更新这点所需的拐方向数。并将这点推入队列。#include using namespace std;#define MAXN 110int sx,sy,ex,ey,fi,la,n,m;char map[MAXN][MAXN],ch[MAXN];int cn

2011-08-08 09:57:36 482

原创 HDU 3911 Black And White

有原题的题。自己写的时候,一直超时。悲催啊。然后,上网看了下别人的解题报告,发现需要一个标记,用来表示是否需要翻转。这样,就不用每次都更新到连续的区间。(避免复杂度变高)果断,给力啊。#include using namespac

2011-08-07 12:55:29 556

原创 uva143 - Orchard Trees

在一个变长为100的矩形果园中均匀载着果树,果树坐标为(i,j), 1先算出边界,然后暴力枚举。#include #include #include using namespace std;#define min(a,b) ((a)<(b)?(a):(b))#defi

2011-07-20 11:59:33 713

原创 FOJ 1750 Hospital Location

注意到n果断,暴力搜索即可。以每个点为根,深搜建树,同时计算出路程。 又水了一题,/(^o^)/代码看起来好挫啊。=。=#include using namespace std;int n,cnt;struct node{ int p; int fi; int link[3];}tree[110];bool flag[110];void DFS(int c,int num){ int i; cnt+=c*tree[num].p; for(i

2011-05-26 09:12:00 585

原创 FZU 2030 括号问题

<br />福州大学第八届程序设计竞赛<br />校赛的时候是用深搜做的,当时也没想到能做出来,还兴奋了下。(~ o ~)~zZ<br /> <br />今晚,灵子教我可以用DP解决。 好奇,就偷看了下他代码。<br /> <br />#include <iostream>using namespace std;int f[20][20],i,j,len;char ch[20];int main(){ while(scanf("%s",&ch)!=EOF) { me

2011-05-02 23:01:00 1094 7

原创 POJ 1088 滑雪

<br />传说中很经典的一题。<br /> <br />关键就是记录下已经搜索过的点。可以节省很多的时间。<br /> <br />学习了。<br /> <br />好久没做题了。。。<br /> <br />#include <iostream>using namespace std;int map[105][105];int step[105][105];int dir[4][2] = {-1,0,1,0,0,-1,0,1};int r,c;int DFS(int x,int

2011-03-26 22:33:00 398

原创 FOJ 1968 Twinkling lights III

<br />线段树,嗯,嗯。<br /> <br />本题有5个操作,并且对象都是区间:1. 开灯 2.关灯 3.把开的关,关的打开 4.询问区间有几盏灯亮着 5.询问区间最多连续亮着几盏灯<br /> <br />结构体里的cov是否完全覆盖,-1表示未完全覆盖,0表示区间的灯都暗着,1表示区间灯都亮着。<br /> <br />#include <iostream>using namespace std;#define MAX 2000000#define LL(x) (x<<1)#de

2011-02-15 21:37:00 460

原创 Foj 1771 Counting in English

<br />水题。嗯。贴上我写的最挫代码。<br /> <br />#include <stdio.h>#include <string.h>const int one = 1;const int two = 2;const int three = 3;const int four = 4;const int five = 5;const int six = 6;const int seven = 7;const int eight = 8;const int nin

2011-02-13 15:23:00 415

原创 HDU 1251 统计难题 字典树

<br />以前也看过字典树。当初貌似懂了,结果忘了,所以又打算重新学学。<br /> <br />网上找了些代码,大都是用指针实现的,本人看到指针就头大。<br /> <br />郁闷啊。<br /> <br />所以,自己写了个没用指针实现的。<br /> <br />#include <iostream>using namespace std;struct node{ int cnt;//前缀出现次数 int acnt;//单词出现次数 bool ans;//是否

2011-02-03 14:53:00 356

原创 字典树。。

又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。

2011-02-03 14:01:00 278

原创 HDU 3736 CD

<br />汗,一开始把mililion认为是1亿。结果连数组都不敢开。<br /> <br />水题。算是队列的应用吧。<br /> <br />#include <iostream>using namespace std;int a[1000010];int b[1000010];int main(){ int n,m,fa,fb,i,cnt; while(scanf("%d%d",&n,&m)&&(n||m)) { for(i=0;i

2011-02-01 20:11:00 897

原创 PKU 2528 Mayor's posters

<br />本题poster的宽度很大,而poster的数量很小。<br /> <br />所以,离散化,保证不会TLE。<br /> <br />离散完之后最多有20000个点。所以树的结构数组要开80000。<br /> <br />一开始,由于只会建区间树,导致很多细节处理的不清楚,百度了别人代码,发现不太容易懂。<br /> <br />最后,学了下怎么建立点树。然后,果断A了。<br /> <br />//呜呜,不会点树的悲剧,做了3个小时,还好思路都对,算是一种安慰吧。。//表示,有代码中的

2011-02-01 15:27:00 405

原创 PKU 2777 Count Color

<br />题目大意就是不断更新区间[i,j]的颜色,不断询问区间[i,j]有几种颜色。<br /> <br />在insert函数中一个地方写错了,导致WA了好几次。<br /> <br />还有就是,写着写着忘记判断A是否大于B了。无奈。ORZ。。ORZ。。<br /> <br />#include <iostream>#define MAX 100000using namespace std;struct node{ int l,r,mid,cov;//cov=-1,表示未被覆盖}

2011-01-31 19:49:00 373

原创 FOJ 1962 新击鼓传花游戏

嗯,线段树的操作。点的增加,删除,和查询。有意思的是,增加和查询的是第K小项。O(∩_∩)O~ 写了好久,貌似发呆了一大半时间。剩下的一大半时间,跑去踢球了。ORZ。ORZ。。我爱走神,偶也。贴个,我是如何找到第k小元素的函数。int query(int num,int k){ if(k==tree[num].r-tree[num].l) return tree[num].l+k-1; if(k

2011-01-31 15:35:00 658

原创 FOJ 1608 Huge Mission

线段树,做了两个多小时。我错了。受到hdu1698 Just a Hook的启发,就开始试着解决这题。建议先做完hdu1698,再做这题。题目大意就是说,给你M个子区间,和这个区间的效率。问你总区间的最大效率是多少。#include #define MAX 50000using namespace std;struct node{ int l,r,mid,val; bool cov;}tree[MAX*4];void build(int l,int r,int num){

2011-01-30 22:59:00 609

原创 HDU 1166 敌兵布阵

我是用线段树解决的,也可以用树状数组解决。以前看别人的代码写过一个有离散化的线段树,现在印象模糊了,就在拾起来线段树。build()建树函数insert()修改cnt的函数,递归时的每一段都包含该段,所以他们的cnt都一起改变。query()查询函数,一开始直接返回的是区间[i,i+1]的值。完全没抛弃了线段树的精髓。ORZ。。#include #define MAX 50000using namespace std;struct node{ int l,r,mid,cnt;}tree[

2011-01-29 20:10:00 349

原创 FOJ 1073 Raiders of the Lost Ark

搜索题,广搜。滴答答。写的蛮顺畅的,挺满意的。‘S’是出发的地方。‘X’是结束的地方。‘W’不能走。‘B’可以走。dir数组存移动方式。非常裸的BFS。。。。以下是代码。#include using namespace std;int fi,la,sx,sy,ex,ey,n,m;int dir[8][2]={-1,0,1,0,0,-1,0,1,-2,-2,-2,2,2,-2,2,2};char map[20][20];struct queue{ int x; int y; i

2011-01-28 19:42:00 486

原创 FOJ 1046 Tempter of the Bone

<br />搜索题。深搜,还了解到回溯。<br /> <br />里面有两个剪枝,呼呼。曼哈顿距离剪枝,和奇偶性剪枝。<br /> <br />奇偶剪枝可以看看这篇博文:http://blog.csdn.net/lovelyloulou/archive/2009/06/07/4248584.aspx<br /> <br />#include <iostream>using namespace std;int n,m,t,flag,sx,sy,ex,ey;int dir[4][2]={0,-1,0

2011-01-28 00:29:00 407

原创 FOJ 1542 Speed Reading

嗯,我这应该算是递归吧。呼呼。不容易啊。能写出来还是蛮高兴的。题目的意思就是算出看这本书所花费的时间。分为一口气能看完,和不能看完两种。两种里面还有恰好看完和不是恰好看完之分。#include using namespace std;int s,t,r;int time(int n){ if(s*t>=n) { if(n%s==0) return n/s; else return n/s+1; } else { if(n%(s*t)==0

2011-01-27 22:17:00 357

原创 FOJ 1467 Pick Up Points

参考了别人的代码。给力啊。#include using namespace std;bool map[110][110];bool used[110][110];int match[110][110];int dir[4][2]={-1,0,1,0,0,-1,0,1};//方向,学习了。bool find(int fx,int fy){ int x,y,i; for(i=0;i

2011-01-23 00:07:00 452

原创 FOJ 1684 迷宫救美

广搜。嗯,嗯。关键点:把内力大于原先内力的数据入队。不然会推入很多没用的数据,导致队列要开的很大。因此,RE了好几次,爆内存了好几次。无奈。  做题前应该考虑清楚。还有就是,步数cnt,应该同时进入队列。还有就是,建图的时候需要注意,啊,啊,啊。我把边界置为‘*’。因为建图今天WA了好几次。郁闷。代码:#include using namespace std;struct que{ int x; int y; int cnt;}coo[500];char map[25][25];

2011-01-12 14:27:00 717 2

原创 FOJ 1845 Look Up

题目大意:给你一组数据,要你求出第i个数的右边第一个比他大的数的下标,若此数不存在下标为0。从右往左来,用数组来模拟实现一个堆栈。样例:给6个数     326112。先把第i个数和栈顶元素比较,如果大于等于栈顶元素的话,将栈顶元素出栈。一直循环,直到第i个数小于栈顶元素,第i个数的右边第一个比他大的数的下标就栈顶元素的下标,接着把栈顶元素和下标入栈。开了个high数组,high[0]=1000010;这样便于算法实现。代码如下:#include using namespace st

2011-01-12 01:11:00 476

原创 Foj 1715 Ball and Box

题目大意:给你N个不同的球和R个不同的盒子,要你放球,且盒子不能为空。问有几种放法。先考虑球的选择方法,是第二类stirling数,然后盒子排序R!。两者相乘即为答案。离散数学里有这内容,讲的很清楚,网上应该也有。附上代码。#include using namespace std;//放球模型,第二类stirling数,球有区别,盒有区别,无空盒,离散P282int stirling[11][11];int main(){ int n,r,i,j,cnt; stirling[1]

2011-01-12 00:40:00 469

原创 FOJ 1018 Maximal Sum

本题的中文描述:给定一个由N*N*N 个整数组成的立方体,定义其和为N*N*N个数的和。现在,给你一个N*N*N 个整数组成的立方体,请你从中找出一个和最大的子长方体(可与给定的立方体相同)。 例如,对于立方体: 0 -1 3 -5 7 4 -8 9 1 -1 -3 -1 2 -1 5 0 -1 3 3 1 -1 1 3 2 1 -2 1 其和最大的子长方体为: 7 4 9 1 -1 5 -1 3 3 2 -2 1 它的和为31。本题是三维的情况,二维情况为求最大子矩阵问题,一维的情况为最大子段和问题。。。

2011-01-08 13:59:00 680

原创 FOJ 1518 Checkers

题目大意:就是给你两种颜色的跳珠,置于一个直线上,中间隔着一个空。求出交换两种颜色珠子需要多少步。自己动手试试的话可以发现n为3时需要3步,n为5时是8步,n为7时是15步(我模拟的时候是16步,ORZ)。可以得出规律,步数为n~3的奇数之和。#include void main(){ int n,cnt; while(~scanf("%d",&n)) { for(cnt=0;n>=3;n-=2) cnt+=n; printf("%d/n",cnt); }} 

2010-12-30 15:36:00 367

易语言5.11完美破解版

易语言5.11完美破解版

2011-11-04

跑跑卡丁车 数据结构

一道数据结构的题目,可以用合并排序求逆序数解决本问题。

2011-01-12

空空如也

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

TA关注的人

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