题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1513 题意:三维空间,有一些立方体在垂直下落.立方体的左下角坐标(x,y)以及长宽高d,s,w.A落在B上时将停止下落(即使A只有一小块跟B重合就算A会落在B上).求最后最大的高度. 思路:每次覆盖时找到区域最大值,加上当前立方体的高度. int xL,xR,yL,yR; int h; int n,m; struct Seg { int f[N<<1],s[N<<1…
1511: [POI2006]OKR-Periods of Words Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 351 Solved: 220[Submit][Status][Discuss] Description 一个串是有限个小写字符的序列,特别的,一个空序列也可以是一个串. 一个串P是串A的前缀, 当且仅当存在串B, 使得 A = PB. 如果 P A 并且 P 不是一个空串,那么我们说 P 是A的一个proper前缀. 定义Q 是A…
题意 给\(n(1 \le n \le 20000)\)个立方体\((x, y, z)\),依次落下.求所有立方体落下完了以后最高的高度. 分析 平面求最大值,平面更新最大值. 题解 二维线段树走起,由于不好自下往上更新而且发现更新的时候值是越来越大,所以我们可以在每一次更新的时候直接在走过的路径上更新一下最大值(or第二维线段树)即可. #include <bits/stdc++.h> using namespace std; inline int getint() { int x=0, c…