李景旺的博客

www.jingwangl.com

11853:Paintball

Paintball 这个题可以看作是图上有很多圆形禁区,如果直接考虑是否可以从左边走到右边似乎有些无从下手,其实可以这样考虑,把整个方形区域看作水面,把禁区看作小岛,如果可以从上边沿着这些小岛走到下边的话,就说明方形区域被禁区整个隔断了,那么就不能从左边走到右边,这样一来DFS即可。(思路来自紫...

2018-08-29 00:32:03

阅读数:36

评论数:0

11. Container With Most Water

11. Container With Most Water 设置两个指针i j ,分别指向首尾两块板,然后向中间移动,那么宽度变小的情况下为了增大面积只有让高度变大,所以每次移动所指板较低的指针,然后计算面积,重复以上过程。 int max(int a,int b){ return ...

2018-08-27 12:30:35

阅读数:34

评论数:0

12171:Sculpture

Sculpture 思路:将三维空间网格化,每个长方体占据的所有单元标记为1。求面积的话,DFS所有的单元,依次检查是上下左右前后六个方向上相邻单元是否为1,若否则是表面,面积加+1。求体积的话,从外面某个单元开始DFS,求出外面值为0的单元的个数,那么总单元个数 - 外部值为0的单元个数 = ...

2018-08-07 23:54:36

阅读数:22

评论数:0

816:Abbott's Revenge

Abbott's Revenge 一些细节要特别注意 #include<bits/stdc++.h> using namespace std; const int maxn = 10; const char* dirs = "NE...

2018-07-31 23:39:16

阅读数:56

评论数:0

1103:Ancient Messages

Ancient Messages数一数就能发现,题目表中的6个符号从左到右依次有1,3,5,4,0,2个洞,各不相同。这样,只需要数一数输入的符号有几个“白洞”,就能准确地知道它是哪个符号了。至于具体实现,我的思路是:先确定一个符号,找到该符号的空洞个数然后将该符号“擦除”,继续确定下一个符号。具...

2018-06-02 23:52:41

阅读数:47

评论数:0

669:The Falling Leaves

The Falling Leaves这道题还是递归,仿照上道题的思路挺容易的,不过看了看书上的代码个人觉得我的代码更简洁,思路更清晰些哈哈。我的思路:开个负下标数组,记录每个位置的权重之和,用 p 记录当前节点位置,那么其左节点位置为 p - 1,右节点位置为 p + 1,依次递归增加相应位置的权...

2018-05-31 13:25:43

阅读数:18

评论数:0

839:Not so Mobile

Not so Mobile 我的思路:可以将天平看做一棵二叉树,二叉树的每个节点要记录其父节点。然后其实就是一个建树的过程,遇到 0 节点就向下延伸,每当一个节点的左右子树确定(其重量也随之确定),就计算其是否平衡,然后一直向上追溯,直到该节点尚未平衡,继续建树,直至整棵树建好,是否平衡也随之确定...

2018-05-31 00:29:22

阅读数:20

评论数:0

679:Dropping Balls

Dropping Balls直接模拟似乎很简单,但是会超时。。。每个小球都会落在根结点上,因此前两个小球必然是一个在左子树,一个在右子树。一般地,只需看小球编号的奇偶性,就能知道它是最终在哪棵子树中。对于那些落入根结点左子树的小球来说,只需知道该小球是第几个落在根的左子树里的,就可以知道它下一步往...

2018-05-28 18:34:13

阅读数:18

评论数:0

1592:Database

Database思路:只枚举c1和c2,然后从上到下扫描各行。每次碰到一个新的行r,把c1,c2两列的内容作为一个二元组存到一个map中。如果map的键值中已经存在这个二元组,该二元组映射到的就是所要求的r1,而当前行就是r2。在主循环之前先做一个预处理——给所有字符串分配一个编号,则整个数据库中...

2018-04-17 23:59:59

阅读数:19

评论数:0

12096:The SetStack Computer

The SetStack Computer为每个不同的集合分配一个唯一的ID,则每个集合都可以表示成所包含元素的ID集合,这样就可以用STL的set<int>来表示了,而整个栈则是一个stack<int>。#i...

2018-04-16 21:45:33

阅读数:35

评论数:0

815:Flooded!

Flooded!思路:题目中说了不需要考虑几个坑是分开的那种情况,所以可以将所有的方格由低到高排序排序,从最低的方格开始灌水,如果可以淹没它,增加淹没面积、海拔高度和淹没个数,减少体积,再接着看下一个方格,否则计算终高度然后 break 即可。刚开始 WA 了,我还以为是浮点数精度的问题,尽可能的...

2018-04-14 22:10:28

阅读数:55

评论数:0

213:Message Decoding

Some message encoding schemes require that an encoded message be sent in two parts. The first part, called the header, contains the characters of the...

2018-04-11 10:17:46

阅读数:8

评论数:0

1339:Ancient Cipher

Ancient CipherTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 36467 Accepted: 11879DescriptionAncient Roman empire had a strong government ...

2018-04-09 10:49:51

阅读数:11

评论数:0

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