Skip to content

Commit 6717756

Browse files
authored
Merge pull request NASU41#34 from suisen-cp/maxflow
(Lazy)SegTree: toString
2 parents 24160d8 + 2844461 commit 6717756

2 files changed

Lines changed: 60 additions & 0 deletions

File tree

‎LazySegTree/LazySegTree.java‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,4 +236,34 @@ private void inclusiveRangeCheck(int p) {
236236
);
237237
}
238238
}
239+
240+
// **************** DEBUG **************** //
241+
242+
private int indent = 6;
243+
244+
public void setIndent(int newIndent) {
245+
this.indent = newIndent;
246+
}
247+
248+
@Override
249+
public String toString() {
250+
return toString(1, 0);
251+
}
252+
253+
private String toString(int k, int sp) {
254+
if (k >= N) return indent(sp) + Dat[k];
255+
String s = "";
256+
s += toString(k << 1 | 1, sp + indent);
257+
s += "\n";
258+
s += indent(sp) + Dat[k] + "/" + Laz[k];
259+
s += "\n";
260+
s += toString(k << 1 | 0, sp + indent);
261+
return s;
262+
}
263+
264+
private static String indent(int n) {
265+
StringBuilder sb = new StringBuilder();
266+
while (n --> 0) sb.append(' ');
267+
return sb.toString();
268+
}
239269
}

‎SegTree/SegTree.java‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,34 @@ private void inclusiveRangeCheck(int p) {
140140
);
141141
}
142142
}
143+
144+
// **************** DEBUG **************** //
145+
146+
private int indent = 6;
147+
148+
public void setIndent(int newIndent) {
149+
this.indent = newIndent;
150+
}
151+
152+
@Override
153+
public String toString() {
154+
return toString(1, 0);
155+
}
156+
157+
private String toString(int k, int sp) {
158+
if (k >= N) return indent(sp) + Dat[k];
159+
String s = "";
160+
s += toString(k << 1 | 1, sp + indent);
161+
s += "\n";
162+
s += indent(sp) + Dat[k];
163+
s += "\n";
164+
s += toString(k << 1 | 0, sp + indent);
165+
return s;
166+
}
167+
168+
private static String indent(int n) {
169+
StringBuilder sb = new StringBuilder();
170+
while (n --> 0) sb.append(' ');
171+
return sb.toString();
172+
}
143173
}

0 commit comments

Comments
 (0)