李景旺的博客

www.jingwangl.com

11853:Paintball

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

2018-08-29 00:32:03

阅读数:37

评论数: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

14. Longest Common Prefix

14. Longest Common Prefix char s[100000]; int min(int a,int b){ return a < b ? a : b; } char* longestCommonPrefix(char** strs, int s...

2018-08-26 23:47:05

阅读数:22

评论数:0

12. Integer to Roman

12. Integer to Roman char s[100]; char* intToRoman(int num) { char rs[] = "MDCLXVI"; int ts[] = { 1000,500,100,50,10,5,1 ...

2018-08-26 23:32:36

阅读数:21

评论数:0

13. Roman to Integer

13. Roman to Integer int romanToInt(char* s) { int dic[26]; dic['I'-'A'] = 1; dic['V'-'A'] = 5; dic['X'-'A'] = 10; dic['L'-'A'...

2018-08-26 22:32:08

阅读数:22

评论数:0

673:Parentheses Balance

Parentheses Balance 之前脑子可能坏掉了。。。简单的栈的应用,要注意的一个地方是一定要用 fgets ,因为如果是空串的话 scanf 会直接读下一行。 #include<bits/stdc++.h> using namespac...

2018-08-21 16:21:32

阅读数:16

评论数:0

10410:Tree Reconstruction

Tree Reconstruction #include<bits/stdc++.h> using namespace std; const int maxn = 1000 + 5; int n,x,root; int pos[maxn]; vect...

2018-08-20 23:12:59

阅读数:29

评论数:0

140:Bandwidth

Bandwidth #include<bits/stdc++.h> using namespace std; const int maxn = 8; const int maxl = 90 + 5; int L,snt,cnt,w; char s[m...

2018-08-18 22:47:48

阅读数:19

评论数:0

129:Krypton Factor

Krypton Factor 注意 && 别写成 & 了。。。 #include<bits/stdc++.h> using namespace std; const int m...

2018-08-17 00:38:42

阅读数:18

评论数:0

524:Prime Ring Problem

Prime Ring Problem #include<bits/stdc++.h> using namespace std; const int maxn = 17; int n; int A[maxn],vis[maxn],p[2*maxn]; ...

2018-08-16 00:12:41

阅读数:17

评论数:0

10976:Fractions Again?!

Fractions Again?! x 要用 long long。 #include<bits/stdc++.h> using namespace std; const int maxk = 10000; int k; long long x[2*...

2018-08-14 12:35:18

阅读数:19

评论数:0

11059:Maximum Product

Maximum Product #include<bits/stdc++.h> using namespace std; const int maxn = 20; int n; int seq[maxn]; int main() { // f...

2018-08-14 11:49:42

阅读数:22

评论数:0

725:Division

Division #include<bits/stdc++.h> using namespace std; const int maxn = 64 + 5; int n,a[30240][6]; int num,kase = 0,cnt = 0; i...

2018-08-14 00:06:43

阅读数:12

评论数:0

806:Spatial Structures

Spatial Structures #include<bits/stdc++.h> using namespace std; const int maxn = 64 + 5; int n,len; int seq[maxn*maxn]; char ...

2018-08-11 23:25:48

阅读数:37

评论数:0

1600:Patrol Robot

Patrol Robot 这个题还是DFS,不过每个状态除了记录位置之外,还要记录剩余穿越次数,这样一来就变成了三维DFS。对于值为1的点如果剩余穿越次数大于0且该状态未遍历过的话也可以访问。像这种四个方向的话用常量数组比较方便,没必要搞个二重循环,容易出bug。 #include&...

2018-08-10 00:56:31

阅读数:18

评论数:0

439:Knight Moves

Knight Moves BFS即可,字符串数组 size 定义成了 2 导致输入一直错误,应该是无法存入'\0' 引起的,待会儿再深究。 #include<bits/stdc++.h> using namespace std; const int...

2018-08-09 23:10:24

阅读数:13

评论数:0

712:S-Trees

S-Trees #include<bits/stdc++.h> using namespace std; const int maxn = 7; int n,m,t,cnt = 0; char s[2]; int a[maxn]; char b[ma...

2018-08-09 22:11:05

阅读数:19

评论数:0

536:Tree Recovery

Tree Recovery #include<bits/stdc++.h> using namespace std; const int maxn = 30; struct node{ char c; struct node* l =...

2018-08-08 23:52:49

阅读数:21

评论数:0

12171:Sculpture

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

2018-08-07 23:54:36

阅读数:22

评论数:0

10562:Undraw the Trees

Undraw the Trees 这题没啥说的,利用DFS进行先序遍历即可,注意 node 可以不是字母,然后 puts() 默认换行的,太久没用都忘了。。 #include<bits/stdc++.h> using namespace std; ...

2018-08-06 23:37:25

阅读数:15

评论数:0

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