自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aozil_yang的博客

点滴记录,记录成长,帮助你我!

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

转载 翻硬币问题

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。作者:曾加链接:http://www.zhihu.com/question/26570175/answer/33312310来源:知乎【有 n 个硬币,一开始全部正面朝上,每次可以翻转 k 个硬币( k 小于 n ),那么至少要 p 次翻转,才能让所有硬币反面朝上,求 p 的值】高能预警:本题所

2016-02-28 08:36:11 2564

原创 习题 6-5 UVA 1600 Patrol Robot 巡逻的机器人

和普通的bfs基本一样,只不过多了一个可以穿越的障碍的条件!思路:建立一个三维数组vis表示是否访问过,第三维表示穿越的障碍数量。结构体中包括坐标,步数,障碍数。教训:之前错一次,因为开成了二维数组,但仔细想想的话,开二维数组表示是否访问,可能会被其他同样的条件给覆盖掉!代码如下:#include#include#include#includeusing

2016-02-27 15:58:57 569

原创 UVA 11806 Cheerleaders 拉拉队

虽然是个例题 学到了很多东西!设全集是S 。第一行没有石子是A最后一行没有石子是B第一列没有石子是C最后一列没有石子是D。则解就是在全集S中,但不再A、B、C、D任何一个子集合中!技巧:用二进制表示状态:A 1000 ---8B 0100 ---4C 0010 ---2D 0001 ---1知识:百度一下集合论 有一个定理:A U B =

2016-02-26 00:19:15 602

原创 LA 3644 X-Plosives 易爆物

题目大意:一个化合物包含两个元素,一旦发现K个化合物中恰有K种元素,则会爆炸,应该禁止上车!问禁止上车化合物的数量!思路:类似于单词接龙,把元素看成顶点,化合物看成边,存在环的时候是危险的,可以在输入的时候判断,就是x,y在同一个集合中时,就禁止上车!注意:注意输入格式  多组数据!#includeconst int maxn = 100000 + 10;int pa[

2016-02-23 13:43:39 378

原创 例题6-16 UVA 10129 Play On Words单词

大体题意:给你n个单词,问是否可以首尾相连,就是单词接龙!思路:看了下LRJ写的,用到了并查集判断有向图是否连通。单词可以根据首字母,尾字母进行分类集合,最多26个集合!字母看作结点,单词看成有向边。有解的情况:1.必须连通2.出度不等于入度的只能有0个或者2个!有两个的情况还必须满足,一个出度比入度大1 (起点),入度比出度大1(终点)!可以用lef表示剩余的

2016-02-23 00:09:29 521

原创 例题 6-15 UVA 10305 Ordering Tasks 给任务排序

简单记录下 书中的方法:建立一个c数组表示访问的状态,-1为正在访问,1表示访问完毕,0表示未访问。G[u][v]表示u 然后遍历U,  对u进行dfs,dfs的方式是从1到n在来一遍,依次进行。之所以数组倒着写,是因为输入的肯定是dfs最深的,最深的也是最大的,要放在面!#include#includeconst int maxn = 100 + 10;int c[ma

2016-02-22 18:46:22 571

原创 习题6-3 UVA 536 Tree Recovery 二叉树重建

这个题类似于例题6-8给你先序遍历,中序遍历,求后序遍历,直接模仿例题6-8写就行了写个build函数。先序遍历第一个字符就是根,然后再中序遍历中找到根,不断的递归,递归完成输出即可!先build 左,在build 右,这样就默认成了后序遍历 输出即可!代码如下:#include#includeconst int maxn = 30;char s1[maxn],s

2016-02-20 20:30:40 492

原创 习题 6-4 UVA 439 Knight Moves 骑士的移动

题意很简单:问一个马从起点走到终点最短步数。思路:简单的bfs,输入得到起点终点,直接用队列走就可以了!#include#includeusing namespace std;int sx,sy,gx,gy;const int INF = 1e8;int idx[10][10];const int dx[] = {-1,-2,-2,-1,1,2,2,1};const

2016-02-20 13:26:41 496

原创 例题6-13 UVA 1103 Ancient Messages 古老象形符号

简单说下题意:给你一个H行W列的字符矩阵,他们是压缩后的十六进制矩阵,把每一个字符变成四个二进制数后,1代表黑像素,0代表白像素,问这些像素组成的图案是题目6种的哪一种!题意有几个需要注意的地方:书中分析说数白洞个数!但有可能多个图案放在一起,如何分开呢,那就是上下左右不相互有公共边,斜着就不算了!思路:1.把他们存到int二维数组里面,1写成-1,0还是0,然后先第一

2016-02-20 12:51:07 589

原创 习题10-3 UVA 1643 Angle and Squares 角度和正方形

大体题意:给你一个第一象限的一个角,在给你n个正方形的边长,问这个角和正方形围成面积的最大值!样例就给了一个一个正方形,完全不好找规律,但求出样例后发现,发现正方形和y轴,x轴是平行的。就可以猜测,n个正方形的摆放也一定是与y轴,x轴平行的,剩下的就是正方形之间如何摆放了,很显然是他们对角线共线的时候,,(其实看了学长的博客知道的)然后就是求可以了,求解有多种办法,在这里给出两

2016-02-13 17:18:28 774

原创 例题8-13 UVA 11093 Just Finish it up 环形跑道

大体题意不说了,书上说的很清楚!思路:1.首先先从1开始模拟检测,当发现i = p时,sum  直到发现结束位置比开始位置小的时候,那就说明无解应该输出-1.因为一旦出现结束位置比开始位置小,说明1到 开始位置都不可以,开始位置到结束位置都不可以,而这两个的并集就是全集,所以1到n没有合适的位置!否则就输出那个开始位置!代码如下:#includecon

2016-02-13 16:56:56 436

原创 习题6-9 UVA 127 纸牌游戏

一道学校OJ做的题目,当时卡了两三天。简单说下题意:52叠扑克,从左到右发现一个牌与他的前面3张或者1张 花色或者点数相同时,就把这张牌放到那上面,参与比较的只能是每一叠的第一章!思路:我建立了vector 套了一个stack  stack里面放了struct,先输入。1.在输入方面,最好写个输入函数,真的很方便,在输入方面类似于紫书的例题6-7  UVA 122,写个输入函数

2016-02-13 16:49:46 423

原创 习题10-1 11040 Add bricks in the wall 砌砖

因为在老家网络不好的原因,做完了来不及发记录博客,拖了好多!很有意思的一道题目,计算所有石头的数值。很简单,做完之后才发现,就只有9行!还以为有很多行!那就有两种方法:一种就全都算出来,打表输出即可!另外就是循环计算值了!1.我的思路是扫描3,5,7,9..行。2.每一行扫2,4,6,8,10.。。。个砖头,从而计算上一行的相邻的两个值!代码如下:#incl

2016-02-13 16:41:02 437

原创 Codeforces Round #219 (Div. 2)--C. Counting Kangaroos is Fun

C. Counting Kangaroos is Funtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere are n kangaroos with pock

2016-02-11 22:09:08 503

原创 ZOJ 2674 Strange Limit

Strange LimitTime Limit: 5 Seconds      Memory Limit: 32768 KB Consider sequence an defined with the following recurrence:a1= p,an+1= pan for n >= 1,where p is some prime number. L

2016-02-11 21:45:33 463

原创 例题8-11 10954 - Add All全部相加

很简单一道题目。大体思路就是建立一个优先队列,数值小的优先级大,每次取出后,sum += a + b,总共操作n-1次!#include#includeusing namespace std;typedef long long ll;int main(){ ll k,n; while(scanf("%lld",&n) == 1 && n){ pri

2016-02-11 18:44:51 377

原创 例题6-7 UVA 122 - Trees on the level 树的层次遍历

因为过年,这个题看了比较长的时间,但是看懂了后,感觉题目解析非常巧妙这篇博客就记录下自己学到的东西吧!1。在输入方面,直接开了一个bool read_input()函数,这样在输入EOF时,就返回false,所以可以在main函数里直接这样写:while(read_input()){...}。2。在这个read_input 函数里面,用到了sscanf (&s[1]),这样就把字符串从

2016-02-11 17:25:29 771

原创 Educational Codeforces Round 7--D. Optimal Number Permutation

D. Optimal Number Permutationtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou have array a that contains

2016-02-11 15:45:46 415

原创 Educational Codeforces Round 7--C. Not Equal on a Segment

C. Not Equal on a Segmenttime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given array a with n integ

2016-02-11 14:30:40 619

原创 Educational Codeforces Round 7--B. The Time

B. The Timetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given the current time in 24-hour format

2016-02-11 14:22:49 377

原创 Educational Codeforces Round 7--A. Infinite Sequence

A. Infinite Sequencetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputConsider the infinite sequence of integ

2016-02-11 14:17:58 99

原创 例题6-4 UVA 11988 Broken Keyboard (a.k.a. Beiju Text) 破损的键盘

一道很有趣的题目:就是把 [ 转换成HOME,把 ] 转换成end键最后输出就行了。例题中用了链表,简单记录下这个题的链表。也让我明白了链表有多种多样,自己只局限于结构体的链表了!用cur记录光标位置,last表示最后一个,用next数组记录各个字符连接到下个是哪个字符。最后输出next数组的序号即可!#include#includeusing namespac

2016-02-09 01:33:30 578 1

原创 例题6-3 UVA 442 Martrix Chain Multiplication矩阵链乘

这个题感觉类似于找BUG那个题,这个题给你很多运算式子,求解式子的值,主要就是括号问题。看了例题分析:感觉方法非常巧妙:利用了栈stack,:碰到一个字母就入栈,碰到一个右括号“ )”,就出栈两个元素,计算后记录结果,并把结果再次入栈,以此类推,,好巧妙!也给我一个启示,像这种类似多括号问题,尽量试试stack分析解析式!!奥 结构体构造函数初始化不能忘,构建新的结构体入栈

2016-02-09 01:28:02 1140

原创 例题6-5 UVA 12657 Boxes in a Line 移动盒子

感觉很好的一道题目。看了很久:用到了双向链表。1。用了两个数组left[maxn],right[maxn]代表当前元素的左边一个或者右边一个,当这个值为0的时候代表不存在!2。对于4号命令,逆转整个序列,并没有真正的逆转,而是用inv 记录 是否逆转,利用了逆转两次等于没有逆转这个道理。逆转只会影响到1命令和2命令,3命令是XY换一下,并不会影响到,所以对与1和2,直接op = 3 -

2016-02-09 01:20:35 435

原创 UVA 11401 Triangle Counting数三角形

大体题意:给你一个数n,求出从1到n数字可以组成三角形的个数。分析:n最大是100W,很明显,这是一道找规律的数学题!先写个程序,让他跑三层循环,写出n n               value3                04                15                36                77        

2016-02-08 09:48:27 410

原创 习题10-39 UVA 11186 Circum Triangle圆周上的三角形

题目问题描述的很简单:不过超时了好几次,超时都是因为用了三重循环。其实在网上看到了一个n^2的方法来求圆上的三角形。思路:1.先把所有角度排序。枚举所有的两个点,i,j,那么我们能控制的只有Soij,所以只看这个面积,j点右边的有n - j个,算一下得出这n - j个是加Soij,ij中间有j - i + 1个三角形,算一下得出,这个j - i+ 1 个三角形需要减, i右

2016-02-08 00:06:36 383

原创 Codeforces Round #342 (Div. 2)--A. Guest From the Past

A. Guest From the Pasttime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputKolya Gerasimov loves kefir very much

2016-02-07 22:34:26 563

原创 Codeforces Round #342 (Div. 2)--B. War of the Corporations

B. War of the Corporationstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputA long time ago, in a galaxy far

2016-02-07 22:27:05 548

原创 Codeforces Round #342 (Div. 2)--C. K-special Tables

C. K-special Tablestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPeople do many crazy things to stand ou

2016-02-07 22:02:49 450

原创 HDU 5621 KK's Point

KK's PointTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 300    Accepted Submission(s): 103Problem DescriptionOur lovely KK has

2016-02-07 16:11:14 620 3

原创 UVA 120 Stacks of Flapjacks 煎饼

转煎饼。大体题意:从上到下,给你n张饼的大小,你可以倒置某一张饼及其上面的全部的饼,问怎样做,可以使得饼从上到下,按从小到大顺序排序?分析:思路就是书中说的思路:从大到小依次遍历,先看是否在合适的位置,不再的话把他转到最上面,在转到合适位置!注意:1.数字不一定从1开始。2.没有重复元素!代码如下:#include#include#inclu

2016-02-07 16:08:07 504

原创 HDU 5620 KK's Steel

KK's SteelTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 20    Accepted Submission(s): 13Problem DescriptionOur lovely KK has a

2016-02-07 00:01:04 622

原创 POJ 2001 Shortest Prefixes (字典树)

Shortest PrefixesTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 16531 Accepted: 7180DescriptionA prefix of a string is a substring starting at the begi

2016-02-06 10:24:09 376

原创 HDU 1247 Hat’s Words

Hat’s WordsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 11887    Accepted Submission(s): 4235Problem DescriptionA hat’s word

2016-02-05 20:15:57 408

原创 HDU 1671 Phone List (字典树)

Phone ListTime Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 15879    Accepted Submission(s): 5343Problem DescriptionGiven a list o

2016-02-05 12:59:59 309

原创 HDU 1251 统计难题(字典树)

统计难题Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 27783    Accepted Submission(s): 11099Problem DescriptionIgnatius最近遇到一个难题,老

2016-02-05 11:52:10 352

原创 AIM Tech Round (Div. 2)--A. Save Luke

A. Save Luketime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLuke Skywalker got locked up in a rubbish shred

2016-02-05 08:20:27 426

原创 AIM Tech Round (Div. 2)--B. Making a String

B. Making a Stringtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an alphabet consisting of n

2016-02-05 08:17:38 486

原创 Codeforces Round #313 (Div. 2)--C. Gerald's Hexagon

C. Gerald's Hexagontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputGerald got a very curious hexagon for h

2016-02-04 22:05:58 400

原创 HDU 5433 Xiao Ming climbing(BFS)

Xiao Ming climbingTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1227    Accepted Submission(s): 344Problem DescriptionDue to t

2016-02-04 18:15:17 562

空空如也

空空如也

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

TA关注的人

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